mirror of
https://github.com/go-gitea/gitea.git
synced 2025-06-10 06:54:38 +02:00
Merge b10dfaeb8b664cec4cd84024c9ed0828eabd4b31 into 0cec4b84e2e2385d33cd19351f8a9e098a29ecc2
This commit is contained in:
commit
68e9968647
@ -831,6 +831,18 @@ type CountUserFilter struct {
|
|||||||
IsActive optional.Option[bool]
|
IsActive optional.Option[bool]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// HasUsers returns true if any user exists in the database.
|
||||||
|
// It performs a much more efficient check than counting all users.
|
||||||
|
func HasUsers(ctx context.Context) (bool, error) {
|
||||||
|
sess := db.GetEngine(ctx)
|
||||||
|
exists, err := sess.Exist(new(User))
|
||||||
|
if err != nil {
|
||||||
|
return false, fmt.Errorf("error checking user existence: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return exists, nil
|
||||||
|
}
|
||||||
|
|
||||||
// CountUsers returns number of users.
|
// CountUsers returns number of users.
|
||||||
func CountUsers(ctx context.Context, opts *CountUserFilter) int64 {
|
func CountUsers(ctx context.Context, opts *CountUserFilter) int64 {
|
||||||
return countUsers(ctx, opts)
|
return countUsers(ctx, opts)
|
||||||
|
@ -421,6 +421,7 @@ remember_me.compromised = The login token is not valid anymore which may indicat
|
|||||||
forgot_password_title= Forgot Password
|
forgot_password_title= Forgot Password
|
||||||
forgot_password = Forgot password?
|
forgot_password = Forgot password?
|
||||||
need_account = Need an account?
|
need_account = Need an account?
|
||||||
|
sign_up_tip = You are registering the first account in the system. Please carefully remember your username and password, as losing this information could cause significant inconvenience later.
|
||||||
sign_up_now = Register now.
|
sign_up_now = Register now.
|
||||||
sign_up_successful = Account was successfully created. Welcome!
|
sign_up_successful = Account was successfully created. Welcome!
|
||||||
confirmation_mail_sent_prompt_ex = A new confirmation email has been sent to <b>%s</b>. Please check your inbox within the next %s to complete the registration process. If your registration email address is incorrect, you can sign in again and change it.
|
confirmation_mail_sent_prompt_ex = A new confirmation email has been sent to <b>%s</b>. Please check your inbox within the next %s to complete the registration process. If your registration email address is incorrect, you can sign in again and change it.
|
||||||
|
@ -607,5 +607,7 @@ func SubmitInstall(ctx *context.Context) {
|
|||||||
// InstallDone shows the "post-install" page, makes it easier to develop the page.
|
// InstallDone shows the "post-install" page, makes it easier to develop the page.
|
||||||
// The name is not called as "PostInstall" to avoid misinterpretation as a handler for "POST /install"
|
// The name is not called as "PostInstall" to avoid misinterpretation as a handler for "POST /install"
|
||||||
func InstallDone(ctx *context.Context) { //nolint
|
func InstallDone(ctx *context.Context) { //nolint
|
||||||
|
hasUsers, _ := user_model.HasUsers(ctx)
|
||||||
|
ctx.Data["IsAccountCreated"] = hasUsers
|
||||||
ctx.HTML(http.StatusOK, tplPostInstall)
|
ctx.HTML(http.StatusOK, tplPostInstall)
|
||||||
}
|
}
|
||||||
|
@ -424,6 +424,10 @@ func SignUp(ctx *context.Context) {
|
|||||||
|
|
||||||
ctx.Data["SignUpLink"] = setting.AppSubURL + "/user/sign_up"
|
ctx.Data["SignUpLink"] = setting.AppSubURL + "/user/sign_up"
|
||||||
|
|
||||||
|
hasUsers, _ := user_model.HasUsers(ctx)
|
||||||
|
|
||||||
|
ctx.Data["IsFirstTimeRegistration"] = !hasUsers
|
||||||
|
|
||||||
oauth2Providers, err := oauth2.GetOAuth2Providers(ctx, optional.Some(true))
|
oauth2Providers, err := oauth2.GetOAuth2Providers(ctx, optional.Some(true))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ctx.ServerError("UserSignUp", err)
|
ctx.ServerError("UserSignUp", err)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<!-- the "cup" has a handler, so move it a little leftward to make it visually in the center -->
|
<!-- the "cup" has a handler, so move it a little leftward to make it visually in the center -->
|
||||||
<div class="tw-ml-[-30px]"><img width="160" src="{{AssetUrlPrefix}}/img/loading.png" alt aria-hidden="true"></div>
|
<div class="tw-ml-[-30px]"><img width="160" src="{{AssetUrlPrefix}}/img/loading.png" alt aria-hidden="true"></div>
|
||||||
<div class="tw-my-[2em] tw-text-[18px]">
|
<div class="tw-my-[2em] tw-text-[18px]">
|
||||||
<a id="goto-user-login" href="{{AppSubUrl}}/user/login">{{ctx.Locale.Tr "install.installing_desc"}}</a>
|
<a id="goto-signup-or-signin" href="{{AppSubUrl}}{{if .IsAccountCreated}}/user/login{{else}}/user/sign_up{{end}}">{{ctx.Locale.Tr "install.installing_desc"}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -7,6 +7,9 @@
|
|||||||
{{end}}
|
{{end}}
|
||||||
</h4>
|
</h4>
|
||||||
<div class="ui attached segment">
|
<div class="ui attached segment">
|
||||||
|
{{if .IsFirstTimeRegistration}}
|
||||||
|
<p>{{ctx.Locale.Tr "auth.sign_up_tip"}}</p>
|
||||||
|
{{end}}
|
||||||
<form class="ui form" action="{{.SignUpLink}}" method="post">
|
<form class="ui form" action="{{.SignUpLink}}" method="post">
|
||||||
{{.CsrfTokenHtml}}
|
{{.CsrfTokenHtml}}
|
||||||
{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister)}}
|
{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeRegister)}}
|
||||||
|
@ -104,7 +104,7 @@ function initPreInstall() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function initPostInstall() {
|
function initPostInstall() {
|
||||||
const el = document.querySelector('#goto-user-login');
|
const el = document.querySelector('#goto-signup-or-signin');
|
||||||
if (!el) return;
|
if (!el) return;
|
||||||
|
|
||||||
const targetUrl = el.getAttribute('href');
|
const targetUrl = el.getAttribute('href');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user