parent
67a8688538
commit
32145b6de8
2 changed files with 20 additions and 2 deletions
|
@ -184,6 +184,24 @@ func (repo *Repository) IsProtectedBranch(branchName string, doer *User) (bool,
|
||||||
BranchName: branchName,
|
BranchName: branchName,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
has, err := x.Exist(protectedBranch)
|
||||||
|
if err != nil {
|
||||||
|
return true, err
|
||||||
|
}
|
||||||
|
return has, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsProtectedBranchForPush checks if branch is protected for push
|
||||||
|
func (repo *Repository) IsProtectedBranchForPush(branchName string, doer *User) (bool, error) {
|
||||||
|
if doer == nil {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
protectedBranch := &ProtectedBranch{
|
||||||
|
RepoID: repo.ID,
|
||||||
|
BranchName: branchName,
|
||||||
|
}
|
||||||
|
|
||||||
has, err := x.Get(protectedBranch)
|
has, err := x.Get(protectedBranch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return true, err
|
return true, err
|
||||||
|
|
|
@ -85,9 +85,9 @@ func (r *Repository) CanCreateBranch() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
// CanCommitToBranch returns true if repository is editable and user has proper access level
|
// CanCommitToBranch returns true if repository is editable and user has proper access level
|
||||||
// and branch is not protected
|
// and branch is not protected for push
|
||||||
func (r *Repository) CanCommitToBranch(doer *models.User) (bool, error) {
|
func (r *Repository) CanCommitToBranch(doer *models.User) (bool, error) {
|
||||||
protectedBranch, err := r.Repository.IsProtectedBranch(r.BranchName, doer)
|
protectedBranch, err := r.Repository.IsProtectedBranchForPush(r.BranchName, doer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue