Sha256: 8020d381bf638dd93e502dd6a7fb42813c22a3dad4301222a0e51638a3c1ee58

Contents?: true

Size: 1.44 KB

Versions: 2

Compression:

Stored size: 1.44 KB

Contents

class Pulitzer::PartialsController < Pulitzer::ApplicationController
  before_filter :set_partial, except: [:new, :create, :update_all]

  def new
    @partial = Pulitzer::Partial.new(partial_params)
    @free_form_section = @partial.free_form_section
    render partial: 'new', locals: { partial: @partial }
  end

  def create
    @free_form_section = Pulitzer::FreeFormSection.find partial_params[:free_form_section_id]
    @partial = @free_form_section.partials.create partial_params
    if @partial && @partial.errors.empty?
      Pulitzer::CreatePartialContentElements.new(@partial).call
      render partial: 'show_wrapper', locals: { partial: @partial }
    else
      render partial: 'new', locals: {partial: @partial}
    end
  end

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

  def edit
    render partial: 'form', locals: { partial: @partial }
  end

  def update
    @partial.update partial_params
    render partial: 'show', locals: { partial: @partial }
  end

  def update_all
    partials = Pulitzer::Partial.find params[:partial]
    partials.each do |partial|
      new_sort_order = params[:partial].index(partial.id.to_s)
      partial.update_attribute(:sort_order, new_sort_order)
    end
    head :ok
  end

  def destroy
    @partial.destroy
    render nothing: true
  end

  protected

  def partial_params
    params[:partial].permit!
  end

  def set_partial
    @partial = Pulitzer::Partial.find(params[:id])
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pulitzer-0.12.5 app/controllers/pulitzer/partials_controller.rb
pulitzer-0.12.4 app/controllers/pulitzer/partials_controller.rb