diff options
Diffstat (limited to 'routes')
-rw-r--r-- | routes/admin/auths.go | 4 | ||||
-rw-r--r-- | routes/user/auth.go | 19 |
2 files changed, 22 insertions, 1 deletions
diff --git a/routes/admin/auths.go b/routes/admin/auths.go index 49f01433..d013c793 100644 --- a/routes/admin/auths.go +++ b/routes/admin/auths.go @@ -69,6 +69,7 @@ func NewAuthSource(c *context.Context) { c.Data["CurrentSecurityProtocol"] = models.SecurityProtocolNames[ldap.SECURITY_PROTOCOL_UNENCRYPTED] c.Data["smtp_auth"] = "PLAIN" c.Data["is_active"] = true + c.Data["is_default"] = true c.Data["AuthSources"] = authSources c.Data["SecurityProtocols"] = securityProtocols c.Data["SMTPAuths"] = models.SMTPAuths @@ -152,6 +153,7 @@ func NewAuthSourcePost(c *context.Context, f form.Authentication) { Type: models.LoginType(f.Type), Name: f.Name, IsActived: f.IsActive, + IsDefault: f.IsDefault, Cfg: config, }); err != nil { if models.IsErrLoginSourceAlreadyExist(err) { @@ -225,11 +227,13 @@ func EditAuthSourcePost(c *context.Context, f form.Authentication) { source.Name = f.Name source.IsActived = f.IsActive + source.IsDefault = f.IsDefault source.Cfg = config if err := models.UpdateLoginSource(source); err != nil { c.ServerError("UpdateLoginSource", err) return } + log.Trace("Authentication changed by admin '%s': %d", c.User.Name, source.ID) c.Flash.Success(c.Tr("admin.auths.update_success")) diff --git a/routes/user/auth.go b/routes/user/auth.go index 76e51c36..84e171a1 100644 --- a/routes/user/auth.go +++ b/routes/user/auth.go @@ -113,7 +113,15 @@ func Login(c *context.Context) { return } c.Data["LoginSources"] = loginSources - + for i := range loginSources { + if loginSources[i].IsDefault { + c.Data["DefaultSource"] = *loginSources[i] + c.Data["login_source"] = loginSources[i].ID + newLoginSources := append(loginSources[:i], loginSources[i+1:]...) + c.Data["LoginSources"] = newLoginSources + break + } + } c.Success(LOGIN) } @@ -173,6 +181,15 @@ func LoginPost(c *context.Context, f form.SignIn) { default: c.ServerError("UserLogin", err) } + for i := range loginSources { + if loginSources[i].IsDefault { + c.Data["DefaultSource"] = *loginSources[i] + c.Data["login_source"] = loginSources[i].ID + newLoginSources := append(loginSources[:i], loginSources[i+1:]...) + c.Data["LoginSources"] = newLoginSources + break + } + } return } |