diff --git a/app/models/issue.rb b/app/models/issue.rb index 45a8e43b03db03ffc59d185811c6d246c4d624ff..ed3d444511079811edd8aef56eb9052b4d15b0e0 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 3f288814b51f27a8e6e153068cf205ff9fbeb675..0ae1fb3cabeb320936c08654454496959b883928 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 a4a6b0005c743f8a915a8b8f7e5f17a4e3b6291a..cfd1d02bb05721b5159e1c194024611dd1d4cf42 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 8ad47724fe7cbd995269ffcb4d9b4085c6f2f0d6..dafd7385f6eb57dd563e0d343c9644a189204cb4 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");