@@ -19,6 +19,8 @@ import (
19
19
"code.gitea.io/gitea/modules/timeutil"
20
20
"code.gitea.io/gitea/modules/web"
21
21
"code.gitea.io/gitea/services/auth"
22
+ "code.gitea.io/gitea/services/auth/source/db"
23
+ "code.gitea.io/gitea/services/auth/source/smtp"
22
24
"code.gitea.io/gitea/services/forms"
23
25
"code.gitea.io/gitea/services/mailer"
24
26
"code.gitea.io/gitea/services/user"
@@ -236,11 +238,24 @@ func DeleteAccount(ctx *context.Context) {
236
238
ctx .Data ["PageIsSettingsAccount" ] = true
237
239
238
240
if _ , _ , err := auth .UserSignIn (ctx , ctx .Doer .Name , ctx .FormString ("password" )); err != nil {
239
- if user_model .IsErrUserNotExist (err ) {
241
+ switch {
242
+ case user_model .IsErrUserNotExist (err ):
243
+ loadAccountData (ctx )
244
+
245
+ ctx .RenderWithErr (ctx .Tr ("form.user_not_exist" ), tplSettingsAccount , nil )
246
+ case errors .Is (err , smtp .ErrUnsupportedLoginType ):
247
+ loadAccountData (ctx )
248
+
249
+ ctx .RenderWithErr (ctx .Tr ("form.unsupported_login_type" ), tplSettingsAccount , nil )
250
+ case errors .As (err , & db.ErrUserPasswordNotSet {}):
251
+ loadAccountData (ctx )
252
+
253
+ ctx .RenderWithErr (ctx .Tr ("form.unset_password" ), tplSettingsAccount , nil )
254
+ case errors .As (err , & db.ErrUserPasswordInvalid {}):
240
255
loadAccountData (ctx )
241
256
242
257
ctx .RenderWithErr (ctx .Tr ("form.enterred_invalid_password" ), tplSettingsAccount , nil )
243
- } else {
258
+ default :
244
259
ctx .ServerError ("UserSignIn" , err )
245
260
}
246
261
return
0 commit comments