aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/blog_comment.rb8
-rw-r--r--app/models/blog_post.rb8
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