Sha256: 9c3dd68503d32d9078671b4f0bf0a189720daebcd0f85fa7a9378638434b9e78

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

class Pulitzer::PostsController < Pulitzer::ApplicationController
  before_filter :get_post, only: [:show, :edit, :edit_slug, :update,
    :update_slug, :processing_preview]

  def index
    @post_type = Pulitzer::PostType.find params[:post_type_id]
    @posts = Pulitzer::Post.where(post_type: @post_type).order(id: :desc)
  end

  def new
    @post = Pulitzer::Post.new(post_type_id: params[:post_type_id])
    render partial: 'new', locals: { post: @post }
  end

  def create
    @post = Pulitzer::Post.create(post_params)
    Pulitzer::CreatePostContentElements.new(@post).call if @post
    render partial: 'show_wrapper', locals: { post: @post }
  end

  def show
    render partial: 'show', locals: { post: @post }
  end

  def edit
    if request.xhr?
      render partial: 'form', locals: { post: @post }
    end
  end

  def update
    @post.update_attributes(post_params)
    render partial: 'show', locals: { post: @post }
  end

  def destroy
    @post.destroy
    render head :ok
  end

  def edit_slug
    if request.xhr?
      render partial: 'form_slug', locals: { post: @post }
    end
  end

  def show_slug
    render partial: 'show_slug', locals: { post: @post }
  end

  def update_slug
    @post.update_attributes(post_params)
    render partial: 'show_slug', locals: { post: @post }
  end

  protected

  def post_params
    params[:post].permit!
  end

  def get_post
    @post = Pulitzer::Post.find(params[:id])
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pulitzer-0.5.7 app/controllers/pulitzer/posts_controller.rb
pulitzer-0.5.6 app/controllers/pulitzer/posts_controller.rb