class Sb::Admin::PostsController < SbController protect_from_forgery before_filter :find_post, :only => [:edit, :update, :destroy, :publish] before_filter :require_user def index @posts = Post.recent.paginate(:all, :page=>params[:page], :per_page=>20) end def create @post = Post.new(params[:post]) @post.title = Hpricot(params[:post][:title]).inner_text @post.user = current_user @post.save! redirect_to root_path rescue render :action => :new end def edit end def update @post.update_attributes(params[:post]) @post.title = Hpricot(params[:post][:title]).inner_text @post.save! redirect_to root_path rescue render :edit end def destroy @post.destroy redirect_to root_path end def publish @post.published = params[:set]=="1" ? true : false @post.save respond_to do |format| format.html { redirect_to :back } format.js { render :update do |page| page.replace_html "publish_#{@post.id}", :partial => "publish", :locals=>{:publish=>@post} end } end end private def find_post @post = Post.find_by_slug(params[:id]) end end