aboutsummaryrefslogtreecommitdiffstats
path: root/app/controllers/refinery/blog/admin/comments_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/refinery/blog/admin/comments_controller.rb')
-rw-r--r--app/controllers/refinery/blog/admin/comments_controller.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/app/controllers/refinery/blog/admin/comments_controller.rb b/app/controllers/refinery/blog/admin/comments_controller.rb
new file mode 100644
index 0000000..3128e97
--- /dev/null
+++ b/app/controllers/refinery/blog/admin/comments_controller.rb
@@ -0,0 +1,49 @@
+module Refinery
+ module Blog
+ module Admin
+ class CommentsController < ::Refinery::AdminController
+
+ cache_sweeper Refinery::BlogSweeper
+
+ crudify :'refinery/blog/comment',
+ :title_attribute => :name,
+ :order => 'published_at DESC'
+
+ def index
+ @blog_comments = Refinery::Blog::Comment.unmoderated.page(params[:page])
+
+ render :action => 'index'
+ end
+
+ def approved
+ unless params[:id].present?
+ @blog_comments = Refinery::Blog::Comment.approved.page(params[:page])
+
+ render :action => 'index'
+ else
+ @blog_comment = Refinery::Blog::Comment.find(params[:id])
+ @blog_comment.approve!
+ flash[:notice] = t('approved', :scope => 'refinery.admin.blog.comments', :author => @blog_comment.name)
+
+ redirect_to main_app.url_for(:action => params[:return_to] || 'index')
+ end
+ end
+
+ def rejected
+ unless params[:id].present?
+ @blog_comments = Refinery::Blog::Comment.rejected.page(params[:page])
+
+ render :action => 'index'
+ else
+ @blog_comment = Refinery::Blog::Comment.find(params[:id])
+ @blog_comment.reject!
+ flash[:notice] = t('rejected', :scope => 'refinery.admin.blog.comments', :author => @blog_comment.name)
+
+ redirect_to main_app.url_for(:action => params[:return_to] || 'index')
+ end
+ end
+
+ end
+ end
+ end
+end