@ -160,54 +160,42 @@ func CheckAutoLogin(ctx *context.Context) bool {
return false
}
// SignIn render sign in page
func SignIn ( ctx * context . Context ) {
func prepareSignInPageData ( ctx * context . Context ) {
ctx . Data [ "Title" ] = ctx . Tr ( "sign_in" )
if CheckAutoLogin ( ctx ) {
return
}
if ctx . IsSigned {
RedirectAfterLogin ( ctx )
return
}
oauth2Providers , err := oauth2 . GetOAuth2Providers ( ctx , optional . Some ( true ) )
if err != nil {
ctx . ServerError ( "UserSignIn" , err )
return
}
ctx . Data [ "OAuth2Providers" ] = oauth2Providers
ctx . Data [ "OAuth2Providers" ] , _ = oauth2 . GetOAuth2Providers ( ctx , optional . Some ( true ) )
ctx . Data [ "Title" ] = ctx . Tr ( "sign_in" )
ctx . Data [ "SignInLink" ] = setting . AppSubURL + "/user/login"
ctx . Data [ "PageIsSignIn" ] = true
ctx . Data [ "PageIsLogin" ] = true
ctx . Data [ "EnableSSPI" ] = auth . IsSSPIEnabled ( ctx )
ctx . Data [ "EnablePasswordSignInForm" ] = setting . Service . EnablePasswordSignInForm
if setting . Service . EnableCaptcha && setting . Service . RequireCaptchaForLogin {
context . SetCaptchaData ( ctx )
}
}
// SignIn render sign in page
func SignIn ( ctx * context . Context ) {
if CheckAutoLogin ( ctx ) {
return
}
if ctx . IsSigned {
RedirectAfterLogin ( ctx )
return
}
prepareSignInPageData ( ctx )
ctx . HTML ( http . StatusOK , tplSignIn )
}
// SignInPost response for sign in request
func SignInPost ( ctx * context . Context ) {
ctx . Data [ "Title" ] = ctx . Tr ( "sign_in" )
oauth2Providers , err := oauth2 . GetOAuth2Providers ( ctx , optional . Some ( true ) )
if err != nil {
ctx . ServerError ( "UserSignIn" , err )
if ! setting . Service . EnablePasswordSignInForm {
ctx . Error ( http . StatusForbidden )
return
}
ctx . Data [ "OAuth2Providers" ] = oauth2Providers
ctx . Data [ "Title" ] = ctx . Tr ( "sign_in" )
ctx . Data [ "SignInLink" ] = setting . AppSubURL + "/user/login"
ctx . Data [ "PageIsSignIn" ] = true
ctx . Data [ "PageIsLogin" ] = true
ctx . Data [ "EnableSSPI" ] = auth . IsSSPIEnabled ( ctx )
prepareSignInPageData ( ctx )
if ctx . HasError ( ) {
ctx . HTML ( http . StatusOK , tplSignIn )
return
@ -216,8 +204,6 @@ func SignInPost(ctx *context.Context) {
form := web . GetForm ( ctx ) . ( * forms . SignInForm )
if setting . Service . EnableCaptcha && setting . Service . RequireCaptchaForLogin {
context . SetCaptchaData ( ctx )
context . VerifyCaptcha ( ctx , tplSignIn , form )
if ctx . Written ( ) {
return