Commit 702128892b5edd093e8671527fb9860d3631f5eb

Authored by Dmitriy Zaporozhets
1 parent b05a67f4

Allow change assignee/milestone from MergeRequest show page

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/controllers/projects/merge_requests_controller.rb
... ... @@ -108,8 +108,15 @@ class Projects::MergeRequestsController &lt; Projects::ApplicationController
108 108 if @merge_request.update_attributes(params[:merge_request].merge(author_id_of_changes: current_user.id))
109 109 @merge_request.reload_code
110 110 @merge_request.mark_as_unchecked
  111 +
111 112 @merge_request.reset_events_cache
112   - redirect_to [@merge_request.target_project, @merge_request], notice: 'Merge request was successfully updated.'
  113 +
  114 + respond_to do |format|
  115 + format.js
  116 + format.html do
  117 + redirect_to [@merge_request.target_project, @merge_request], notice: 'Merge request was successfully updated.'
  118 + end
  119 + end
113 120 else
114 121 render "edit"
115 122 end
... ...
app/views/projects/issues/_issue_context.html.haml
... ... @@ -4,7 +4,7 @@
4 4 \ and currently assigned to
5 5  
6 6 - if can?(current_user, :modify_issue, @issue)
7   - = project_users_select_tag('issue[assignee_id]', placeholder: 'Select a user', class: 'custom-form-control', selected: @issue.assignee_id)
  7 + = project_users_select_tag('issue[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control', selected: @issue.assignee_id)
8 8 - elsif issue.assignee
9 9 = link_to_member(@project, @issue.assignee)
10 10  
... ...
app/views/projects/merge_requests/show/_context.html.haml 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 += form_for [@project, @merge_request], remote: true, html: {class: 'edit-merge_request inline-update'} do |f|
  2 + Created by #{link_to_member(@project, merge_request.author)}&nbsp;
  3 + - if merge_request.assignee
  4 + \ and currently assigned to
  5 +
  6 + - if can?(current_user, :modify_merge_request, @merge_request)
  7 + = project_users_select_tag('merge_request[assignee_id]', placeholder: 'Select assignee', class: 'custom-form-control', selected: @merge_request.assignee_id)
  8 + - elsif merge_request.assignee
  9 + = link_to_member(@project, @merge_request.assignee)
  10 +
  11 +
  12 + .pull-right.hidden-sm.hidden-xs
  13 + - if merge_request.milestone
  14 + - milestone = merge_request.milestone
  15 + %cite.cgray Attached to milestone
  16 +
  17 + - if can?(current_user, :modify_merge_request, @merge_request)
  18 + = f.select(:milestone_id, milestone_options(@merge_request), { include_blank: "Select milestone (none):" }, {class: 'select2 select2-compact'})
  19 +
  20 + = hidden_field_tag :merge_request_context
  21 + = f.submit class: 'btn'
  22 + - elsif merge_request.milestone
  23 + = link_to merge_request.milestone.title, project_milestone_path
... ...
app/views/projects/merge_requests/show/_mr_box.html.haml
... ... @@ -4,15 +4,7 @@
4 4  
5 5 .context
6 6 %cite.cgray
7   - Created by #{link_to_member(@project, @merge_request.author)}.
8   - - if @merge_request.assignee
9   - Currently assigned to #{link_to_member(@project, @merge_request.assignee)}.
10   - - if @merge_request.milestone
11   - .pull-right
12   - - milestone = @merge_request.milestone
13   - %cite.cgray Attached to milestone
14   - %strong= link_to_gfm truncate(milestone.title, length: 20), project_milestone_path(milestone.project, milestone)
15   -
  7 + = render partial: 'projects/merge_requests/show/context', locals: { merge_request: @merge_request }
16 8  
17 9 - if @merge_request.description.present?
18 10 .description
... ...
app/views/projects/merge_requests/update.js.haml 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +- if params[:merge_request_context]
  2 + $('.issue-box .context').effect('highlight');
... ...