]> source.dussan.org Git - gitea.git/commitdiff
some fixes, but not done yet!
authorUnknwon <joe2010xtmf@163.com>
Fri, 13 Feb 2015 07:56:42 +0000 (02:56 -0500)
committerUnknwon <joe2010xtmf@163.com>
Fri, 13 Feb 2015 07:56:42 +0000 (02:56 -0500)
models/access.go

index e9742b318dd2d3ca50a1869a3602f7aea17ea824..1e1c0114ed3577224d1672ba8b9e513eeb201745 100644 (file)
@@ -88,6 +88,11 @@ func maxAccessMode(modes ...AccessMode) AccessMode {
        return max
 }
 
+func (repo *Repository) recalculateTeamAccesses(e Engine, mode AccessMode) error {
+
+       return nil
+}
+
 func (repo *Repository) recalculateAccesses(e Engine) error {
        accessMap := make(map[int64]AccessMode, 20)
 
@@ -111,6 +116,8 @@ func (repo *Repository) recalculateAccesses(e Engine) error {
                for _, team := range repo.Owner.Teams {
                        if !(team.IsOwnerTeam() || team.HasRepository(repo)) {
                                continue
+                       } else if team.IsOwnerTeam() {
+                               team.Authorize = ACCESS_MODE_OWNER
                        }
 
                        if err = team.getMembers(e); err != nil {
@@ -129,22 +136,20 @@ func (repo *Repository) recalculateAccesses(e Engine) error {
 
        newAccesses := make([]Access, 0, len(accessMap))
        for userID, mode := range accessMap {
-               if userID == repo.OwnerId || mode <= minMode {
+               if mode < minMode {
                        continue
                }
                newAccesses = append(newAccesses, Access{
                        UserID: userID,
                        RepoID: repo.Id,
-                       Mode:   mode})
+                       Mode:   mode,
+               })
        }
 
-       // Delete old accesses for repository
+       // Delete old accesses and insert new ones for repository.
        if _, err = e.Delete(&Access{RepoID: repo.Id}); err != nil {
                return err
-       }
-
-       // And insert the new ones
-       if _, err = e.Insert(newAccesses); err != nil {
+       } else if _, err = e.Insert(newAccesses); err != nil {
                return err
        }