Sha256: 1092c9eb6d1eab2c8c630ad58ad44f2ed834400813e20bb8a1119ff0c7e68b9b
Contents?: true
Size: 1.34 KB
Versions: 19
Compression:
Stored size: 1.34 KB
Contents
# frozen_string_literal: true # Log work depositor change to activity streams # # This class simply logs the transfer, pulling data from the object that was # just transferred. It does not perform the transfer. class ChangeDepositorEventJob < ContentEventJob include Rails.application.routes.url_helpers include ActionDispatch::Routing::PolymorphicRoutes # @param [ActiveFedora::Base, Hyrax::Work] work the work that's been transfered def perform(work) # these get set to repo_object and depositor super(work, new_owner(work)) end def action "User #{link_to_profile repo_object.proxy_depositor} has transferred #{link_to_work repo_object.title.first} to user #{link_to_profile depositor}" end def link_to_work(text) link_to text, polymorphic_path(repo_object) 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 # overriding default to log the event to the depositor instead of their profile # and to log the event for both users def log_user_event(depositor) previous_owner.log_profile_event(event) depositor.log_event(event) end private def previous_owner ::User.find_by_user_key(repo_object.proxy_depositor) end # used for @depositor def new_owner(work) ::User.find_by_user_key(work.depositor) end end
Version data entries
19 entries across 19 versions & 1 rubygems