class Admin::CommentsController < Admin::AdminController before_action :set_section def index @comments = Comment.where(status: :published).order(updated_at: :desc).paginate(page: params[:page], per_page: 20) end def pending @comments = Comment.where(status: :pending).order(updated_at: :desc).paginate(page: params[:page], per_page: 20) end def accept @comment = Comment.find(params[:id]) @comment.status = :published @comment.save! if @comment.reply_to and @comment.reply_to.email != @comment.blog.user.email and @comment.reply_to.email != current_user.email CommentMailer.with(comment: @comment).reply_comment_email.deliver_later end flash.notice = "Comment successfully published." redirect_to pending_admin_comments_url end def reject @comment = Comment.find(params[:id]) @comment.status = :rejected @comment.save! flash.notice = "Comment successfully rejected." redirect_to pending_admin_comments_url end def destroy if Comment.destroy(params[:id]) flash.notice = "Comment successfully deleted." else flash.alert = "Could not delete comment." end redirect_to admin_comments_url end private def set_section @section = "comments" end end