Re-enable transfer repo back from org to user account (#14807)

* re-enable transfer repo back from org to user account

* add test case
This commit is contained in:
6543 2021-02-26 10:08:09 +01:00 committed by GitHub
parent 8f389c5dfa
commit 77ce08976d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions

View file

@ -450,6 +450,7 @@ func TestAPIRepoTransfer(t *testing.T) {
{ctxUserID: 1, newOwner: "user2", teams: &[]int64{2}, expectedStatus: http.StatusUnprocessableEntity}, {ctxUserID: 1, newOwner: "user2", teams: &[]int64{2}, expectedStatus: http.StatusUnprocessableEntity},
{ctxUserID: 1, newOwner: "user3", teams: &[]int64{5}, expectedStatus: http.StatusForbidden}, {ctxUserID: 1, newOwner: "user3", teams: &[]int64{5}, expectedStatus: http.StatusForbidden},
{ctxUserID: 1, newOwner: "user3", teams: &[]int64{2}, expectedStatus: http.StatusAccepted}, {ctxUserID: 1, newOwner: "user3", teams: &[]int64{2}, expectedStatus: http.StatusAccepted},
{ctxUserID: 2, newOwner: "user2", teams: nil, expectedStatus: http.StatusAccepted},
} }
defer prepareTestEnv(t)() defer prepareTestEnv(t)()

View file

@ -80,8 +80,8 @@ func StartRepositoryTransfer(doer, newOwner *models.User, repo *models.Repositor
return fmt.Errorf("repository is not ready for transfer") return fmt.Errorf("repository is not ready for transfer")
} }
// Admin is always allowed to transfer // Admin is always allowed to transfer || user transfer repo back to his account
if doer.IsAdmin { if doer.IsAdmin || doer.ID == newOwner.ID {
return TransferOwnership(doer, newOwner, repo, teams) return TransferOwnership(doer, newOwner, repo, teams)
} }