mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 08:42:14 +01:00
92d6bca41e
* Ensure that 2fa is checked on reset-password * Apply suggestions from code review Co-Authored-By: Lauris BH <lauris@nix.lv> * Properly manage scratch_code regeneration Co-authored-by: Lauris BH <lauris@nix.lv>
67 lines
2.6 KiB
Cheetah
67 lines
2.6 KiB
Cheetah
{{template "base/head" .}}
|
|
<div class="user reset password">
|
|
<div class="ui middle very relaxed page grid">
|
|
<div class="column">
|
|
<form class="ui form ignore-dirty" action="{{.Link}}" method="post">
|
|
{{.CsrfTokenHtml}}
|
|
<input name="code" type="hidden" value="{{.Code}}">
|
|
<h2 class="ui top attached header">
|
|
{{.i18n.Tr "auth.reset_password"}}
|
|
</h2>
|
|
<div class="ui attached segment">
|
|
{{template "base/alert" .}}
|
|
{{if .user_email }}
|
|
<div class="inline field">
|
|
<label for="user_name">{{.i18n.Tr "email"}}</label>
|
|
<input id="user_name" type="text" value="{{ .user_email }}" disabled>
|
|
</div>
|
|
{{end}}
|
|
{{if .IsResetForm}}
|
|
<div class="required inline field {{if .Err_Password}}error{{end}}">
|
|
<label for="password">{{.i18n.Tr "settings.new_password"}}</label>
|
|
<input id="password" name="password" type="password" value="{{.password}}" autocomplete="off" autofocus required>
|
|
</div>
|
|
{{if not .user_signed_in}}
|
|
<div class="inline field">
|
|
<label></label>
|
|
<div class="ui checkbox">
|
|
<label>{{.i18n.Tr "auth.remember_me"}}</label>
|
|
<input name="remember" type="checkbox">
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{if .has_two_factor}}
|
|
<h4 class="ui dividing header">
|
|
{{.i18n.Tr "twofa"}}
|
|
</h4>
|
|
<div class="ui warning visible message">{{.i18n.Tr "settings.twofa_is_enrolled" | Str2html }}</div>
|
|
{{if .scratch_code}}
|
|
<div class="required inline field {{if .Err_Token}}error{{end}}">
|
|
<label for="token">{{.i18n.Tr "auth.scratch_code"}}</label>
|
|
<input id="token" name="token" type="text" autocomplete="off" autofocus required>
|
|
</div>
|
|
<input type="hidden" name="scratch_code" value="true">
|
|
{{else}}
|
|
<div class="required inline field {{if .Err_Passcode}}error{{end}}">
|
|
<label for="passcode">{{.i18n.Tr "passcode"}}</label>
|
|
<input id="passcode" name="passcode" type="number" autocomplete="off" autofocus required>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
<div class="ui divider"></div>
|
|
<div class="inline field">
|
|
<label></label>
|
|
<button class="ui blue button">{{.i18n.Tr "auth.reset_password_helper"}}</button>
|
|
{{if and .has_two_factor (not .scratch_code)}}
|
|
<a href="{{.Link}}?code={{.Code}}&scratch_code=true">{{.i18n.Tr "auth.use_scratch_code" | Str2html}}</a>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<p class="center">{{.i18n.Tr "auth.invalid_code"}}</p>
|
|
{{end}}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|