diff options
author | Chri-s <Chri-s@users.noreply.github.com> | 2018-03-13 04:46:14 +0100 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2018-03-13 11:46:14 +0800 |
commit | a2a49c93c78a81d1eaa6b0eaf84a0c3f4bcd2487 (patch) | |
tree | c59d836cbbc221d79c8d90c2f62775da680b6fef /models/error.go | |
parent | c0d41b1b77169553006bd9211d025de4da8bafd8 (diff) | |
download | gitea-a2a49c93c78a81d1eaa6b0eaf84a0c3f4bcd2487.tar.gz gitea-a2a49c93c78a81d1eaa6b0eaf84a0c3f4bcd2487.zip |
Added checks for protected branches in pull requests (#3544)
* Added checks for protected branches in pull requests
Signed-off-by: Christian Wulff <NChris@posteo.net>
* Moved check for protected branch into new function CheckUserAllowedToMerge
Signed-off-by: Christian Wulff <NChris@posteo.net>
* Removed merge conflict lines from last commit
Signed-off-by: Christian Wulff <NChris@posteo.net>
* Explicit check for error type in ViewIssue
Signed-off-by: Christian Wulff <NChris@posteo.net>
Diffstat (limited to 'models/error.go')
-rw-r--r-- | models/error.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/models/error.go b/models/error.go index a1c24f4ec0..d24da2642e 100644 --- a/models/error.go +++ b/models/error.go @@ -785,6 +785,21 @@ func (err ErrBranchNameConflict) Error() string { return fmt.Sprintf("branch conflicts with existing branch [name: %s]", err.BranchName) } +// ErrNotAllowedToMerge represents an error that a branch is protected and the current user is not allowed to modify it +type ErrNotAllowedToMerge struct { + Reason string +} + +// IsErrNotAllowedToMerge checks if an error is an ErrNotAllowedToMerge. +func IsErrNotAllowedToMerge(err error) bool { + _, ok := err.(ErrNotAllowedToMerge) + return ok +} + +func (err ErrNotAllowedToMerge) Error() string { + return fmt.Sprintf("not allowed to merge [reason: %s]", err.Reason) +} + // ErrTagAlreadyExists represents an error that tag with such name already exists type ErrTagAlreadyExists struct { TagName string |