summaryrefslogtreecommitdiffstats
path: root/models/repo_collaboration.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/repo_collaboration.go')
-rw-r--r--models/repo_collaboration.go28
1 files changed, 14 insertions, 14 deletions
diff --git a/models/repo_collaboration.go b/models/repo_collaboration.go
index 0797f50430..40ddf6a28c 100644
--- a/models/repo_collaboration.go
+++ b/models/repo_collaboration.go
@@ -16,20 +16,6 @@ type Collaboration struct {
Mode AccessMode `xorm:"DEFAULT 2 NOT NULL"`
}
-// ModeI18nKey returns the collaboration mode I18n Key
-func (c *Collaboration) ModeI18nKey() string {
- switch c.Mode {
- case AccessModeRead:
- return "repo.settings.collaboration.read"
- case AccessModeWrite:
- return "repo.settings.collaboration.write"
- case AccessModeAdmin:
- return "repo.settings.collaboration.admin"
- default:
- return "repo.settings.collaboration.undefined"
- }
-}
-
// AddCollaborator adds new collaboration to a repository with default access mode.
func (repo *Repository) AddCollaborator(u *User) error {
collaboration := &Collaboration{
@@ -183,3 +169,17 @@ func (repo *Repository) DeleteCollaboration(uid int64) (err error) {
return sess.Commit()
}
+
+func (repo *Repository) getRepoTeams(e Engine) (teams []*Team, err error) {
+ return teams, e.
+ Join("INNER", "team_repo", "team_repo.team_id = team.id").
+ Where("team.org_id = ?", repo.OwnerID).
+ And("team_repo.repo_id=?", repo.ID).
+ OrderBy("CASE WHEN name LIKE '" + ownerTeamName + "' THEN '' ELSE name END").
+ Find(&teams)
+}
+
+// GetRepoTeams gets the list of teams that has access to the repository
+func (repo *Repository) GetRepoTeams() ([]*Team, error) {
+ return repo.getRepoTeams(x)
+}