forked from Gitlink/gitea-1156
fix: transfer repository do not need pending status
This commit is contained in:
parent
7f2637a342
commit
022dadadef
|
@ -92,30 +92,32 @@ func StartRepositoryTransfer(doer, newOwner *models.User, repo *models.Repositor
|
||||||
if allowed {
|
if allowed {
|
||||||
return TransferOwnership(doer, newOwner, repo, teams)
|
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
|
// 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)
|
// hasAccess, err := models.HasAccess(newOwner.ID, repo)
|
||||||
if err != nil {
|
// if err != nil {
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
if !hasAccess {
|
// if !hasAccess {
|
||||||
if err := repo.AddCollaborator(newOwner); err != nil {
|
// if err := repo.AddCollaborator(newOwner); err != nil {
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
if err := repo.ChangeCollaborationAccessMode(newOwner.ID, models.AccessModeRead); err != nil {
|
// if err := repo.ChangeCollaborationAccessMode(newOwner.ID, models.AccessModeRead); err != nil {
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Make repo as pending for transfer
|
// Make repo as pending for transfer
|
||||||
repo.Status = models.RepositoryPendingTransfer
|
// repo.Status = models.RepositoryPendingTransfer
|
||||||
if err := models.CreatePendingRepositoryTransfer(doer, newOwner, repo.ID, teams); err != nil {
|
// if err := models.CreatePendingRepositoryTransfer(doer, newOwner, repo.ID, teams); err != nil {
|
||||||
return err
|
// return err
|
||||||
}
|
// }
|
||||||
|
|
||||||
// notify users who are able to accept / reject transfer
|
// notify users who are able to accept / reject transfer
|
||||||
notification.NotifyRepoPendingTransfer(doer, newOwner, repo)
|
// notification.NotifyRepoPendingTransfer(doer, newOwner, repo)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue