Commit b3d648b4e882c41e0bb7bd72dc8815f6a7321fc4

Authored by Dmitriy Zaporozhets
1 parent 3c5954b8

Prevent duplicate merge events

app/models/merge_request.rb
... ... @@ -177,15 +177,8 @@ class MergeRequest < ActiveRecord::Base
177 177 end
178 178  
179 179 def merge!(user_id)
  180 + self.author_id_of_changes = user_id
180 181 self.merge
181   -
182   - Event.create(
183   - project: self.project,
184   - action: Event::MERGED,
185   - target_id: self.id,
186   - target_type: "MergeRequest",
187   - author_id: user_id
188   - )
189 182 end
190 183  
191 184 def automerge!(current_user)
... ...
app/observers/activity_observer.rb
... ... @@ -39,4 +39,18 @@ class ActivityObserver < ActiveRecord::Observer
39 39 author_id: record.author_id_of_changes
40 40 )
41 41 end
  42 +
  43 + def after_merge(record, transition)
  44 + # Since MR can be merged via sidekiq
  45 + # to prevent event duplication do this check
  46 + return true if record.merge_event
  47 +
  48 + Event.create(
  49 + project: record.project,
  50 + target_id: record.id,
  51 + target_type: record.class.name,
  52 + action: Event::MERGED,
  53 + author_id: record.author_id_of_changes
  54 + )
  55 + end
42 56 end
... ...