summaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/merge_request.rb32
1 files changed, 19 insertions, 13 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 6fdb4e8..9e8c8bb 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -371,19 +371,11 @@ class MergeRequest < ActiveRecord::Base
end
def notify_subscribers_about_creation
- return unless target_repository.notify_committers_on_new_merge_request?
- reviewers.each do |reviewer|
- message = messages.build({
- :sender => user,
- :recipient => reviewer,
- :subject => I18n.t("mailer.request_notification",
- :login => user.login,
- :title => target_repository.project.title),
- :body => proposal,
- :notifiable => self
- })
- message.save
- add_to_reviewers_favorites(reviewer)
+ reviewers.each { |reviewer|
+ add_to_reviewers_favorites(reviewer)
+ }
+ if event = creation_event
+ FeedItem.bulk_create_from_watcher_list_and_event!(reviewers.map(&:id), event)
end
end
@@ -395,6 +387,20 @@ class MergeRequest < ActiveRecord::Base
reviewer.favorites.create(:watchable => self, :skip_events => true)
end
+ def add_creation_event(owner, user)
+ owner.create_event(
+ Action::REQUEST_MERGE, self, user
+ )
+ end
+
+ def creation_event
+ Event.find(:first, :conditions => {
+ :action => Action::REQUEST_MERGE,
+ :target_id => self.id,
+ :target_type => self.class.name
+ })
+ end
+
def oauth_request_token=(token)
self.oauth_token = token.token
self.oauth_secret = token.secret