From 705fe01dca32f1666731712fab3a890f15c71152 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Sat, 20 Sep 2014 16:06:35 +0200 Subject: [PATCH] Factor issue and edit MR form label field and submit. --- app/models/issue.rb | 5 +++++ app/views/projects/_issuable_form.html.haml | 17 +++++++++++++++++ app/views/projects/issues/_form.html.haml | 15 --------------- .../projects/merge_requests/_form.html.haml | 19 ------------------- 4 files changed, 22 insertions(+), 34 deletions(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index 45a8e43b03d..ed3d4445110 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -65,4 +65,9 @@ class Issue < ActiveRecord::Base def reset_events_cache Event.reset_event_cache_for(self) end + + # To allow polymorphism with MergeRequest. + def source_project + project + end end diff --git a/app/views/projects/_issuable_form.html.haml b/app/views/projects/_issuable_form.html.haml index 3f288814b51..0ae1fb3cabe 100644 --- a/app/views/projects/_issuable_form.html.haml +++ b/app/views/projects/_issuable_form.html.haml @@ -44,3 +44,20 @@ Milestone .col-sm-10= f.select(:milestone_id, milestone_options(issuable), { include_blank: 'Select milestone' }, { class: 'select2' }) +.form-group + = f.label :label_ids, class: 'control-label' do + %i.icon-tag + Labels + .col-sm-10 + = f.collection_select :label_ids, issuable.project.labels.all, :id, :name, + { selected: issuable.label_ids }, multiple: true, class: 'select2' +.form-actions + - 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, issuable], class: 'btn btn-cancel' diff --git a/app/views/projects/issues/_form.html.haml b/app/views/projects/issues/_form.html.haml index a4a6b0005c7..cfd1d02bb05 100644 --- a/app/views/projects/issues/_form.html.haml +++ b/app/views/projects/issues/_form.html.haml @@ -10,21 +10,6 @@ = form_for [@project, @issue], html: { class: 'form-horizontal issue-form' } do |f| = render 'projects/issuable_form', f: f, issuable: @issue - .form-group - = f.label :label_ids, class: 'control-label' do - %i.icon-tag - Labels - .col-sm-10 - = f.collection_select :label_ids, @project.labels.all, :id, :name, { selected: @issue.label_ids }, multiple: true, class: 'select2' - - .form-actions - - if @issue.new_record? - = f.submit 'Submit new issue', class: "btn btn-create" - -else - = f.submit 'Save changes', class: "btn-save btn" - - - cancel_path = @issue.new_record? ? project_issues_path(@project) : project_issue_path(@project, @issue) - = link_to "Cancel", cancel_path, class: 'btn btn-cancel' :javascript $('.assign-to-me-link').on('click', function(e){ diff --git a/app/views/projects/merge_requests/_form.html.haml b/app/views/projects/merge_requests/_form.html.haml index 8ad47724fe7..dafd7385f6e 100644 --- a/app/views/projects/merge_requests/_form.html.haml +++ b/app/views/projects/merge_requests/_form.html.haml @@ -8,27 +8,8 @@ Please review the %strong #{link_to "guidelines for contribution", contribution_guide_url} to this repository. - .merge-request-form-info = render 'projects/issuable_form', f: f, issuable: @merge_request - .form-group - = f.label :label_ids, class: 'control-label' do - %i.icon-tag - Labels - .col-sm-10 - = f.collection_select :label_ids, @merge_request.target_project.labels.all, :id, :name, { selected: @merge_request.label_ids }, multiple: true, 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");