@@ -19,6 +19,8 @@ import (
1919 "code.gitea.io/gitea/modules/timeutil"
2020 "code.gitea.io/gitea/modules/web"
2121 "code.gitea.io/gitea/services/auth"
22+ "code.gitea.io/gitea/services/auth/source/db"
23+ "code.gitea.io/gitea/services/auth/source/smtp"
2224 "code.gitea.io/gitea/services/context"
2325 "code.gitea.io/gitea/services/forms"
2426 "code.gitea.io/gitea/services/mailer"
@@ -242,11 +244,24 @@ func DeleteAccount(ctx *context.Context) {
242244 ctx .Data ["PageIsSettingsAccount" ] = true
243245
244246 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 {}):
246261 loadAccountData (ctx )
247262
248263 ctx .RenderWithErr (ctx .Tr ("form.enterred_invalid_password" ), tplSettingsAccount , nil )
249- } else {
264+ default :
250265 ctx .ServerError ("UserSignIn" , err )
251266 }
252267 return
0 commit comments