diff options
author | Douwe Maan <douwe@gitlab.com> | 2017-12-07 16:49:04 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2017-12-07 16:49:04 +0000 |
commit | 9dffd0ab6b2e9f5b0db55230d8991f50a01f7669 (patch) | |
tree | 52e1870616006021d7cd33a53cf20eb28b1251e7 /app/helpers | |
parent | ff6a3ae705bead7cc345cab3530cb82a0c74b043 (diff) | |
parent | daf9357aa92283e6cdd0d1e0cade65c8e2294540 (diff) | |
download | gitlab-ce-9dffd0ab6b2e9f5b0db55230d8991f50a01f7669.tar.gz |
Merge branch 'dm-commit-diff-discussions-in-mr-context' into 'master'
Allow commenting on individual commits inside an MR
Closes #31847
See merge request gitlab-org/gitlab-ce!12148
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/commits_helper.rb | 8 | ||||
-rw-r--r-- | app/helpers/merge_requests_helper.rb | 24 |
2 files changed, 32 insertions, 0 deletions
diff --git a/app/helpers/commits_helper.rb b/app/helpers/commits_helper.rb index f68e2cd3afa..2d304f7eb91 100644 --- a/app/helpers/commits_helper.rb +++ b/app/helpers/commits_helper.rb @@ -228,4 +228,12 @@ module CommitsHelper [commits, 0] end end + + def commit_path(project, commit, merge_request: nil) + if merge_request&.persisted? + diffs_project_merge_request_path(project, merge_request, commit_id: commit.id) + else + project_commit_path(project, commit) + end + end end diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 5b2c58d193d..ce57422f45d 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -101,6 +101,30 @@ module MergeRequestsHelper }.merge(merge_params_ee(merge_request)) end + def tab_link_for(merge_request, tab, options = {}, &block) + data_attrs = { + action: tab.to_s, + target: "##{tab}", + toggle: options.fetch(:force_link, false) ? '' : 'tab' + } + + url = case tab + when :show + data_attrs[:target] = '#notes' + method(:project_merge_request_path) + when :commits + method(:commits_project_merge_request_path) + when :pipelines + method(:pipelines_project_merge_request_path) + when :diffs + method(:diffs_project_merge_request_path) + else + raise "Cannot create tab #{tab}." + end + + link_to(url[merge_request.project, merge_request], data: data_attrs, &block) + end + def merge_params_ee(merge_request) {} end |