Class: ContentDepositorChangeEventJob
- Inherits:
-
ContentEventJob
- Object
- ActiveJob::Base
- Hyrax::ApplicationJob
- EventJob
- ContentEventJob
- ContentDepositorChangeEventJob
- Includes:
- ActionDispatch::Routing::PolymorphicRoutes
- Defined in:
- app/jobs/content_depositor_change_event_job.rb
Overview
Log work depositor change to activity streams
Constant Summary
Constants included from Hyrax::CitationsBehaviors::TitleBehavior
Hyrax::CitationsBehaviors::TitleBehavior::EXPANDED_NOCAPS, Hyrax::CitationsBehaviors::TitleBehavior::TITLE_NOCAPS
Instance Attribute Summary collapse
-
#reset ⇒ Boolean
(false) should the access controls be reset.
Attributes inherited from ContentEventJob
Attributes inherited from EventJob
Instance Method Summary collapse
- #action ⇒ Object
- #link_to_work(text) ⇒ Object
-
#log_user_event(depositor) ⇒ Object
overriding default to log the event to the depositor instead of their profile.
-
#log_work_event(work) ⇒ Object
(also: #log_file_set_event)
Log the event to the work’s stream.
- #perform(work, user, reset = false) ⇒ Object
- #proxy_depositor ⇒ Object
- #work ⇒ Object
Methods inherited from ContentEventJob
Methods inherited from EventJob
Methods included from Hyrax::HyraxHelperBehavior
#available_translations, #banner_image, #collection_thumbnail, #current_search_parameters, #human_readable_date, #iconify_auto_link, #index_field_link, #license_links, #link_to_each_facet_field, #link_to_facet, #link_to_facet_list, #link_to_field, #link_to_profile, #link_to_telephone, #orcid_label, #render_notifications, #rights_statement_links, #search_form_action, #show_transfer_request_title, #user_display_name_and_key, #zotero_label, #zotero_profile_url
Methods included from Hyrax::DashboardHelperBehavior
#number_of_collections, #number_of_files, #number_of_works, #on_my_works?, #on_the_dashboard?
Methods included from Hyrax::ChartsHelper
Methods included from Hyrax::CollectionsHelper
#button_for_remove_from_collection, #button_for_remove_selected_from_collection, #has_collection_search_parameters?, #present_terms, #render_collection_links, #single_item_action_remove_form_fields
Methods included from Hyrax::LeaseHelper
#assets_under_lease, #assets_with_deactivated_leases, #assets_with_expired_leases
Methods included from Hyrax::EmbargoHelper
#assets_under_embargo, #assets_with_deactivated_embargoes, #assets_with_expired_embargoes
Methods included from Hyrax::AbilityHelper
#render_visibility_link, #visibility_badge, #visibility_options
Methods included from Hyrax::FileSetHelper
#media_display, #media_display_partial, #parent_path
Methods included from Hyrax::TitleHelper
#application_name, #construct_page_title, #curation_concern_page_title, #default_page_title
Methods included from Hyrax::CitationsBehavior
#export_as_apa_citation, #export_as_chicago_citation, #export_as_mla_citation, #export_as_openurl_ctx_kev
Methods included from Hyrax::CitationsBehaviors::TitleBehavior
#chicago_citation_title, #mla_citation_title, #process_title_parts, #setup_title_info
Methods included from Hyrax::CitationsBehaviors::CommonBehavior
#clean_end_punctuation, #persistent_url
Methods included from Hyrax::CitationsBehaviors::NameBehavior
#abbreviate_name, #all_authors, #author_list, #given_name_first, #surname_first
Methods included from Hyrax::CitationsBehaviors::PublicationBehavior
#setup_pub_date, #setup_pub_info, #setup_pub_place, #setup_pub_publisher
Methods included from Hyrax::BlacklightOverride
Instance Attribute Details
#reset ⇒ Boolean
(false) should the access controls be reset. This means revoking edit access from the depositor
4 5 6 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 4 def reset @reset end |
Instance Method Details
#action ⇒ Object
18 19 20 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 18 def action "User #{link_to_profile work.proxy_depositor} has transferred #{link_to_work work.title.first} to user #{link_to_profile depositor}" end |
#link_to_work(text) ⇒ Object
22 23 24 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 22 def link_to_work(text) link_to text, polymorphic_path(work) end |
#log_user_event(depositor) ⇒ Object
overriding default to log the event to the depositor instead of their profile
37 38 39 40 41 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 37 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 |
#log_work_event(work) ⇒ Object Also known as: log_file_set_event
Log the event to the work’s stream
27 28 29 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 27 def log_work_event(work) work.log_event(event) end |
#perform(work, user, reset = false) ⇒ Object
13 14 15 16 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 13 def perform(work, user, reset = false) @reset = reset super(work, user) end |
#proxy_depositor ⇒ Object
43 44 45 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 43 def proxy_depositor @proxy_depositor ||= ::User.find_by_user_key(work.proxy_depositor) end |
#work ⇒ Object
32 33 34 |
# File 'app/jobs/content_depositor_change_event_job.rb', line 32 def work @work ||= Hyrax::ChangeContentDepositorService.call(repo_object, depositor, reset) end |