c5a9d73ad8
Adds rel="noopener noreferrer" to all links with target="_blank" See merge request !2071
119 lines
6.5 KiB
Text
119 lines
6.5 KiB
Text
- @content_class = "limit-container-width" unless fluid_layout
|
|
- page_title "#{@merge_request.title} (#{@merge_request.to_reference})", "Merge Requests"
|
|
- page_description @merge_request.description
|
|
- page_card_attributes @merge_request.card_attributes
|
|
- content_for :page_specific_javascripts do
|
|
= page_specific_javascript_bundle_tag('common_vue')
|
|
= page_specific_javascript_bundle_tag('diff_notes')
|
|
|
|
.merge-request{ 'data-url' => merge_request_path(@merge_request), 'data-project-path' => project_path(@merge_request.project) }
|
|
= render "projects/merge_requests/show/mr_title"
|
|
|
|
.merge-request-details.issuable-details{ data: { id: @merge_request.project.id } }
|
|
= render "projects/merge_requests/show/mr_box"
|
|
.append-bottom-default.mr-source-target.prepend-top-default
|
|
- if @merge_request.open?
|
|
.pull-right
|
|
- if @merge_request.source_branch_exists?
|
|
- if koding_enabled? && @repository.koding_yml
|
|
= link_to koding_project_url(@merge_request.source_project, @merge_request.source_branch, @merge_request.commits.first.short_id), class: "btn inline btn-grouped btn-sm", target: '_blank', rel: 'noopener noreferrer' do
|
|
Run in IDE (Koding)
|
|
= link_to "#modal_merge_info", class: "btn inline btn-grouped btn-sm", "data-toggle" => "modal" do
|
|
Check out branch
|
|
|
|
%span.dropdown.inline.prepend-left-5
|
|
%a.btn.btn-sm.dropdown-toggle{ data: {toggle: :dropdown} }
|
|
Download as
|
|
= icon('caret-down')
|
|
%ul.dropdown-menu.dropdown-menu-align-right
|
|
%li= link_to "Email Patches", merge_request_path(@merge_request, format: :patch)
|
|
%li= link_to "Plain Diff", merge_request_path(@merge_request, format: :diff)
|
|
.normal
|
|
%span <b>Request to merge</b>
|
|
%span.label-branch= source_branch_with_namespace(@merge_request)
|
|
%span <b>into</b>
|
|
%span.label-branch
|
|
= link_to_if @merge_request.target_branch_exists?, @merge_request.target_branch, namespace_project_commits_path(@project.namespace, @project, @merge_request.target_branch)
|
|
- if @merge_request.open? && @merge_request.diverged_from_target_branch?
|
|
%span (#{pluralize(@merge_request.diverged_commits_count, 'commit')} behind)
|
|
|
|
- if @merge_request.source_branch_exists?
|
|
= render "projects/merge_requests/show/how_to_merge"
|
|
|
|
= render "projects/merge_requests/widget/show.html.haml"
|
|
|
|
- if @merge_request.source_branch_exists? && @merge_request.mergeable? && @merge_request.can_be_merged_by?(current_user)
|
|
.merge-manually.light.prepend-top-default
|
|
You can also accept this merge request manually using the
|
|
= succeed '.' do
|
|
= link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
|
|
|
|
.content-block.content-block-small.emoji-list-container
|
|
= render 'award_emoji/awards_block', awardable: @merge_request, inline: true
|
|
|
|
.merge-request-tabs-holder{ class: ("js-tabs-affix" unless ENV['RAILS_ENV'] == 'test') }
|
|
.merge-request-tabs-container
|
|
%ul.merge-request-tabs.nav-links.no-top.no-bottom
|
|
%li.notes-tab
|
|
= link_to namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#notes', action: 'notes', toggle: 'tab' } do
|
|
Discussion
|
|
%span.badge= @merge_request.related_notes.user.count
|
|
- if @merge_request.source_project
|
|
%li.commits-tab
|
|
= link_to commits_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#commits', action: 'commits', toggle: 'tab' } do
|
|
Commits
|
|
%span.badge= @commits_count
|
|
- if @pipelines.any?
|
|
%li.pipelines-tab
|
|
= link_to pipelines_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: '#pipelines', action: 'pipelines', toggle: 'tab' } do
|
|
Pipelines
|
|
%span.badge= @pipelines.size
|
|
%li.diffs-tab
|
|
= link_to diffs_namespace_project_merge_request_path(@project.namespace, @project, @merge_request), data: { target: 'div#diffs', action: 'diffs', toggle: 'tab' } do
|
|
Changes
|
|
%span.badge= @merge_request.diff_size
|
|
%li#resolve-count-app.line-resolve-all-container.pull-right.prepend-top-10.hidden-xs{ "v-cloak" => true }
|
|
%resolve-count{ "inline-template" => true, ":logged-out" => "#{current_user.nil?}" }
|
|
%div
|
|
.line-resolve-all{ "v-show" => "discussionCount > 0",
|
|
":class" => "{ 'has-next-btn': !loggedOut && resolvedDiscussionCount !== discussionCount }" }
|
|
%span.line-resolve-btn.is-disabled{ type: "button",
|
|
":class" => "{ 'is-active': resolvedDiscussionCount === discussionCount }" }
|
|
= render "shared/icons/icon_status_success.svg"
|
|
%span.line-resolve-text
|
|
{{ resolvedDiscussionCount }}/{{ discussionCount }} {{ resolvedCountText }} resolved
|
|
= render "discussions/new_issue_for_all_discussions", merge_request: @merge_request
|
|
= render "discussions/jump_to_next"
|
|
|
|
.tab-content#diff-notes-app
|
|
#notes.notes.tab-pane.voting_notes
|
|
.row
|
|
%section.col-md-12
|
|
.issuable-discussion
|
|
= render "projects/merge_requests/discussion"
|
|
|
|
#commits.commits.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
#pipelines.pipelines.tab-pane
|
|
- if @pipelines.any?
|
|
= render 'projects/commit/pipelines_list', disable_initialization: true, endpoint: pipelines_namespace_project_merge_request_path(@project.namespace, @project, @merge_request)
|
|
#diffs.diffs.tab-pane
|
|
-# This tab is always loaded via AJAX
|
|
|
|
.mr-loading-status
|
|
= spinner
|
|
|
|
= render 'shared/issuable/sidebar', issuable: @merge_request
|
|
- if @merge_request.can_be_reverted?(current_user)
|
|
= render "projects/commit/change", type: 'revert', commit: @merge_request.merge_commit, title: @merge_request.title
|
|
- if @merge_request.can_be_cherry_picked?
|
|
= render "projects/commit/change", type: 'cherry-pick', commit: @merge_request.merge_commit, title: @merge_request.title
|
|
|
|
:javascript
|
|
$(function () {
|
|
new MergeRequest({
|
|
action: "#{controller.action_name}"
|
|
});
|
|
});
|
|
|
|
var mrRefreshWidgetUrl = "#{mr_widget_refresh_url(@merge_request)}";
|