summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-01-03 21:46:53 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2012-01-03 21:46:53 +0200
commit8d7aaf0e5501c472504467b9252dd5bde14a98c8 (patch)
treec19ec417393077ac391c0562bd8bffd7cc9e2a25
parente29b7d52fc312877d63b453a928bd151450b3d5e (diff)
downloadgitlab-ce-8d7aaf0e5501c472504467b9252dd5bde14a98c8.tar.gz
Note on merge request open/close
-rw-r--r--app/models/mailer_observer.rb99
1 files changed, 53 insertions, 46 deletions
diff --git a/app/models/mailer_observer.rb b/app/models/mailer_observer.rb
index f59469a1608..2bf383e5de0 100644
--- a/app/models/mailer_observer.rb
+++ b/app/models/mailer_observer.rb
@@ -16,66 +16,73 @@ class MailerObserver < ActiveRecord::Observer
protected
- def new_issue(issue)
- if issue.assignee != current_user
- Notify.new_issue_email(issue).deliver
- end
+ def new_issue(issue)
+ if issue.assignee != current_user
+ Notify.new_issue_email(issue).deliver
end
+ end
- def new_user(user)
- Notify.new_user_email(user, user.password).deliver
- end
+ def new_user(user)
+ Notify.new_user_email(user, user.password).deliver
+ end
- def new_note(note)
- return unless note.notify or note.notify_author
- note.project.users.reject { |u| u.id == current_user.id } .each do |u|
- case note.noteable_type
- when "Commit" then
- Notify.note_commit_email(u, note).deliver
- when "Issue" then
- Notify.note_issue_email(u, note).deliver
- when "MergeRequest" then
- Notify.note_merge_request_email(u, note).deliver
- when "Snippet"
- true
- else
- Notify.note_wall_email(u, note).deliver
- end
+ def new_note(note)
+ return unless note.notify or note.notify_author
+ note.project.users.reject { |u| u.id == current_user.id } .each do |u|
+ case note.noteable_type
+ when "Commit" then
+ Notify.note_commit_email(u, note).deliver
+ when "Issue" then
+ Notify.note_issue_email(u, note).deliver
+ when "MergeRequest" then
+ Notify.note_merge_request_email(u, note).deliver
+ when "Snippet"
+ true
+ else
+ Notify.note_wall_email(u, note).deliver
end
end
+ end
- def new_merge_request(merge_request)
- if merge_request.assignee != current_user
- Notify.new_merge_request_email(merge_request).deliver
- end
+ def new_merge_request(merge_request)
+ if merge_request.assignee != current_user
+ Notify.new_merge_request_email(merge_request).deliver
end
+ end
- def changed_merge_request(merge_request)
- if merge_request.assignee_id_changed?
- recipients_ids = merge_request.assignee_id_was, merge_request.assignee_id
- recipients_ids.delete current_user.id
+ def changed_merge_request(merge_request)
+ if merge_request.assignee_id_changed?
+ recipients_ids = merge_request.assignee_id_was, merge_request.assignee_id
+ recipients_ids.delete current_user.id
- User.find(recipients_ids).each do |user|
- Notify.changed_merge_request_email(user, merge_request).deliver
- end
+ User.find(recipients_ids).each do |user|
+ Notify.changed_merge_request_email(user, merge_request).deliver
end
end
- def changed_issue(issue)
- if issue.assignee_id_changed?
- recipients_ids = issue.assignee_id_was, issue.assignee_id
- recipients_ids.delete current_user.id
+ if merge_request.closed_changed?
+ note = Note.new(:noteable => merge_request, :project => merge_request.project)
+ note.author = current_user
+ note.note = "_Status changed to #{merge_request.closed ? 'closed' : 'reopened'}_"
+ note.save()
+ end
+ end
- User.find(recipients_ids).each do |user|
- Notify.changed_issue_email(user, issue).deliver
- end
- end
+ def changed_issue(issue)
+ if issue.assignee_id_changed?
+ recipients_ids = issue.assignee_id_was, issue.assignee_id
+ recipients_ids.delete current_user.id
- if issue.closed_changed?
- note = Note.new(:noteable => issue, :project => issue.project)
- note.author = current_user
- note.note = "_Status changed to #{issue.closed ? 'closed' : 'reopened'}_"
- note.save()
+ User.find(recipients_ids).each do |user|
+ Notify.changed_issue_email(user, issue).deliver
end
+ end
+
+ if issue.closed_changed?
+ note = Note.new(:noteable => issue, :project => issue.project)
+ note.author = current_user
+ note.note = "_Status changed to #{issue.closed ? 'closed' : 'reopened'}_"
+ note.save()
+ end
end
end