new sign in page

release/v1.15
Unknwon 2015-09-14 22:50:44 -04:00
parent f5c7f22cc8
commit e4ecbcdf4a
6 changed files with 56 additions and 48 deletions

View File

@ -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 {

File diff suppressed because one or more lines are too long

View File

@ -46,6 +46,7 @@
} }
} }
.signin,
.signup { .signup {
@input-padding: 200px!important; @input-padding: 200px!important;
#create-page-form; #create-page-form;

View File

@ -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"/>&nbsp;&nbsp;&nbsp;&nbsp;<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>&nbsp;&nbsp;&nbsp;&nbsp;
{{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" .}}

View File

@ -49,7 +49,7 @@
</div> </div>
{{end}} {{end}}
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>