diff options
author | crohr <cyril.rohr@gmail.com> | 2015-07-14 15:09:08 +0000 |
---|---|---|
committer | crohr <cyril.rohr@gmail.com> | 2015-07-14 15:09:08 +0000 |
commit | cbce2ec9cf74a96b15bbd1a5463957921465a980 (patch) | |
tree | 48f08facd06aa9910c98cdcada1a73d8d308775c /models | |
parent | b8e9c600409683b0f5eb10b637de003ce23b7796 (diff) | |
parent | ec774d48c58f83b599ac210d6def718187806ecd (diff) |
Merge remote-tracking branch 'origin/master' into pkgr
Diffstat (limited to 'models')
-rw-r--r-- | models/access.go | 19 | ||||
-rw-r--r-- | models/repo.go | 9 |
2 files changed, 28 insertions, 0 deletions
diff --git a/models/access.go b/models/access.go index dd856afb..51b60c99 100644 --- a/models/access.go +++ b/models/access.go @@ -145,6 +145,25 @@ func (repo *Repository) refreshCollaboratorAccesses(e Engine, accessMap map[int6 for _, c := range collaborators { accessMap[c.Id] = ACCESS_MODE_WRITE } + + // Adds team members access. + if repo.Owner.IsOrganization() { + if err = repo.Owner.GetTeams(); err != nil { + return fmt.Errorf("GetTeams: %v", err) + } + for _, t := range repo.Owner.Teams { + if err = t.GetMembers(); err != nil { + return fmt.Errorf("GetMembers: %v", err) + } + for _, m := range t.Members { + if t.IsOwnerTeam() { + accessMap[m.Id] = ACCESS_MODE_OWNER + } else { + accessMap[m.Id] = maxAccessMode(accessMap[m.Id], t.Authorize) + } + } + } + } return nil } diff --git a/models/repo.go b/models/repo.go index f144be5a..ca118d99 100644 --- a/models/repo.go +++ b/models/repo.go @@ -380,6 +380,15 @@ func MigrateRepository(u *User, name, desc string, private, mirror bool, url str return repo, fmt.Errorf("create update hook: %v", err) } + // Check if repository has master branch, if so set it to default branch. + gitRepo, err := git.OpenRepository(repoPath) + if err != nil { + return repo, fmt.Errorf("open git repository: %v", err) + } + if gitRepo.IsBranchExist("master") { + repo.DefaultBranch = "master" + } + return repo, UpdateRepository(repo, false) } |