forked from NYANDEV/forgejo
Merge branch 'access' of github.com:gogits/gogs into access
This commit is contained in:
commit
e90f014e4a
1 changed files with 15 additions and 0 deletions
|
@ -669,6 +669,19 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// Remove redundant collaborators
|
||||
collaborators, err := repo.GetCollaborators()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, c := range collaborators {
|
||||
if c.Id == newUser.Id || newUser.IsOrgMember(c.Id) {
|
||||
if _, err = sess.Delete(&Collaboration{RepoID: repo.Id, UserID: c.Id}); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update user repository number.
|
||||
if _, err = sess.Exec("UPDATE `user` SET num_repos = num_repos + 1 WHERE id = ?", newUser.Id); err != nil {
|
||||
return err
|
||||
|
@ -777,6 +790,8 @@ func DeleteRepository(uid, repoId int64, userName string) error {
|
|||
return err
|
||||
} else if _, err = sess.Delete(&Release{RepoId: repoId}); err != nil {
|
||||
return err
|
||||
} else if _, err = sess.Delete(&Collaboration{RepoID: repoId}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Delete comments.
|
||||
|
|
Loading…
Reference in a new issue