Просмотр исходного кода

some fixes, but not done yet!

tags/v0.9.99
Unknwon 9 лет назад
Родитель
Сommit
25f5a8d798
1 измененных файлов: 12 добавлений и 7 удалений
  1. 12
    7
      models/access.go

+ 12
- 7
models/access.go Просмотреть файл

@@ -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
}


Загрузка…
Отмена
Сохранить