summaryrefslogtreecommitdiffstats
path: root/model
diff options
context:
space:
mode:
Diffstat (limited to 'model')
-rw-r--r--model/config.go12
-rw-r--r--model/user.go5
-rw-r--r--model/user_test.go11
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) {