diff options
Diffstat (limited to 'app/controllers/refinery/blog/admin/comments_controller.rb')
-rw-r--r-- | app/controllers/refinery/blog/admin/comments_controller.rb | 49 |
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 |