Commit 1c61ac1c64e136b391d472a24bbc5538352e299d
1 parent
e1c93a6b
Exists in
spb-stable
and in
3 other branches
Refactor MR code reload
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
3 changed files
with
9 additions
and
5 deletions
Show diff stats
app/controllers/projects/merge_requests_controller.rb
... | ... | @@ -106,9 +106,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController |
106 | 106 | params[:merge_request].delete(:target_project_id) |
107 | 107 | |
108 | 108 | if @merge_request.update_attributes(params[:merge_request].merge(author_id_of_changes: current_user.id)) |
109 | - @merge_request.reload_code | |
110 | - @merge_request.mark_as_unchecked | |
111 | - | |
112 | 109 | @merge_request.reset_events_cache |
113 | 110 | |
114 | 111 | respond_to do |format| | ... | ... |
app/models/merge_request.rb
... | ... | @@ -32,7 +32,9 @@ class MergeRequest < ActiveRecord::Base |
32 | 32 | belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project" |
33 | 33 | |
34 | 34 | has_one :merge_request_diff, dependent: :destroy |
35 | + | |
35 | 36 | after_create :create_merge_request_diff |
37 | + after_update :update_merge_request_diff | |
36 | 38 | |
37 | 39 | delegate :commits, :diffs, :last_commit, :last_commit_short_sha, to: :merge_request_diff, prefix: nil |
38 | 40 | |
... | ... | @@ -125,6 +127,13 @@ class MergeRequest < ActiveRecord::Base |
125 | 127 | end |
126 | 128 | end |
127 | 129 | |
130 | + def update_merge_request_diff | |
131 | + if source_branch_changed? || target_branch_changed? | |
132 | + reload_code | |
133 | + mark_as_unchecked | |
134 | + end | |
135 | + end | |
136 | + | |
128 | 137 | def reload_code |
129 | 138 | if merge_request_diff && opened? |
130 | 139 | merge_request_diff.reload_content | ... | ... |
lib/api/merge_requests.rb
... | ... | @@ -116,8 +116,6 @@ module API |
116 | 116 | authorize! :modify_merge_request, merge_request |
117 | 117 | |
118 | 118 | if merge_request.update_attributes attrs |
119 | - merge_request.reload_code | |
120 | - merge_request.mark_as_unchecked | |
121 | 119 | present merge_request, with: Entities::MergeRequest |
122 | 120 | else |
123 | 121 | handle_merge_request_errors! merge_request.errors | ... | ... |