Merge pull request #2823 from zacheryph/feature/local-only-password-reset

Prevent `Forgot Password` for non local users
This commit is contained in:
Unknwon 2016-03-14 16:44:05 -04:00
commit 8966f5635d
2 changed files with 7 additions and 0 deletions

View file

@ -157,6 +157,7 @@ reset_password = Reset Your Password
invalid_code = Sorry, your confirmation code has expired or not valid. invalid_code = Sorry, your confirmation code has expired or not valid.
reset_password_helper = Click here to reset your password reset_password_helper = Click here to reset your password
password_too_short = Password length cannot be less then 6. password_too_short = Password length cannot be less then 6.
non_local_account = Non-local accounts cannot change passwords through Gogs.
[mail] [mail]
activate_account = Please activate your account activate_account = Please activate your account

View file

@ -343,6 +343,12 @@ func ForgotPasswdPost(ctx *context.Context) {
return return
} }
if !u.IsLocal() {
ctx.Data["Err_Email"] = true
ctx.RenderWithErr(ctx.Tr("auth.non_local_account"), FORGOT_PASSWORD, nil)
return
}
if ctx.Cache.IsExist("MailResendLimit_" + u.LowerName) { if ctx.Cache.IsExist("MailResendLimit_" + u.LowerName) {
ctx.Data["ResendLimited"] = true ctx.Data["ResendLimited"] = true
ctx.HTML(200, FORGOT_PASSWORD) ctx.HTML(200, FORGOT_PASSWORD)