new sign in page
This commit is contained in:
Родитель
f5c7f22cc8
Коммит
e4ecbcdf4a
|
@ -70,9 +70,9 @@ func (f *RegisterForm) Validate(ctx *macaron.Context, errs binding.Errors) bindi
|
||||||
}
|
}
|
||||||
|
|
||||||
type SignInForm struct {
|
type SignInForm struct {
|
||||||
UserName string `form:"uname" binding:"Required;MaxSize(254)"`
|
UserName string `binding:"Required;MaxSize(254)"`
|
||||||
Password string `form:"password" binding:"Required;MaxSize(255)"`
|
Password string `binding:"Required;MaxSize(255)"`
|
||||||
Remember bool `form:"remember"`
|
Remember bool
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
func (f *SignInForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
|
||||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
|
@ -46,6 +46,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.signin,
|
||||||
.signup {
|
.signup {
|
||||||
@input-padding: 200px!important;
|
@input-padding: 200px!important;
|
||||||
#create-page-form;
|
#create-page-form;
|
||||||
|
|
|
@ -1,45 +1,52 @@
|
||||||
{{template "ng/base/head" .}}
|
{{template "base/head" .}}
|
||||||
{{template "ng/base/header" .}}
|
<div class="signin">
|
||||||
<div id="sign-wrapper">
|
<div class="ui middle very relaxed page grid">
|
||||||
<form class="form-align form panel sign-panel sign-form container panel-radius" id="sign-up-form" action="{{AppSubUrl}}/user/login" method="post">
|
<div class="column">
|
||||||
<div class="panel-header">
|
<form class="ui form" action="{{.Link}}" method="post">
|
||||||
<h2>{{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_in"}}{{end}}</h2>
|
{{.CsrfTokenHtml}}
|
||||||
|
<h3 class="ui top attached header">
|
||||||
|
{{if .IsSocialLogin}}{{.i18n.Tr "social_sign_in" | Str2html}}{{else}}{{.i18n.Tr "sign_in"}}{{end}}
|
||||||
|
</h3>
|
||||||
|
<div class="ui attached segment">
|
||||||
|
{{template "base/alert" .}}
|
||||||
|
<div class="required inline field {{if .Err_UserName}}error{{end}}">
|
||||||
|
<label for="user_name">{{.i18n.Tr "home.uname_holder"}}</label>
|
||||||
|
<input id="user_name" name="user_name" value="{{.user_name}}" autofocus required>
|
||||||
|
</div>
|
||||||
|
<div class="required inline field {{if .Err_Password}}error{{end}}">
|
||||||
|
<label for="password">{{.i18n.Tr "password"}}</label>
|
||||||
|
<input id="password" name="password" type="password" value="{{.password}}" required>
|
||||||
|
</div>
|
||||||
|
{{if not .IsSocialLogin}}
|
||||||
|
<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}}
|
||||||
|
|
||||||
|
<div class="inline field">
|
||||||
|
<label></label>
|
||||||
|
<button class="ui green button">{{.i18n.Tr "sign_in"}}</button>
|
||||||
|
{{if not .IsSocialLogin}}<a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>{{end}}
|
||||||
|
</div>
|
||||||
|
{{if .ShowRegistrationButton}}
|
||||||
|
<div class="inline field">
|
||||||
|
<label></label>
|
||||||
|
<a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if and (not .IsSocialLogin) .OauthEnabled}}
|
||||||
|
<div class="inline field">
|
||||||
|
<label></label>
|
||||||
|
{{template "base/social" .}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-content">
|
</form>
|
||||||
{{template "ng/base/alert" .}}
|
</div>
|
||||||
<div class="field">
|
</div>
|
||||||
<label class="req" for="username">{{.i18n.Tr "home.uname_holder"}}</label>
|
|
||||||
<input class="ipt ipt-large ipt-radius {{if .Err_UserName}}ipt-error{{end}}" id="username" name="uname" type="text" value="{{.uname}}" required/>
|
|
||||||
</div>
|
|
||||||
<div class="field">
|
|
||||||
<label class="req" for="password">{{.i18n.Tr "password"}}</label>
|
|
||||||
<input class="ipt ipt-large ipt-radius {{if .Err_Password}}ipt-error{{end}}" id="password" name="password" type="password" required/>
|
|
||||||
</div>
|
|
||||||
{{if not .IsSocialLogin}}
|
|
||||||
<div class="field">
|
|
||||||
<label class="chk-label">
|
|
||||||
<input class="ipt-chk" id="remember" name="remember" type="checkbox"/> <strong>{{.i18n.Tr "auth.remember_me"}}</strong>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
<div class="field">
|
|
||||||
<span class="form-label"></span>
|
|
||||||
<button class="btn btn-green btn-large btn-radius">{{.i18n.Tr "sign_in"}}</button>
|
|
||||||
{{if not .IsSocialLogin}}<a href="{{AppSubUrl}}/user/forget_password">{{.i18n.Tr "auth.forget_password"}}</a>{{end}}
|
|
||||||
</div>
|
|
||||||
{{if .ShowRegistrationButton}}
|
|
||||||
<div class="field">
|
|
||||||
<label></label>
|
|
||||||
<a href="{{AppSubUrl}}/user/sign_up">{{.i18n.Tr "auth.sign_up_now" | Str2html}}</a>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
{{if and (not .IsSocialLogin) .OauthEnabled}}
|
|
||||||
<hr/>
|
|
||||||
<div id="sign-social" class="text-center social-buttons">
|
|
||||||
{{template "ng/base/social" .}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
</div>
|
||||||
{{template "ng/base/footer" .}}
|
{{template "base/footer" .}}
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
</div>
|
</div>
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Загрузка…
Ссылка в новой задаче