Sha256: 3027dbab3eeb9141ae4884500780cbdcb4448f78b2bbde1778eec13bbed6b792

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

module Pageflow
  class RevisionsController < Pageflow::ApplicationController
    include QuotaVerification

    before_filter :authenticate_user!, :unless => lambda { |controller| controller.request.format.css? }

    respond_to :json

    def create
      entry = Entry.find(params[:entry_id])

      authorize!(:publish, entry)
      verify_edit_lock!(entry)
      verify_quota!(:published_entries, entry.account)

      @revision = entry.publish(revision_params.merge(:creator => current_user))
    end

    def show
      revision = Revision.find(params[:id])
      authorize!(:show, revision) unless request.format.css?

      @entry = PublishedEntry.new(revision.entry, revision)
      render :template => 'pageflow/entries/show'
    end

    def depublish_current
      entry = Entry.find(params[:entry_id])
      authorize!(:publish, entry)

      entry.revisions.depublish_all
      redirect_to(main_app.admin_entry_path(entry))
    end

    private

    def revision_params
      params.fetch(:revision, {}).permit(:published_until)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pageflow-0.1.0 app/controllers/pageflow/revisions_controller.rb