mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-23 11:36:09 +10:00
184 lines
8.1 KiB
Plaintext
184 lines
8.1 KiB
Plaintext
- if issuable.errors.any?
|
|
.row
|
|
.col-sm-offset-2.col-sm-10
|
|
.alert.alert-danger
|
|
- issuable.errors.full_messages.each do |msg|
|
|
%span= msg
|
|
%br
|
|
.form-group
|
|
= f.label :title, class: 'control-label' do
|
|
%strong= 'Title *'
|
|
.col-sm-10
|
|
= f.text_field :title, maxlength: 255, autofocus: true, autocomplete: 'off',
|
|
class: 'form-control pad js-gfm-input js-quick-submit', required: true
|
|
|
|
- if issuable.is_a?(MergeRequest)
|
|
%p.help-block
|
|
- if issuable.work_in_progress?
|
|
Remove the <code>WIP</code> prefix from the title to allow this
|
|
<strong>Work In Progress</strong> merge request to be merged when it's ready.
|
|
- else
|
|
Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
|
|
<strong>Work In Progress</strong> merge request from being merged before it's ready.
|
|
.form-group.issuable-description
|
|
= f.label :description, 'Description', class: 'control-label'
|
|
.col-sm-10
|
|
|
|
= render layout: 'projects/md_preview', locals: { preview_class: "md-preview", referenced_users: true } do
|
|
= render 'projects/zen', f: f, attr: :description,
|
|
classes: 'description form-control js-quick-submit'
|
|
= render 'projects/notes/hints'
|
|
.clearfix
|
|
.error-alert
|
|
%hr
|
|
- if can?(current_user, :"admin_#{issuable.to_ability_name}", issuable.project)
|
|
.form-group
|
|
.issue-assignee
|
|
= f.label :assignee_id, class: 'control-label' do
|
|
%i.fa.fa-user
|
|
Assign to
|
|
.col-sm-10
|
|
= users_select_tag("#{issuable.class.model_name.param_key}[assignee_id]",
|
|
placeholder: 'Select a user', class: 'custom-form-control', null_user: true,
|
|
selected: issuable.assignee_id, project: @target_project || @project,
|
|
first_user: true, current_user: true)
|
|
|
|
= 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(issuable).present?
|
|
= f.select(:milestone_id, milestone_options(issuable),
|
|
{ include_blank: 'Select milestone' }, { class: 'select2' })
|
|
- else
|
|
.prepend-top-10
|
|
%span.light No open milestones available.
|
|
|
|
- if can? current_user, :admin_milestone, issuable.project
|
|
= link_to 'Create new milestone', new_namespace_project_milestone_path(issuable.project.namespace, issuable.project), target: :blank
|
|
.form-group
|
|
= f.label :label_ids, class: 'control-label' do
|
|
%i.fa.fa-tag
|
|
Labels
|
|
.col-sm-10
|
|
- if issuable.project.labels.any?
|
|
= f.collection_select :label_ids, issuable.project.labels.all, :id, :name,
|
|
{ selected: issuable.label_ids }, multiple: true, class: 'select2'
|
|
- else
|
|
.prepend-top-10
|
|
%span.light No labels yet.
|
|
|
|
- if can? current_user, :admin_label, issuable.project
|
|
= link_to 'Create new label', new_namespace_project_label_path(issuable.project.namespace, issuable.project), target: :blank
|
|
|
|
- if issuable.is_a?(MergeRequest)
|
|
- if @merge_request.requires_approve?
|
|
.form-group
|
|
= f.label :approver_ids, class: 'control-label' do
|
|
Approvers
|
|
.col-sm-10
|
|
= users_select_tag("merge_request[approver_ids]", multiple: true, class: 'input-large', scope: :all, email_user: true)
|
|
.help-block
|
|
Merge Request should be approved by these users.
|
|
You can override the project settings by setting your own list of approvers.
|
|
|
|
.panel.panel-default.prepend-top-10
|
|
.panel-heading
|
|
Approvers
|
|
%ul.well-list.approver-list
|
|
- if @merge_request.new_record?
|
|
- @merge_request.target_project.approvers.each do |approver|
|
|
%li.project-approvers{id: dom_id(approver.user)}
|
|
= link_to approver.user.name, approver.user
|
|
.pull-right
|
|
= link_to "#", data: { confirm: "Are you sure you want to remove approver #{approver.user.name}"}, class: "btn-xs btn btn-remove", title: 'Remove approver' do
|
|
= icon("sign-out")
|
|
Remove
|
|
- if @merge_request.target_project.approvers.empty?
|
|
%li.no-approvers There are no approvers
|
|
- else
|
|
- @merge_request.approvers.each do |approver|
|
|
%li{id: dom_id(approver.user)}
|
|
= link_to approver.user.name, approver.user
|
|
.pull-right
|
|
= link_to namespace_project_merge_request_approver_path(@project.namespace, @project, @merge_request, approver), data: { confirm: "Are you sure you want to remove approver #{approver.user.name}"}, method: :delete, class: "btn-xs btn btn-remove", title: 'Remove approver' do
|
|
= icon("sign-out")
|
|
Remove
|
|
- if @merge_request.approvers.empty?
|
|
%li.no-approvers There are no approvers
|
|
.help-block.suggested-approvers
|
|
- if @suggested_approvers.any?
|
|
Suggested approvers:
|
|
= raw @suggested_approvers.map{|approver| link_to sanitize(approver.name), "#", id: dom_id(approver) }.join(", ")
|
|
|
|
%hr
|
|
- if @merge_request.new_record?
|
|
.form-group
|
|
= f.label :source_branch, class: 'control-label' do
|
|
%i.fa.fa-code-fork
|
|
Source Branch
|
|
.col-sm-10
|
|
= f.select(:source_branch, [@merge_request.source_branch], { }, { class: 'source_branch select2 span2', disabled: true })
|
|
.form-group
|
|
= f.label :target_branch, class: 'control-label' do
|
|
%i.fa.fa-code-fork
|
|
Target Branch
|
|
.col-sm-10
|
|
= f.select(:target_branch, @merge_request.target_branches, { include_blank: "Select branch" }, { class: 'target_branch select2 span2', disabled: @merge_request.new_record? })
|
|
- if @merge_request.new_record?
|
|
%p.help-block
|
|
= link_to 'Change branches', mr_change_branches_path(@merge_request)
|
|
|
|
.form-actions
|
|
- if !issuable.project.empty_repo? && (guide_url = contribution_guide_path(issuable.project)) && !issuable.persisted?
|
|
%p
|
|
Please review the
|
|
%strong #{link_to 'guidelines for contribution', guide_url}
|
|
to this repository.
|
|
- if issuable.new_record?
|
|
= f.submit "Submit new #{issuable.class.model_name.human.downcase}", class: 'btn btn-create'
|
|
- else
|
|
= f.submit 'Save changes', class: 'btn btn-save'
|
|
- if issuable.new_record?
|
|
- cancel_project = issuable.source_project
|
|
- else
|
|
- cancel_project = issuable.project
|
|
= link_to 'Cancel', [cancel_project.namespace.becomes(Namespace), cancel_project, issuable], class: 'btn btn-cancel'
|
|
|
|
%li.project-approvers.hide.approver-template{id: "user_{user_id}"}
|
|
= link_to "{approver_name}", "#"
|
|
.pull-right
|
|
= link_to "#", data: { confirm: "Are you sure you want to remove approver {approver_name}"}, class: "btn-xs btn btn-remove", title: 'Remove approver' do
|
|
= icon("sign-out")
|
|
Remove
|
|
- if issuable.is_a?(MergeRequest)
|
|
:coffeescript
|
|
$(".approver-list").on "click", ".project-approvers .btn-remove", ->
|
|
$(this).closest("li").remove()
|
|
return false
|
|
$("form.merge-request-form").submit ->
|
|
if $("input#merge_request_approver_ids").length
|
|
approver_ids = $.map $("li.project-approvers").not(".approver-template"), (li, i) ->
|
|
li.id.replace("user_", "")
|
|
approvers_input = $(this).find("input#merge_request_approver_ids")
|
|
approver_ids = approver_ids.concat(approvers_input.val().split(","))
|
|
approvers_input.val(_.compact(approver_ids).join(","))
|
|
$(".suggested-approvers a").click ->
|
|
user_id = this.id.replace("user_", "")
|
|
user_name = this.text
|
|
return false if $(".approver-list #user_" + user_id).length
|
|
|
|
approver_item_html = $(".project-approvers.approver-template").clone().
|
|
removeClass("hide approver-template")[0].
|
|
outerHTML.
|
|
replace(/\{approver_name\}/g, user_name).
|
|
replace(/\{user_id\}/g, user_id)
|
|
$(".no-approvers").remove()
|
|
$(".approver-list").append(approver_item_html)
|
|
return false
|
|
|
|
|