diff --git a/models/login_source.go b/models/login_source.go index bced2bcee3f0..b6a854e002a3 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -410,14 +410,10 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR } else if isExist { if user.ProhibitLogin { return nil, ErrUserProhibitLogin{user.ID, user.Name} + } else if len(source.LDAP().AdminFilter) > 0 && user.IsAdmin != sr.IsAdmin { + // Change existing admin flag only if AdminFilter option is set + go UpdateUserCols(user, "is_admin") } - user.FullName = composeFullName(sr.Name, sr.Surname, sr.Username) - user.Email = sr.Mail - // Change existing admin flag only if AdminFilter option is set - if len(source.LDAP().AdminFilter) > 0 { - user.IsAdmin = sr.IsAdmin - } - go UpdateLdapUserAtLogin(user) } if !autoRegister { diff --git a/models/user.go b/models/user.go index fddd3109ced1..7aa1e143e835 100644 --- a/models/user.go +++ b/models/user.go @@ -1827,10 +1827,3 @@ func SyncExternalUsers() { } } } - -func UpdateLdapUserAtLogin(user *User) (err error) { - if err := UpdateUserCols(user, "full_name", "email", "is_admin"); err != nil { - return err - } - return nil -}