diff options
Diffstat (limited to 'model')
-rw-r--r-- | model/config.go | 12 | ||||
-rw-r--r-- | model/user.go | 5 | ||||
-rw-r--r-- | model/user_test.go | 11 |
3 files changed, 28 insertions, 0 deletions
diff --git a/model/config.go b/model/config.go index 7d3cb93d6..0a3fcb33e 100644 --- a/model/config.go +++ b/model/config.go @@ -251,6 +251,7 @@ type LdapSettings struct { UsernameAttribute *string NicknameAttribute *string IdAttribute *string + PositionAttribute *string // Syncronization SyncIntervalMinutes *int @@ -297,6 +298,7 @@ type SamlSettings struct { UsernameAttribute *string NicknameAttribute *string LocaleAttribute *string + PositionAttribute *string LoginButtonText *string } @@ -690,6 +692,11 @@ func (o *Config) SetDefaults() { *o.LdapSettings.IdAttribute = "" } + if o.LdapSettings.PositionAttribute == nil { + o.LdapSettings.PositionAttribute = new(string) + *o.LdapSettings.PositionAttribute = "" + } + if o.LdapSettings.SyncIntervalMinutes == nil { o.LdapSettings.SyncIntervalMinutes = new(int) *o.LdapSettings.SyncIntervalMinutes = 60 @@ -911,6 +918,11 @@ func (o *Config) SetDefaults() { *o.SamlSettings.NicknameAttribute = "" } + if o.SamlSettings.PositionAttribute == nil { + o.SamlSettings.PositionAttribute = new(string) + *o.SamlSettings.PositionAttribute = "" + } + if o.SamlSettings.LocaleAttribute == nil { o.SamlSettings.LocaleAttribute = new(string) *o.SamlSettings.LocaleAttribute = "" diff --git a/model/user.go b/model/user.go index 330d26d82..76c3772cb 100644 --- a/model/user.go +++ b/model/user.go @@ -37,6 +37,7 @@ type User struct { Nickname string `json:"nickname"` FirstName string `json:"first_name"` LastName string `json:"last_name"` + Position string `json:"position"` Roles string `json:"roles"` AllowMarketing bool `json:"allow_marketing,omitempty"` Props StringMap `json:"props,omitempty"` @@ -78,6 +79,10 @@ func (u *User) IsValid() *AppError { return NewLocAppError("User.IsValid", "model.user.is_valid.nickname.app_error", nil, "user_id="+u.Id) } + if utf8.RuneCountInString(u.Position) > 35 { + return NewLocAppError("User.IsValid", "model.user.is_valid.position.app_error", nil, "user_id="+u.Id) + } + if utf8.RuneCountInString(u.FirstName) > 64 { return NewLocAppError("User.IsValid", "model.user.is_valid.first_name.app_error", nil, "user_id="+u.Id) } diff --git a/model/user_test.go b/model/user_test.go index 2f6524c05..15b1aae6f 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -128,6 +128,17 @@ func TestUserIsValid(t *testing.T) { if err := user.IsValid(); err == nil { t.Fatal(err) } + + user.LastName = "" + user.Position = "" + if err := user.IsValid(); err != nil { + t.Fatal(err) + } + + user.Position = strings.Repeat("01234567890", 20) + if err := user.IsValid(); err == nil { + t.Fatal(err) + } } func TestUserGetFullName(t *testing.T) { |