Sha256: 0d5161de12b46d9d4a951c52b90c9d3f4ed3464a3b1ae1695b804836e9466b24

Contents?: true

Size: 1.13 KB

Versions: 37

Compression:

Stored size: 1.13 KB

Contents

module Spotlight
  ##
  # Controller for reverting to historical versions of e.g. pages
  class VersionsController < Spotlight::ApplicationController
    before_action :authenticate_user!

    load_and_authorize_resource class: 'PaperTrail::Version'

    def revert
      obj = @version.reify
      if obj && authorize!(:manage, obj)
        if obj.save
          redirect_to [obj.exhibit, obj], flash: { html_safe: true }, notice: undo_link
        else
          redirect_to [obj.exhibit, obj], flash: { html_safe: true }, notice: view_context.t(:'spotlight.versions.undo_error')
        end
      else
        redirect_to :back, flash: { html_safe: true }, notice: view_context.t(:'spotlight.versions.undo_error')
      end
    end

    private

    def undo_link
      return unless can? :manage, @version

      link_name = if params[:redo] == 'true'
                    view_context.t(:'spotlight.versions.undo')
                  else
                    view_context.t(:'spotlight.versions.redo')
                  end

      view_context.link_to(link_name, revert_version_path(@version.next, redo: !params[:redo]), method: :post)
    end
  end
end

Version data entries

37 entries across 37 versions & 1 rubygems

Version Path
blacklight-spotlight-0.23.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.22.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.21.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.20.3 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.20.2 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.20.1 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.20.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.19.2 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.19.1 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.19.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.18.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.17.1 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.17.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.16.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.15.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.14.2 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.14.1 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.14.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.13.0 app/controllers/spotlight/versions_controller.rb
blacklight-spotlight-0.12.1 app/controllers/spotlight/versions_controller.rb