Sha256: ff04f9b754b2990f3497a4c549dafe519ac04a4b68820aa5c62046a5ee12ba29

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

# BulkActionRunJob
class BulkActionRunJob < ApplicationJob
  queue_as :priority

  after_perform do |job|
    logger.debug("BulkActionRunJob - After Perform - #{job.arguments.first.id}")
    job.arguments.first.state_machine.transition_to!(:complete)
  end

  def perform(bulk_action)
    action = case bulk_action.field_name
    when "Publication State"
      logger.debug("BulkAction: Update Publication Status")
      :update_publication_status
    when "Delete"
      logger.debug("BulkAction: Delete")
      :update_delete
    when "Harvest Thumbnails"
      logger.debug("BulkAction: Harvest Thumbnails")
      :harvest_thumbnails
    when "Delete Thumbnails"
      logger.debug("BulkAction: Delete Thumbnails")
      :delete_thumbnails
    else
      :update_field_value
    end

    bulk_action.documents.each do |doc|
      BulkActionRunDocumentJob.perform_later(action, doc, bulk_action.field_name, bulk_action.field_value)
    end

    # Capture State
    bulk_action.state_machine.transition_to!(:queued)
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
geoblacklight_admin-0.7.1 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.7.0 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.6.3 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.6.2 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.6.1 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.6.0 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.5.1 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.5.0 app/jobs/bulk_action_run_job.rb
geoblacklight_admin-0.4.2 app/jobs/bulk_action_run_job.rb