Refactor MR code reload
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
This commit is contained in:
parent
e1c93a6bca
commit
1c61ac1c64
3 changed files with 9 additions and 5 deletions
|
@ -106,9 +106,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController
|
||||||
params[:merge_request].delete(:target_project_id)
|
params[:merge_request].delete(:target_project_id)
|
||||||
|
|
||||||
if @merge_request.update_attributes(params[:merge_request].merge(author_id_of_changes: current_user.id))
|
if @merge_request.update_attributes(params[:merge_request].merge(author_id_of_changes: current_user.id))
|
||||||
@merge_request.reload_code
|
|
||||||
@merge_request.mark_as_unchecked
|
|
||||||
|
|
||||||
@merge_request.reset_events_cache
|
@merge_request.reset_events_cache
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
|
@ -32,7 +32,9 @@ class MergeRequest < ActiveRecord::Base
|
||||||
belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project"
|
belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project"
|
||||||
|
|
||||||
has_one :merge_request_diff, dependent: :destroy
|
has_one :merge_request_diff, dependent: :destroy
|
||||||
|
|
||||||
after_create :create_merge_request_diff
|
after_create :create_merge_request_diff
|
||||||
|
after_update :update_merge_request_diff
|
||||||
|
|
||||||
delegate :commits, :diffs, :last_commit, :last_commit_short_sha, to: :merge_request_diff, prefix: nil
|
delegate :commits, :diffs, :last_commit, :last_commit_short_sha, to: :merge_request_diff, prefix: nil
|
||||||
|
|
||||||
|
@ -125,6 +127,13 @@ class MergeRequest < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update_merge_request_diff
|
||||||
|
if source_branch_changed? || target_branch_changed?
|
||||||
|
reload_code
|
||||||
|
mark_as_unchecked
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def reload_code
|
def reload_code
|
||||||
if merge_request_diff && opened?
|
if merge_request_diff && opened?
|
||||||
merge_request_diff.reload_content
|
merge_request_diff.reload_content
|
||||||
|
|
|
@ -116,8 +116,6 @@ module API
|
||||||
authorize! :modify_merge_request, merge_request
|
authorize! :modify_merge_request, merge_request
|
||||||
|
|
||||||
if merge_request.update_attributes attrs
|
if merge_request.update_attributes attrs
|
||||||
merge_request.reload_code
|
|
||||||
merge_request.mark_as_unchecked
|
|
||||||
present merge_request, with: Entities::MergeRequest
|
present merge_request, with: Entities::MergeRequest
|
||||||
else
|
else
|
||||||
handle_merge_request_errors! merge_request.errors
|
handle_merge_request_errors! merge_request.errors
|
||||||
|
|
Loading…
Reference in a new issue