diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/blog_comment.rb | 8 | ||||
-rw-r--r-- | app/models/blog_post.rb | 8 |
2 files changed, 15 insertions, 1 deletions
diff --git a/app/models/blog_comment.rb b/app/models/blog_comment.rb index cc890fa..c115aef 100644 --- a/app/models/blog_comment.rb +++ b/app/models/blog_comment.rb @@ -2,7 +2,7 @@ class BlogComment < ActiveRecord::Base filters_spam :author_field => :name, :email_field => :email, - :message_field => :message + :message_field => :body belongs_to :post, :class_name => 'BlogPost' @@ -18,6 +18,12 @@ class BlogComment < ActiveRecord::Base named_scope :approved, :conditions => {:state => 'approved'} named_scope :rejected, :conditions => {:state => 'rejected'} + before_create do |comment| + unless BlogComment::Moderation.enabled? + comment.state = comment.spam? ? 'rejected' : 'approved' + end + end + module Moderation class << self def enabled? diff --git a/app/models/blog_post.rb b/app/models/blog_post.rb index 237385f..abd64d1 100644 --- a/app/models/blog_post.rb +++ b/app/models/blog_post.rb @@ -20,4 +20,12 @@ class BlogPost < ActiveRecord::Base }.compact end + class << self + def comments_allowed? + RefinerySetting.find_or_set(:comments_allowed, true, { + :scoping => :blog + }) + end + end + end |