aboutsummaryrefslogtreecommitdiff
path: root/routes
diff options
context:
space:
mode:
Diffstat (limited to 'routes')
-rw-r--r--routes/admin/auths.go4
-rw-r--r--routes/user/auth.go19
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
}