##// END OF EJS Templates
Don't hardcode news model in Comment....
Jean-Philippe Lang -
r11796:9ca8b20d5534
parent child
Show More
@@ -1,36 +1,37
1 # Redmine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2013 Jean-Philippe Lang
2 # Copyright (C) 2006-2013 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 class Comment < ActiveRecord::Base
18 class Comment < ActiveRecord::Base
19 include Redmine::SafeAttributes
19 include Redmine::SafeAttributes
20 belongs_to :commented, :polymorphic => true, :counter_cache => true
20 belongs_to :commented, :polymorphic => true, :counter_cache => true
21 belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
21 belongs_to :author, :class_name => 'User', :foreign_key => 'author_id'
22
22
23 validates_presence_of :commented, :author, :comments
23 validates_presence_of :commented, :author, :comments
24
24
25 after_create :send_notification
25 after_create :send_notification
26
26
27 safe_attributes 'comments'
27 safe_attributes 'comments'
28
28
29 private
29 private
30
30
31 def send_notification
31 def send_notification
32 if commented.is_a?(News) && Setting.notified_events.include?('news_comment_added')
32 mailer_method = "#{commented.class.name.underscore}_comment_added"
33 Mailer.news_comment_added(self).deliver
33 if Setting.notified_events.include?(mailer_method)
34 Mailer.send(mailer_method, self).deliver
34 end
35 end
35 end
36 end
36 end
37 end
General Comments 0
You need to be logged in to leave comments. Login now