summaryrefslogtreecommitdiff
path: root/app/helpers
diff options
context:
space:
mode:
authorJacopo <beschi.jacopo@gmail.com>2018-09-20 16:41:15 +0200
committerJacopo <beschi.jacopo@gmail.com>2018-10-02 16:17:55 +0200
commite2056f08f072805a132bf18879749e401d8ad620 (patch)
treeb6f7011f7df982cb6c70d604beeef3c656250f7a /app/helpers
parentba66e0cc9cc26df686ed47d926a3edcde497baa1 (diff)
downloadgitlab-ce-e2056f08f072805a132bf18879749e401d8ad620.tar.gz
Hides Close MR button on merged MR50161-hide-close-mr-button-when-merged
When a Merge request is merged, shows only the Report abuse menu item in the dropdown menu instead of showing the close_reopen_report toggle with an unusable Close button. The Report abuse is still hidden when the author of the Merge request is the current_user. Hides the Reopen button on a closed and locked issue when the issue.author is not the current_user
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/issuables_helper.rb8
-rw-r--r--app/helpers/issues_helper.rb6
-rw-r--r--app/helpers/merge_requests_helper.rb6
3 files changed, 16 insertions, 4 deletions
diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb
index 56f6686da57..97406fefd43 100644
--- a/app/helpers/issuables_helper.rb
+++ b/app/helpers/issuables_helper.rb
@@ -327,11 +327,15 @@ module IssuablesHelper
end
def issuable_button_visibility(issuable, closed)
+ return 'hidden' if issuable_button_hidden?(issuable, closed)
+ end
+
+ def issuable_button_hidden?(issuable, closed)
case issuable
when Issue
- issue_button_visibility(issuable, closed)
+ issue_button_hidden?(issuable, closed)
when MergeRequest
- merge_request_button_visibility(issuable, closed)
+ merge_request_button_hidden?(issuable, closed)
end
end
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index f7d448ea3a7..957ab06b0ca 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -64,7 +64,11 @@ module IssuesHelper
end
def issue_button_visibility(issue, closed)
- return 'hidden' if issue.closed? == closed
+ return 'hidden' if issue_button_hidden?(issue, closed)
+ end
+
+ def issue_button_hidden?(issue, closed)
+ issue.closed? == closed || (!closed && issue.discussion_locked)
end
def confidential_icon(issue)
diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb
index 87af6fb08f0..23d7aa427bb 100644
--- a/app/helpers/merge_requests_helper.rb
+++ b/app/helpers/merge_requests_helper.rb
@@ -80,7 +80,11 @@ module MergeRequestsHelper
end
def merge_request_button_visibility(merge_request, closed)
- return 'hidden' if merge_request.closed? == closed || (merge_request.merged? == closed && !merge_request.closed?) || merge_request.closed_without_fork?
+ return 'hidden' if merge_request_button_hidden?(merge_request, closed)
+ end
+
+ def merge_request_button_hidden?(merge_request, closed)
+ merge_request.closed? == closed || (merge_request.merged? == closed && !merge_request.closed?) || merge_request.closed_without_fork?
end
def merge_request_version_path(project, merge_request, merge_request_diff, start_sha = nil)