Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorRobb Kidd <robb@thekidds.org>2012-05-21 21:30:53 +0400
committerRobb Kidd <robb@thekidds.org>2012-06-20 22:09:46 +0400
commit6617eaaf9b9ff5a76cb2c4150623a685357966d4 (patch)
tree7ab5117abd3461db01b6f2c08d43595416e9744e /app
parent356430c3c0e8aed3f8c9f2e181aaeaeaa4f1d693 (diff)
Make IssueObserver handle issus, not MailerObserver
Diffstat (limited to 'app')
-rw-r--r--app/models/issue.rb4
-rw-r--r--app/models/issue_observer.rb3
-rw-r--r--app/models/mailer_observer.rb14
3 files changed, 7 insertions, 14 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index fd9db264326..2b4b311da78 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -68,6 +68,10 @@ class Issue < ActiveRecord::Base
def is_being_closed?
closed_changed? && closed
end
+
+ def is_being_reopened?
+ closed_changed? && !closed
+ end
end
# == Schema Information
#
diff --git a/app/models/issue_observer.rb b/app/models/issue_observer.rb
index 461b3eb0dfe..7215dc56332 100644
--- a/app/models/issue_observer.rb
+++ b/app/models/issue_observer.rb
@@ -5,9 +5,10 @@ class IssueObserver < ActiveRecord::Observer
Notify.new_issue_email(issue.id) if issue.assignee != current_user
end
- def after_change(issue)
+ def after_update(issue)
send_reassigned_email(issue) if issue.is_being_reassigned?
Note.create_status_change_note(issue, current_user, 'closed') if issue.is_being_closed?
+ Note.create_status_change_note(issue, current_user, 'reopened') if issue.is_being_reopened?
end
def send_reassigned_email(issue)
diff --git a/app/models/mailer_observer.rb b/app/models/mailer_observer.rb
index dbbd7d2f86a..80ce8b365e2 100644
--- a/app/models/mailer_observer.rb
+++ b/app/models/mailer_observer.rb
@@ -3,7 +3,6 @@ class MailerObserver < ActiveRecord::Observer
cattr_accessor :current_user
def after_create(model)
- new_issue(model) if model.kind_of?(Issue)
new_user(model) if model.kind_of?(User)
new_note(model) if model.kind_of?(Note)
new_merge_request(model) if model.kind_of?(MergeRequest)
@@ -11,17 +10,10 @@ class MailerObserver < ActiveRecord::Observer
def after_update(model)
changed_merge_request(model) if model.kind_of?(MergeRequest)
- changed_issue(model) if model.kind_of?(Issue)
end
protected
- def new_issue(issue)
- if issue.assignee != current_user
- Notify.new_issue_email(issue.id).deliver
- end
- end
-
def new_user(user)
Notify.new_user_email(user.id, user.password).deliver
end
@@ -65,12 +57,8 @@ class MailerObserver < ActiveRecord::Observer
status_notify_and_comment merge_request, :reassigned_merge_request_email
end
- def changed_issue(issue)
- status_notify_and_comment issue, :reassigned_issue_email
- end
-
# This method used for Issues & Merge Requests
- #
+ #
# It create a comment for Issue or MR if someone close/reopen.
# It also notify via email if assignee was changed
#