mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2026-02-03 20:51:07 -05:00
This PR is in preparation of, but independent of, an upcoming suggestion for a feature addition: * The first commit moves a tiny bit of logic into a separate function to prepare for extension of that logic, avoiding duplication * The second commit moves checking for disabled registrations earlier, which, I think, has merits in terms of performance and resilience (hopefully not significant, but who knows?) * The third commit adds simple unit tests for SignUp() and SignUpPost() to avoid the long-ish roundtrip over integration tests * The forth commit introduces `ctx.Data["DisableRegistrationReason"]` for the signup template to use as the reason printed if `.DisableRegistration` to prepare for other reasons to be added Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/10915 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Nils Goroll <nils.goroll@uplex.de> Co-committed-by: Nils Goroll <nils.goroll@uplex.de>
63 lines
2.5 KiB
Go HTML Template
63 lines
2.5 KiB
Go HTML Template
<div class="ui container fluid{{if .LinkAccountMode}} icon{{end}}">
|
|
<h4 class="ui top attached header center">
|
|
{{if .LinkAccountMode}}
|
|
{{ctx.Locale.Tr "auth.oauth_signup_title"}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "sign_up"}}
|
|
{{end}}
|
|
</h4>
|
|
<div class="ui attached segment">
|
|
<form class="ui form" action="{{.SignUpLink}}" method="post">
|
|
{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister)}}
|
|
{{template "base/alert" .}}
|
|
{{end}}
|
|
{{if .DisableRegistration}}
|
|
<p>{{.DisableRegistrationReason}}</p>
|
|
{{else}}
|
|
<div class="required field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
|
|
<label for="user_name">{{ctx.Locale.Tr "username"}}</label>
|
|
<input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required autocorrect="off" autocapitalize="none">
|
|
</div>
|
|
<div class="required field {{if .Err_Email}}error{{end}}">
|
|
<label for="email">{{ctx.Locale.Tr "email"}}</label>
|
|
<input id="email" name="email" type="email" value="{{.email}}" required>
|
|
</div>
|
|
|
|
{{if not .DisablePassword}}
|
|
<div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
|
|
<label for="password">{{ctx.Locale.Tr "password"}}</label>
|
|
<input id="password" name="password" type="password" value="{{.password}}" autocomplete="new-password" required>
|
|
</div>
|
|
<div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister))}}error{{end}}">
|
|
<label for="retype">{{ctx.Locale.Tr "re_type"}}</label>
|
|
<input id="retype" name="retype" type="password" value="{{.retype}}" autocomplete="new-password" required>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "user/auth/captcha" .}}
|
|
|
|
<div class="inline field">
|
|
<button class="ui primary button tw-w-full">
|
|
{{if .LinkAccountMode}}
|
|
{{ctx.Locale.Tr "auth.oauth_signup_submit"}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "auth.create_new_account"}}
|
|
{{end}}
|
|
</button>
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "user/auth/oauth_container" .}}
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{{if not .LinkAccountMode}}
|
|
<div class="ui container fluid">
|
|
<div class="ui attached segment header top tw-flex tw-flex-col tw-items-center">
|
|
<div class="field">
|
|
{{ctx.Locale.Tr "auth.hint_login" (printf "%s/user/login" AppSubUrl)}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|