_form.html.haml 2.54 KB
= form_for [@project, @merge_request], html: { class: "merge-request-form form-horizontal" } do |f|
  .row
    .col-sm-2
    .col-sm-10
      - if @repository.contribution_guide && !@merge_request.persisted?
        - contribution_guide_url = project_blob_path(@project, tree_join(@repository.root_ref, @repository.contribution_guide.name))
        .alert.alert-info
          Please review the
          %strong #{link_to "guidelines for contribution", contribution_guide_url}
          to this repository.

      -if @merge_request.errors.any?
        .alert.alert-danger
          - @merge_request.errors.full_messages.each do |msg|
            %div= msg

  .merge-request-form-info
    .form-group
      = f.label :title, class: 'control-label' do
        %strong= "Title *"
      .col-sm-10= f.text_field :title, class: "form-control pad js-gfm-input", maxlength: 255, rows: 5, required: true
    .form-group
      = f.label :description, "Description", class: 'control-label'
      .col-sm-10
        = f.text_area :description, class: "form-control js-gfm-input", rows: 14
        %p.hint Description is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
    %hr
    .form-group
      .issue-assignee
        = f.label :assignee_id, class: 'control-label' do
          %i.icon-user
          Assign to
        .col-sm-10
          = project_users_select_tag('merge_request[assignee_id]', placeholder: 'Select a user', class: 'custom-form-control', selected: @merge_request.assignee_id)
           
          = link_to 'Assign to me', '#', class: 'btn btn-small assign-to-me-link'
    .form-group
      .issue-milestone
        = f.label :milestone_id, class: 'control-label' do
          %i.icon-time
          Milestone
        .col-sm-10= f.select(:milestone_id, milestone_options(@merge_request), { include_blank: "Select milestone" }, {class: 'select2'})


  .form-actions
    - if @merge_request.new_record?
      = f.submit 'Submit merge request', class: "btn btn-create"
    -else
      = f.submit 'Save changes', class: "btn btn-save"
    - if @merge_request.new_record?
      = link_to project_merge_requests_path(@source_project), class: "btn btn-cancel" do
        Cancel
    - else
      = link_to project_merge_request_path(@target_project, @merge_request), class: "btn btn-cancel" do
        Cancel

:javascript
  disableButtonIfEmptyField("#merge_request_title", ".btn-save");
  $('.assign-to-me-link').on('click', function(e){
    $('#merge_request_assignee_id').val("#{current_user.id}").trigger("change");
    e.preventDefault();
  });