Sha256: a7a513eba4efe255f570c77053b2d8b1dd2fb49c8d0775e13af789ff62dc1a25

Contents?: true

Size: 979 Bytes

Versions: 6

Compression:

Stored size: 979 Bytes

Contents

# frozen_string_literal: true

# BulkActionRevertDocumentJob
class BulkActionRevertDocumentJob < ApplicationJob
  queue_as :priority

  def perform(action, doc)
    case action
    when :revert_publication_status
      revert_publication_status(doc)
    when :revert_delete
      revert_delete(doc)
    else
      logger.debug("@TODO - #{field_name} => #{field_value}")
    end
  end

  def revert_publication_status(doc)
    document = Document.find_by!(friendlier_id: doc.friendlier_id)

    logger.debug("Revert PubStatus - #{document.friendlier_id}")

    versions = document.versions
    document = versions[doc.current_version].reify
    document&.skip_callbacks = true

    document.save
  end

  def revert_delete(doc)
    document = Document.find_by!(friendlier_id: doc.friendlier_id)

    logger.debug("Revert Delete - #{document.id}")

    versions = document.versions
    document = versions.last.reify
    document.skip_callbacks = true

    document.save
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
geoblacklight_admin-0.7.0 app/jobs/bulk_action_revert_document_job.rb
geoblacklight_admin-0.6.3 app/jobs/bulk_action_revert_document_job.rb
geoblacklight_admin-0.6.2 app/jobs/bulk_action_revert_document_job.rb
geoblacklight_admin-0.6.1 app/jobs/bulk_action_revert_document_job.rb
geoblacklight_admin-0.6.0 app/jobs/bulk_action_revert_document_job.rb
geoblacklight_admin-0.5.1 app/jobs/bulk_action_revert_document_job.rb