summaryrefslogtreecommitdiffstats
path: root/models/error.go
diff options
context:
space:
mode:
authorChri-s <Chri-s@users.noreply.github.com>2018-03-13 04:46:14 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2018-03-13 11:46:14 +0800
commita2a49c93c78a81d1eaa6b0eaf84a0c3f4bcd2487 (patch)
treec59d836cbbc221d79c8d90c2f62775da680b6fef /models/error.go
parentc0d41b1b77169553006bd9211d025de4da8bafd8 (diff)
downloadgitea-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.go15
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