@@ -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/context"
23
25
"code.gitea.io/gitea/services/forms"
24
26
"code.gitea.io/gitea/services/mailer"
@@ -242,11 +244,24 @@ func DeleteAccount(ctx *context.Context) {
242
244
ctx .Data ["PageIsSettingsAccount" ] = true
243
245
244
246
if _ , _ , err := auth .UserSignIn (ctx , ctx .Doer .Name , ctx .FormString ("password" )); err != nil {
245
- if user_model .IsErrUserNotExist (err ) {
247
+ switch {
248
+ case user_model .IsErrUserNotExist (err ):
249
+ loadAccountData (ctx )
250
+
251
+ ctx .RenderWithErr (ctx .Tr ("form.user_not_exist" ), tplSettingsAccount , nil )
252
+ case errors .Is (err , smtp .ErrUnsupportedLoginType ):
253
+ loadAccountData (ctx )
254
+
255
+ ctx .RenderWithErr (ctx .Tr ("form.unsupported_login_type" ), tplSettingsAccount , nil )
256
+ case errors .As (err , & db.ErrUserPasswordNotSet {}):
257
+ loadAccountData (ctx )
258
+
259
+ ctx .RenderWithErr (ctx .Tr ("form.unset_password" ), tplSettingsAccount , nil )
260
+ case errors .As (err , & db.ErrUserPasswordInvalid {}):
246
261
loadAccountData (ctx )
247
262
248
263
ctx .RenderWithErr (ctx .Tr ("form.enterred_invalid_password" ), tplSettingsAccount , nil )
249
- } else {
264
+ default :
250
265
ctx .ServerError ("UserSignIn" , err )
251
266
}
252
267
return
0 commit comments