From 5a12d6efaf127b15568888da38e39fe4420cef5d Mon Sep 17 00:00:00 2001 From: Flare Date: Sat, 22 Oct 2016 21:17:32 +0800 Subject: [PATCH 1/5] Added reserved name checking for team names --- models/org_team.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/models/org_team.go b/models/org_team.go index 6a6754cc99a6..43e0addf32aa 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -197,6 +197,10 @@ func (t *Team) RemoveRepository(repoID int64) error { // NewTeam creates a record of new team. // It's caller's responsibility to assign organization ID. func NewTeam(t *Team) error { + if err = IsUsableUsername(t.Name); err != nil { + return err + } + if len(t.Name) == 0 { return errors.New("empty team name") } From 6ebf4262e044cb8cac9f753bd12f3f4ca42f8177 Mon Sep 17 00:00:00 2001 From: Flare Date: Sat, 22 Oct 2016 21:23:04 +0800 Subject: [PATCH 2/5] Fix undefined error --- models/org_team.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/org_team.go b/models/org_team.go index 43e0addf32aa..5b2ab5eb6c10 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -196,11 +196,11 @@ func (t *Team) RemoveRepository(repoID int64) error { // NewTeam creates a record of new team. // It's caller's responsibility to assign organization ID. -func NewTeam(t *Team) error { +func NewTeam(t *Team) (err error) { if err = IsUsableUsername(t.Name); err != nil { return err } - + if len(t.Name) == 0 { return errors.New("empty team name") } From 12a61da32b50356dd9f478d8e1ff70ed0a5c7736 Mon Sep 17 00:00:00 2001 From: Flare Date: Tue, 25 Oct 2016 02:24:07 +0800 Subject: [PATCH 3/5] Separated reserved team names from reserved user/org names --- models/org_team.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/models/org_team.go b/models/org_team.go index 5b2ab5eb6c10..a613923de2db 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -194,10 +194,22 @@ func (t *Team) RemoveRepository(repoID int64) error { return sess.Commit() } +func IsUsableTeamName(name string) (err error) { + var names = []string{"new"} + + for i := range names { + if name == names[i] { + return ErrNameReserved{name} + } + } + + return nil +} + // NewTeam creates a record of new team. // It's caller's responsibility to assign organization ID. func NewTeam(t *Team) (err error) { - if err = IsUsableUsername(t.Name); err != nil { + if err = IsUsableTeamName(t.Name); err != nil { return err } From e929af2f4dd1ba28eed1233186bd052cde81a6d4 Mon Sep 17 00:00:00 2001 From: Flare Date: Tue, 25 Oct 2016 02:53:51 +0800 Subject: [PATCH 4/5] Changed reserved team names to be consistent --- models/org_team.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/org_team.go b/models/org_team.go index a613923de2db..b6b4bf47de3b 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -195,10 +195,10 @@ func (t *Team) RemoveRepository(repoID int64) error { } func IsUsableTeamName(name string) (err error) { - var names = []string{"new"} + var reservedTeamNames = []string{"new"} - for i := range names { - if name == names[i] { + for i := range reservedTeamNames { + if name == reservedTeamNames[i] { return ErrNameReserved{name} } } From 6662e9a5b45c929aa0a26ea3fd246883af556eff Mon Sep 17 00:00:00 2001 From: Flare Date: Sat, 5 Nov 2016 02:55:42 +0800 Subject: [PATCH 5/5] Moved usability check to after len check --- models/org_team.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/models/org_team.go b/models/org_team.go index b6b4bf47de3b..07a90e08f1b5 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -209,14 +209,14 @@ func IsUsableTeamName(name string) (err error) { // NewTeam creates a record of new team. // It's caller's responsibility to assign organization ID. func NewTeam(t *Team) (err error) { - if err = IsUsableTeamName(t.Name); err != nil { - return err - } - if len(t.Name) == 0 { return errors.New("empty team name") } + if err = IsUsableTeamName(t.Name); err != nil { + return err + } + has, err := x.Id(t.OrgID).Get(new(User)) if err != nil { return err