parent
ffd17924fd
commit
5dd3dd71a0
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,6 +1,43 @@ |
||||
function initInstall() { |
||||
if ($('.install').length == 0) { |
||||
return; |
||||
} |
||||
|
||||
// Database type change detection.
|
||||
$("#db_type").change(function () { |
||||
var db_type = $('#db_type').val(); |
||||
if (db_type === "SQLite3") { |
||||
$('#sql_settings').hide(); |
||||
$('#pgsql_settings').hide(); |
||||
$('#sqlite_settings').show(); |
||||
return; |
||||
} |
||||
|
||||
var mysql_default = '127.0.0.1:3306'; |
||||
var postgres_default = '127.0.0.1:5432'; |
||||
|
||||
$('#sqlite_settings').hide(); |
||||
$('#sql_settings').show(); |
||||
if (db_type === "PostgreSQL") { |
||||
$('#pgsql_settings').show(); |
||||
if ($('#db_host').val() == mysql_default) { |
||||
$('#db_host').val(postgres_default); |
||||
} |
||||
} else { |
||||
$('#pgsql_settings').hide(); |
||||
if ($('#db_host').val() == postgres_default) { |
||||
$('#db_host').val(mysql_default); |
||||
} |
||||
} |
||||
}); |
||||
}; |
||||
|
||||
$(document).ready(function () { |
||||
// Semantic UI modules.
|
||||
$('.dropdown').dropdown({ |
||||
// Semantic UI modules.
|
||||
$('.dropdown').dropdown(); |
||||
$('.slide.up.dropdown').dropdown({ |
||||
transition: 'slide up' |
||||
}); |
||||
|
||||
initInstall(); |
||||
}); |
@ -0,0 +1,8 @@ |
||||
.form { |
||||
.help { |
||||
color: #999999; |
||||
padding-top: .6em; |
||||
padding-bottom: .6em; |
||||
display: inline-block; |
||||
} |
||||
} |
@ -0,0 +1,22 @@ |
||||
.install { |
||||
padding-top: 45px; |
||||
padding-bottom: @footer-margin * 3; |
||||
.attached.header { |
||||
background: #f0f0f0; |
||||
} |
||||
form { |
||||
label { |
||||
text-align: right; |
||||
width: 40% !important; |
||||
} |
||||
input { |
||||
width: 35% !important; |
||||
} |
||||
.field { |
||||
text-align: left; |
||||
.help { |
||||
margin-left: 41%; |
||||
} |
||||
} |
||||
} |
||||
} |
@ -1,3 +1,5 @@ |
||||
@import "_octicons"; |
||||
@import "_base"; |
||||
@import "_home"; |
||||
@import "_install"; |
||||
@import "_form"; |
@ -1,155 +1,80 @@ |
||||
{{template "ng/base/head" .}} |
||||
<div id="setting-wrapper" class="main-wrapper"> |
||||
<div class="container clear"> |
||||
<div class="setting-content"> |
||||
{{template "ng/base/alert" .}} |
||||
<div id="setting-content"> |
||||
<div class="panel panel-radius"> |
||||
<div class="panel-header"> |
||||
<strong>{{.i18n.Tr "install.title"}}</strong> |
||||
</div> |
||||
<form class="form form-align panel-body" id="install-form" action="{{AppSubUrl}}/install" method="post"> |
||||
{{.CsrfTokenHtml}} |
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.requite_db_desc"}}</div> |
||||
<div class="field"> |
||||
<label class="req">{{.i18n.Tr "install.db_type"}}</label> |
||||
<select name="db_type" id="install-database" class="form-control"> |
||||
{{range .DbOptions}} |
||||
<option value="{{.}}"{{if eq $.CurDbOption .}}selected{{end}}>{{.}}</option> |
||||
{{end}} |
||||
</select> |
||||
</div> |
||||
{{template "base/head" .}} |
||||
<div class="install"> |
||||
<div class="ui middle very relaxed page grid"> |
||||
<div class="sixteen wide center aligned centered column"> |
||||
<h3 class="ui top attached header"> |
||||
{{.i18n.Tr "install.title"}} |
||||
</h3> |
||||
<div class="ui attached segment"> |
||||
<form class="ui form" action="{{AppSubUrl}}/install" method="post"> |
||||
{{.CsrfTokenHtml}} |
||||
|
||||
<div class="server-sql {{if eq .CurDbOption "SQLite3"}}hide{{end}}"> |
||||
<div class="field"> |
||||
<label class="req" for="db_host">{{.i18n.Tr "install.host"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbHost}}ipt-error{{end}}" id="db_host" name="db_host" value="{{.db_host}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_user">{{.i18n.Tr "install.user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbUser}}ipt-error{{end}}" id="db_user" name="db_user" value="{{.db_user}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_passwd">{{.i18n.Tr "install.password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbPasswd}}ipt-error{{end}}" id="db_passwd" name="db_passwd" type="password" value="{{.db_passwd}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_name">{{.i18n.Tr "install.db_name"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbName}}ipt-error{{end}}" id="db_name" name="db_name" value="{{.db_name}}" /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.db_helper"}}</span> |
||||
</div> |
||||
</div> |
||||
<!-- Dtabase Settings --> |
||||
<h4 class="ui dividing header">{{.i18n.Tr "install.db_title"}}</h4> |
||||
<p>{{.i18n.Tr "install.requite_db_desc"}}</p> |
||||
<div class="inline required field"> |
||||
<label>{{.i18n.Tr "install.db_type"}}</label> |
||||
<div class="ui selection database type dropdown"> |
||||
<input type="hidden" id="db_type" name="db_type" value="{{.CurDbOption}}"> |
||||
<div class="default text">{{.CurDbOption}}</div> |
||||
<i class="dropdown icon"></i> |
||||
<div class="menu"> |
||||
{{range .DbOptions}} |
||||
<div class="item" data-value="{{.}}">{{.}}</div> |
||||
{{end}} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="field pgsql-setting {{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}"> |
||||
<label class="req">{{.i18n.Tr "install.ssl_mode"}}</label> |
||||
<select name="ssl_mode" class="form-control"> |
||||
<option value="disable">Disable</option> |
||||
<option value="require">Require</option> |
||||
<option value="verify-full">Verify Full</option> |
||||
</select> |
||||
</div> |
||||
|
||||
<div class="field sqlite-setting {{if not (eq .CurDbOption "SQLite3")}}hide{{end}}"> |
||||
<label class="req" for="db_path">{{.i18n.Tr "install.path"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbPath}}ipt-error{{end}}" id="db_path" name="db_path" value="{{.db_path}}" /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.sqlite_helper"}}</span> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.general_title"}}</div> |
||||
<div class="field"> |
||||
<label class="req" for="repo_root_path">{{.i18n.Tr "install.repo_path"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_RepoRootPath}}ipt-error{{end}}" id="repo_root_path" name="repo_root_path" value="{{.repo_root_path}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.repo_path_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="run_user">{{.i18n.Tr "install.run_user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_RunUser}}ipt-error{{end}}" id="run_user" name="run_user" value="{{.run_user}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.run_user_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="domain">{{.i18n.Tr "install.domain"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_Domain}}ipt-error{{end}}" id="domain" name="domain" value="{{.domain}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.domain_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="http_port">{{.i18n.Tr "install.http_port"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_HttpPort}}ipt-error{{end}}" id="http_port" name="http_port" value="{{.http_port}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.http_port_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="app_url">{{.i18n.Tr "install.app_url"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AppUrl}}ipt-error{{end}}" id="app_url" name="app_url" value="{{.app_url}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.app_url_helper"}}</span> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.email_title"}}</div> |
||||
<div class="field"> |
||||
<label for="smtp_host">{{.i18n.Tr "install.smtp_host"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SmtpHost}}ipt-error{{end}}" id="smtp_host" name="smtp_host" value="{{.smtp_host}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label for="smtp_user">{{.i18n.Tr "install.mailer_user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SMTPEmail}}ipt-error{{end}}" id="smtp_user" name="smtp_user" value="{{.smtp_user}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label for="smtp_pwd">{{.i18n.Tr "install.mailer_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SMTPPasswd}}ipt-error{{end}}" id="smtp_pwd" name="smtp_pwd" type="password" value="{{.smtp_pwd}}" /> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.notify_title"}}</div> |
||||
<div class="field"> |
||||
<label></label> |
||||
<input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> |
||||
<strong>{{.i18n.Tr "install.register_confirm"}}</strong> |
||||
<br> |
||||
<label></label> |
||||
<input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> |
||||
<strong>{{.i18n.Tr "install.mail_notify"}}</strong> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.admin_title"}}</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_name">{{.i18n.Tr "install.admin_name"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminName}}ipt-error{{end}}" id="admin_name" name="admin_name" value="{{.admin_name}}" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_passwd">{{.i18n.Tr "install.admin_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminPasswd}}ipt-error{{end}}" id="admin_passwd" name="admin_passwd" type="password" value="{{.admin_passwd}}" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_confirm_passwd">{{.i18n.Tr "install.confirm_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminPasswd}}ipt-error{{end}}" id="admin_confirm_passwd" name="admin_confirm_passwd" type="password" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_email">{{.i18n.Tr "install.admin_email"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminEmail}}ipt-error{{end}}" id="admin_email" name="admin_email" value="{{.admin_email}}" required /> |
||||
</div> |
||||
|
||||
<hr> |
||||
<div id="sql_settings" class="{{if eq .CurDbOption "SQLite3"}}hide{{end}}"> |
||||
<div class="inline required field"> |
||||
<label for="db_host">{{.i18n.Tr "install.host"}}</label> |
||||
<input id="db_host" name="db_host" value="{{.db_host}}"> |
||||
</div> |
||||
<div class="inline required field"> |
||||
<label for="db_user">{{.i18n.Tr "install.user"}}</label> |
||||
<input id="db_user" name="db_user" value="{{.db_user}}"> |
||||
</div> |
||||
<div class="inline required field"> |
||||
<label for="db_passwd">{{.i18n.Tr "install.password"}}</label> |
||||
<input id="db_passwd" name="db_passwd" type="password" value="{{.db_passwd}}"> |
||||
</div> |
||||
<div class="inline required field"> |
||||
<label for="db_name">{{.i18n.Tr "install.db_name"}}</label> |
||||
<input id="db_name" name="db_name" value="{{.db_name}}"> |
||||
<span class="help">{{.i18n.Tr "install.db_helper"}}</span> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="field"> |
||||
<label></label> |
||||
<button class="btn btn-blue btn-large btn-radius">{{.i18n.Tr "install.install_gogs"}}</button> |
||||
</div> |
||||
</form> |
||||
<div id="pgsql_settings" class="{{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}"> |
||||
<div class="inline required field"> |
||||
<label>{{.i18n.Tr "install.ssl_mode"}}</label> |
||||
<div class="ui selection database type dropdown"> |
||||
<input type="hidden" name="ssl_mode" value="disable"> |
||||
<div class="default text">disable</div> |
||||
<i class="dropdown icon"></i> |
||||
<div class="menu"> |
||||
<div class="item" data-value="disable">Disable</div> |
||||
<div class="item" data-value="require">Require</div> |
||||
<div class="item" data-value="verify-full">Verify Full</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div id="sqlite_settings" class="{{if not (eq .CurDbOption "SQLite3")}}hide{{end}}"> |
||||
<div class="inline required field"> |
||||
<label for="db_path">{{.i18n.Tr "install.path"}}</label> |
||||
<input id="db_path" name="db_path" value="{{.db_path}}"> |
||||
<span class="help">{{.i18n.Tr "install.sqlite_helper"}}</span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<!-- General Settings --> |
||||
<h4 class="ui dividing header">{{.i18n.Tr "install.general_title"}}</h4> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{{template "ng/base/footer" .}} |
||||
{{template "base/footer" .}} |
@ -0,0 +1,155 @@ |
||||
{{template "ng/base/head" .}} |
||||
<div id="setting-wrapper" class="main-wrapper"> |
||||
<div class="container clear"> |
||||
<div class="setting-content"> |
||||
{{template "ng/base/alert" .}} |
||||
<div id="setting-content"> |
||||
<div class="panel panel-radius"> |
||||
<div class="panel-header"> |
||||
<strong>{{.i18n.Tr "install.title"}}</strong> |
||||
</div> |
||||
<form class="form form-align panel-body" id="install-form" action="{{AppSubUrl}}/install" method="post"> |
||||
{{.CsrfTokenHtml}} |
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.requite_db_desc"}}</div> |
||||
<div class="field"> |
||||
<label class="req">{{.i18n.Tr "install.db_type"}}</label> |
||||
<select name="db_type" id="install-database" class="form-control"> |
||||
{{range .DbOptions}} |
||||
<option value="{{.}}"{{if eq $.CurDbOption .}}selected{{end}}>{{.}}</option> |
||||
{{end}} |
||||
</select> |
||||
</div> |
||||
|
||||
<div class="server-sql {{if eq .CurDbOption "SQLite3"}}hide{{end}}"> |
||||
<div class="field"> |
||||
<label class="req" for="db_host">{{.i18n.Tr "install.host"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbHost}}ipt-error{{end}}" id="db_host" name="db_host" value="{{.db_host}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_user">{{.i18n.Tr "install.user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbUser}}ipt-error{{end}}" id="db_user" name="db_user" value="{{.db_user}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_passwd">{{.i18n.Tr "install.password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbPasswd}}ipt-error{{end}}" id="db_passwd" name="db_passwd" type="password" value="{{.db_passwd}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="db_name">{{.i18n.Tr "install.db_name"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbName}}ipt-error{{end}}" id="db_name" name="db_name" value="{{.db_name}}" /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.db_helper"}}</span> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="field pgsql-setting {{if not (eq .CurDbOption "PostgreSQL")}}hide{{end}}"> |
||||
<label class="req">{{.i18n.Tr "install.ssl_mode"}}</label> |
||||
<select name="ssl_mode" class="form-control"> |
||||
<option value="disable">Disable</option> |
||||
<option value="require">Require</option> |
||||
<option value="verify-full">Verify Full</option> |
||||
</select> |
||||
</div> |
||||
|
||||
<div class="field sqlite-setting {{if not (eq .CurDbOption "SQLite3")}}hide{{end}}"> |
||||
<label class="req" for="db_path">{{.i18n.Tr "install.path"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_DbPath}}ipt-error{{end}}" id="db_path" name="db_path" value="{{.db_path}}" /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.sqlite_helper"}}</span> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.general_title"}}</div> |
||||
<div class="field"> |
||||
<label class="req" for="repo_root_path">{{.i18n.Tr "install.repo_path"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_RepoRootPath}}ipt-error{{end}}" id="repo_root_path" name="repo_root_path" value="{{.repo_root_path}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.repo_path_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="run_user">{{.i18n.Tr "install.run_user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_RunUser}}ipt-error{{end}}" id="run_user" name="run_user" value="{{.run_user}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.run_user_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="domain">{{.i18n.Tr "install.domain"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_Domain}}ipt-error{{end}}" id="domain" name="domain" value="{{.domain}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.domain_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="http_port">{{.i18n.Tr "install.http_port"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_HttpPort}}ipt-error{{end}}" id="http_port" name="http_port" value="{{.http_port}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.http_port_helper"}}</span> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="app_url">{{.i18n.Tr "install.app_url"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AppUrl}}ipt-error{{end}}" id="app_url" name="app_url" value="{{.app_url}}" required /> |
||||
<label></label> |
||||
<span class="help">{{.i18n.Tr "install.app_url_helper"}}</span> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.email_title"}}</div> |
||||
<div class="field"> |
||||
<label for="smtp_host">{{.i18n.Tr "install.smtp_host"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SmtpHost}}ipt-error{{end}}" id="smtp_host" name="smtp_host" value="{{.smtp_host}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label for="smtp_user">{{.i18n.Tr "install.mailer_user"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SMTPEmail}}ipt-error{{end}}" id="smtp_user" name="smtp_user" value="{{.smtp_user}}" /> |
||||
</div> |
||||
<div class="field"> |
||||
<label for="smtp_pwd">{{.i18n.Tr "install.mailer_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_SMTPPasswd}}ipt-error{{end}}" id="smtp_pwd" name="smtp_pwd" type="password" value="{{.smtp_pwd}}" /> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.notify_title"}}</div> |
||||
<div class="field"> |
||||
<label></label> |
||||
<input name="register_confirm" type="checkbox" {{if .register_confirm}}checked{{end}}> |
||||
<strong>{{.i18n.Tr "install.register_confirm"}}</strong> |
||||
<br> |
||||
<label></label> |
||||
<input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> |
||||
<strong>{{.i18n.Tr "install.mail_notify"}}</strong> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="text-center panel-desc">{{.i18n.Tr "install.admin_title"}}</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_name">{{.i18n.Tr "install.admin_name"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminName}}ipt-error{{end}}" id="admin_name" name="admin_name" value="{{.admin_name}}" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_passwd">{{.i18n.Tr "install.admin_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminPasswd}}ipt-error{{end}}" id="admin_passwd" name="admin_passwd" type="password" value="{{.admin_passwd}}" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_confirm_passwd">{{.i18n.Tr "install.confirm_password"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminPasswd}}ipt-error{{end}}" id="admin_confirm_passwd" name="admin_confirm_passwd" type="password" required /> |
||||
</div> |
||||
<div class="field"> |
||||
<label class="req" for="admin_email">{{.i18n.Tr "install.admin_email"}}</label> |
||||
<input class="ipt ipt-large ipt-radius {{if .Err_AdminEmail}}ipt-error{{end}}" id="admin_email" name="admin_email" value="{{.admin_email}}" required /> |
||||
</div> |
||||
|
||||
<hr> |
||||
|
||||
<div class="field"> |
||||
<label></label> |
||||
<button class="btn btn-blue btn-large btn-radius">{{.i18n.Tr "install.install_gogs"}}</button> |
||||
</div> |
||||
</form> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{{template "ng/base/footer" .}} |
Loading…
Reference in new issue