Sha256: 97c32116ea206c11f84f7e9e8e86d615e8937ccf1f8b542c42a4a31b2476662e
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
class Revelry::Content::VersionsController < ApplicationController respond_to :json, :html include Revelry::Content::ControllerAuthorization before_action :check_authorization def info_for_paper_trail { rollback_version_id: params[:id] } end def index # Versions does not include the version, so grab versions, convert the # currents to mock versions, then combine and sort @versions = Revelry::Content::ContentVersion.all @content = Revelry::Content::Content.all.map { |content| Revelry::Content::PseudoContentVersion.new model: content } @all_versions = (@content + @versions).sort { |a, b| b.created_at - a.created_at } respond_with data: @all_versions end def revert_all_to newer_versions = Revelry::Content::ContentVersion.where('id >= ?', params[:id]).order('id desc') newer_versions.each do |version| if ['create', 'import create'].include? version.event unless version.id == params[:id].to_i item = version.item item.paper_trail_event = 'rollback create' version.item.destroy! end else reify = version.reify reify.paper_trail_event = "rollback #{ version.event }" reify.save! end end redirect_to :back end private def check_authorization throw "Unauthorized" unless Revelry::Content.config.authorize(self) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
revelry_content-1.0.0 | app/controllers/revelry/content/versions_controller.rb |