summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/issue.rb5
-rw-r--r--app/views/projects/_issuable_form.html.haml17
-rw-r--r--app/views/projects/issues/_form.html.haml15
-rw-r--r--app/views/projects/merge_requests/_form.html.haml18
4 files changed, 22 insertions, 33 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 6016c02b7f5..64a28d8da49 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 gfm-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 015d47eabf7..d52e64666a0 100644
--- a/app/views/projects/merge_requests/_form.html.haml
+++ b/app/views/projects/merge_requests/_form.html.haml
@@ -1,24 +1,6 @@
= form_for [@project, @merge_request], html: { class: 'merge-request-form form-horizontal gfm-form' } do |f|
.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");