Sha256: 8e888f1dc54071270e37525dfed01423eb114995cefd87415a0031c7c5973a5b

Contents?: true

Size: 1.57 KB

Versions: 14

Compression:

Stored size: 1.57 KB

Contents

class Pulitzer::VersionsController < Pulitzer::ApplicationController
  before_action :set_version

  def edit
    if @version.preview?
      route                       = "#{Pulitzer.preview_namespace}_#{@post.post_type.name.parameterize('_')}_path"
      @preview_path               = main_app.public_send(route, @post.slug) if main_app.respond_to?(route)
    end
    render_ajax locals: { version: @version }
  end

  def update
    status_updater = Pulitzer::UpdateVersionStatus.new(@version, @status)
    if status_updater.errors.any?
      processing_version  = @version
      flash_message       = status_updater.errors.join("<br>").html_safe
      status = :conflict
    else
      processing_version  = status_updater.call
      if processing_version
        if processing_version.errors.empty?
          status = :ok
          flash_message     = "The new version of #{@post.title} has been activated."
        else
          status = :conflict
          flash_message = processing_version.errors.full_messages.join("<br>").html_safe
        end
      else
        flash[:notice] = "The post was successfully removed."
        render json: {class_triggers: {"hooch.ReloadPage" => posts_path(post_type_id: @version.post.post_type.id) }} and return
      end
    end
    render json: {html: render_to_string(partial: '/pulitzer/versions/edit', locals: {version: processing_version}),
                  flash_message: flash_message}, status: status
  end

private
  def set_version
    @version  = Pulitzer::Version.find params[:id]
    @status = params[:status]
    @post = @version.post
  end

end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
pulitzer-0.14.4 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.14.3 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.14.2 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.14.1 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.14.0 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.13.1 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.5 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.13.0 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.4 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.3 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.2 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.1 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.12.0 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.11.3 app/controllers/pulitzer/versions_controller.rb