Sha256: f74f0a3329e338018ed169820cc08e6e2831416ec4fb29c0862e38c9abe9ddac

Contents?: true

Size: 1.55 KB

Versions: 11

Compression:

Stored size: 1.55 KB

Contents

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

  def edit
    if @version.preview?
      route                       = "pulitzer_preview_#{@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

11 entries across 11 versions & 1 rubygems

Version Path
pulitzer-0.10.3 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.10.2 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.10.1 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.10.0 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.14 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.13 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.11 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.10 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.9 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.8 app/controllers/pulitzer/versions_controller.rb
pulitzer-0.5.7 app/controllers/pulitzer/versions_controller.rb