Sha256: 33a7962a63e8c3fe2452694dedf3153f69f98dfc1f7af0ac3f05423e943ff58d

Contents?: true

Size: 1.49 KB

Versions: 58

Compression:

Stored size: 1.49 KB

Contents

# Log work depositor change to activity streams
#
# @attr [Boolean] reset (false) should the access controls be reset. This means revoking edit access from the depositor
class ContentDepositorChangeEventJob < ContentEventJob
  include Rails.application.routes.url_helpers
  include ActionDispatch::Routing::PolymorphicRoutes

  attr_accessor :reset

  # @param [ActiveFedora::Base] work the work to be transfered
  # @param [User] user the user the work is being transfered to.
  # @param [TrueClass,FalseClass] reset (false) if true, reset the access controls. This revokes edit access from the depositor
  def perform(work, user, reset = false)
    @reset = reset
    super(work, user)
  end

  def action
    "User #{link_to_profile work.proxy_depositor} has transferred #{link_to_work work.title.first} to user #{link_to_profile depositor}"
  end

  def link_to_work(text)
    link_to text, polymorphic_path(work)
  end

  # Log the event to the work's stream
  def log_work_event(work)
    work.log_event(event)
  end
  alias log_file_set_event log_work_event

  def work
    @work ||= Hyrax::ChangeContentDepositorService.call(repo_object, depositor, reset)
  end

  # overriding default to log the event to the depositor instead of their profile
  def log_user_event(depositor)
    # log the event to the proxy depositor's profile
    proxy_depositor.log_profile_event(event)
    depositor.log_event(event)
  end

  def proxy_depositor
    @proxy_depositor ||= ::User.find_by_user_key(work.proxy_depositor)
  end
end

Version data entries

58 entries across 58 versions & 2 rubygems

Version Path
hyrax-2.9.6 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.5 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.4 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.3 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.2 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.1 app/jobs/content_depositor_change_event_job.rb
hyrax-2.9.0 app/jobs/content_depositor_change_event_job.rb
hyrax-2.8.0 app/jobs/content_depositor_change_event_job.rb
hyrax-2.7.2 app/jobs/content_depositor_change_event_job.rb
hyrax-2.7.1 app/jobs/content_depositor_change_event_job.rb
hyrax-2.7.0 app/jobs/content_depositor_change_event_job.rb
hyrax-2.6.0 app/jobs/content_depositor_change_event_job.rb
hyrax-3.0.0.pre.rc1 app/jobs/content_depositor_change_event_job.rb
hyrax-3.0.0.pre.beta3 app/jobs/content_depositor_change_event_job.rb
hyrax-2.5.1 app/jobs/content_depositor_change_event_job.rb
hyrax-2.5.0 app/jobs/content_depositor_change_event_job.rb
hyrax-3.0.0.pre.beta2 app/jobs/content_depositor_change_event_job.rb
hyrax-2.4.1 app/jobs/content_depositor_change_event_job.rb
hyrax-3.0.0.pre.beta1 app/jobs/content_depositor_change_event_job.rb
hyrax-2.4.0 app/jobs/content_depositor_change_event_job.rb