fix: transfer repository do not need pending status

This commit is contained in:
yystopf 2022-01-25 14:27:58 +08:00
parent 7f2637a342
commit 022dadadef
1 changed files with 19 additions and 17 deletions

View File

@ -92,30 +92,32 @@ func StartRepositoryTransfer(doer, newOwner *models.User, repo *models.Repositor
if allowed {
return TransferOwnership(doer, newOwner, repo, teams)
}
} else {
return TransferOwnership(doer, newOwner, repo, teams)
}
// In case the new owner would not have sufficient access to the repo, give access rights for read
hasAccess, err := models.HasAccess(newOwner.ID, repo)
if err != nil {
return err
}
if !hasAccess {
if err := repo.AddCollaborator(newOwner); err != nil {
return err
}
if err := repo.ChangeCollaborationAccessMode(newOwner.ID, models.AccessModeRead); err != nil {
return err
}
}
// hasAccess, err := models.HasAccess(newOwner.ID, repo)
// if err != nil {
// return err
// }
// if !hasAccess {
// if err := repo.AddCollaborator(newOwner); err != nil {
// return err
// }
// if err := repo.ChangeCollaborationAccessMode(newOwner.ID, models.AccessModeRead); err != nil {
// return err
// }
// }
// Make repo as pending for transfer
repo.Status = models.RepositoryPendingTransfer
if err := models.CreatePendingRepositoryTransfer(doer, newOwner, repo.ID, teams); err != nil {
return err
}
// repo.Status = models.RepositoryPendingTransfer
// if err := models.CreatePendingRepositoryTransfer(doer, newOwner, repo.ID, teams); err != nil {
// return err
// }
// notify users who are able to accept / reject transfer
notification.NotifyRepoPendingTransfer(doer, newOwner, repo)
// notification.NotifyRepoPendingTransfer(doer, newOwner, repo)
return nil
}