d6c8eefb5d
* Squash project users selectbox and users selectbox into one class * Move from API autocomplete to GitLab internal one * Smarter filter for project/group/all issues * Use selectbox with searchbox for assignee/author/milestone/label * Switch to ajax filter for issue author/assignee
123 lines
5 KiB
Text
123 lines
5 KiB
Text
%h3.page-title
|
|
New merge request
|
|
%p.slead
|
|
From
|
|
%strong.label-branch #{@merge_request.source_project_namespace}:#{@merge_request.source_branch}
|
|
%span into
|
|
%strong.label-branch #{@merge_request.target_project_namespace}:#{@merge_request.target_branch}
|
|
|
|
%span.pull-right
|
|
= link_to 'Change branches', new_namespace_project_merge_request_path(@project.namespace, @project)
|
|
|
|
= form_for [@project.namespace.becomes(Namespace), @project, @merge_request], html: { class: "merge-request-form form-horizontal gfm-form" } do |f|
|
|
.merge-request-form-info
|
|
.form-group
|
|
= f.label :title, class: 'control-label' do
|
|
%strong Title *
|
|
.col-sm-10
|
|
= f.text_field :title, maxlength: 255, autofocus: true, class: 'form-control pad js-gfm-input', required: true
|
|
.form-group.issuable-description
|
|
= f.label :description, 'Description', class: 'control-label'
|
|
.col-sm-10
|
|
= render layout: 'projects/md_preview', locals: { preview_class: "wiki" } do
|
|
= render 'projects/zen', f: f, attr: :description, classes: 'description form-control'
|
|
|
|
.col-sm-12-hint
|
|
.pull-left
|
|
Parsed with
|
|
#{link_to 'Gitlab Flavored Markdown', help_page_path('markdown', 'markdown'), target: '_blank'}.
|
|
.pull-right
|
|
Attach files by dragging & dropping
|
|
or #{link_to 'selecting them', '#', class: 'markdown-selector'}.
|
|
|
|
.clearfix
|
|
.error-alert
|
|
%hr
|
|
.form-group
|
|
.issue-assignee
|
|
= f.label :assignee_id, class: 'control-label' do
|
|
%i.fa.fa-user
|
|
Assign to
|
|
.col-sm-10
|
|
= users_select_tag('merge_request[assignee_id]', placeholder: 'Select a user', class: 'custom-form-control', selected: @merge_request.assignee_id, project_id: @merge_request.target_project_id)
|
|
|
|
= link_to 'Assign to me', '#', class: 'btn assign-to-me-link'
|
|
.form-group
|
|
.issue-milestone
|
|
= f.label :milestone_id, class: 'control-label' do
|
|
%i.fa.fa-clock-o
|
|
Milestone
|
|
.col-sm-10
|
|
- if milestone_options(@merge_request).present?
|
|
= f.select(:milestone_id, milestone_options(@merge_request), {include_blank: 'Select milestone'}, {class: 'select2'})
|
|
- else
|
|
%span.light No open milestones available.
|
|
|
|
- if can? current_user, :admin_milestone, @merge_request.target_project
|
|
= link_to 'Create new milestone', new_namespace_project_milestone_path(@merge_request.target_project.namespace, @merge_request.target_project), target: :blank
|
|
.form-group
|
|
= f.label :label_ids, class: 'control-label' do
|
|
%i.fa.fa-tag
|
|
Labels
|
|
.col-sm-10
|
|
- if @merge_request.target_project.labels.any?
|
|
= f.collection_select :label_ids, @merge_request.target_project.labels.all, :id, :name, {selected: @merge_request.label_ids}, multiple: true, class: 'select2'
|
|
- else
|
|
%span.light No labels yet.
|
|
|
|
- if can? current_user, :admin_label, @merge_request.target_project
|
|
= link_to 'Create new label', new_namespace_project_label_path(@merge_request.target_project.namespace, @merge_request.target_project), target: :blank
|
|
|
|
.form-actions
|
|
- if guide_url = contribution_guide_url(@target_project)
|
|
%p
|
|
Please review the
|
|
%strong #{link_to 'guidelines for contribution', guide_url}
|
|
to this repository.
|
|
= f.hidden_field :source_project_id
|
|
= f.hidden_field :source_branch
|
|
= f.hidden_field :target_project_id
|
|
= f.hidden_field :target_branch
|
|
= f.submit 'Submit merge request', class: 'btn btn-create'
|
|
|
|
.mr-compare.merge-request
|
|
%ul.nav.nav-tabs.merge-request-tabs
|
|
%li.commits-tab{data: {action: 'commits'}}
|
|
= link_to url_for(params) do
|
|
%i.fa.fa-history
|
|
Commits
|
|
%span.badge= @commits.size
|
|
%li.diffs-tab{data: {action: 'diffs'}}
|
|
= link_to url_for(params) do
|
|
%i.fa.fa-list-alt
|
|
Changes
|
|
%span.badge= @diffs.size
|
|
|
|
.commits.tab-content
|
|
= render "projects/commits/commits", project: @project
|
|
.diffs.tab-content
|
|
- if @diffs.present?
|
|
= render "projects/diffs/diffs", diffs: @diffs, project: @project
|
|
- elsif @commits.size > MergeRequestDiff::COMMITS_SAFE_SIZE
|
|
.alert.alert-danger
|
|
%h4 This comparison includes more than #{MergeRequestDiff::COMMITS_SAFE_SIZE} commits.
|
|
%p To preserve performance the line changes are not shown.
|
|
- else
|
|
.alert.alert-danger
|
|
%h4 This comparison includes a huge diff.
|
|
%p To preserve performance the line changes are not shown.
|
|
|
|
:javascript
|
|
$('.assign-to-me-link').on('click', function(e){
|
|
$('#merge_request_assignee_id').val("#{current_user.id}").trigger("change");
|
|
e.preventDefault();
|
|
});
|
|
|
|
window.project_uploads_path = "#{namespace_project_uploads_path @project.namespace, @project}";
|
|
|
|
:javascript
|
|
var merge_request
|
|
merge_request = new MergeRequest({
|
|
action: 'commits'
|
|
});
|
|
|