users.still_own_repo = This user still owns one or more repositories. Delete or transfer these repositories first.
users.still_has_org = This user is a member of an organization. Remove the user from any organizations first.
users.deletion_success = The user account has been deleted.
+users.reset_2fa = Reset 2FA
emails.email_manage_panel = User Email Management
emails.primary = Primary
}
ctx.Data["Sources"] = sources
+ ctx.Data["TwoFactorEnabled"] = true
+ _, err = models.GetTwoFactorByUID(u.ID)
+ if err != nil {
+ if !models.IsErrTwoFactorNotEnrolled(err) {
+ ctx.InternalServerError(err)
+ return nil
+ }
+ ctx.Data["TwoFactorEnabled"] = false
+ }
+
return u
}
u.HashPassword(form.Password)
}
+ if form.Reset2FA {
+ tf, err := models.GetTwoFactorByUID(u.ID)
+ if err != nil && !models.IsErrTwoFactorNotEnrolled(err) {
+ ctx.InternalServerError(err)
+ return
+ }
+
+ if err = models.DeleteTwoFactorByID(tf.ID, u.ID); err != nil {
+ ctx.InternalServerError(err)
+ return
+ }
+ }
+
u.LoginName = form.LoginName
u.FullName = form.FullName
u.Email = form.Email
</div>
{{end}}
+ {{if .TwoFactorEnabled}}
+ <div class="ui divider"></div>
+ <div class="inline field">
+ <div class="ui checkbox">
+ <label><strong>{{.i18n.Tr "admin.users.reset_2fa"}}</strong></label>
+ <input name="reset_2fa" type="checkbox">
+ </div>
+ </div>
+ {{end}}
+
<div class="ui divider"></div>
<div class="field">