Module: Hyrax::LeasesControllerBehavior
- Extended by:
- ActiveSupport::Concern
- Includes:
- Collections::AcceptsBatches, ManagesEmbargoes
- Included in:
- LeasesController
- Defined in:
- app/controllers/concerns/hyrax/leases_controller_behavior.rb
Class Method Summary collapse
-
.local_prefixes ⇒ Object
This allows us to use the unauthorized template in curation_concerns/base.
Instance Method Summary collapse
-
#destroy ⇒ Object
Removes a single lease.
- #edit ⇒ Object
- #index ⇒ Object
-
#update ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength.
Methods included from Collections::AcceptsBatches
#batch, #batch=, #check_for_empty_batch?
Methods included from ManagesEmbargoes
Class Method Details
.local_prefixes ⇒ Object
This allows us to use the unauthorized template in curation_concerns/base
55 56 57 |
# File 'app/controllers/concerns/hyrax/leases_controller_behavior.rb', line 55 def self.local_prefixes ['hyrax/base'] end |
Instance Method Details
#destroy ⇒ Object
Removes a single lease
16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/concerns/hyrax/leases_controller_behavior.rb', line 16 def destroy Hyrax::Actors::LeaseActor.new(curation_concern).destroy flash[:notice] = lease_history(curation_concern)&.last if curation_concern.work? && work_has_file_set_members?(curation_concern) redirect_to else redirect_to edit_lease_path end end |
#edit ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'app/controllers/concerns/hyrax/leases_controller_behavior.rb', line 59 def edit @curation_concern = Hyrax::Forms::WorkLeaseForm.new(curation_concern).prepopulate! if Hyrax.config.use_valkyrie? t(:'hyrax.controls.home'), root_path t(:'hyrax.dashboard.breadcrumbs.admin'), hyrax.dashboard_path t(:'hyrax.leases.index.manage_leases'), hyrax.leases_path t(:'hyrax.leases.edit.lease_update'), '#' end |
#index ⇒ Object
8 9 10 11 12 13 |
# File 'app/controllers/concerns/hyrax/leases_controller_behavior.rb', line 8 def index t(:'hyrax.controls.home'), root_path t(:'hyrax.dashboard.breadcrumbs.admin'), hyrax.dashboard_path t(:'hyrax.leases.index.manage_leases'), hyrax.leases_path :index, Hydra::AccessControls::Lease end |
#update ⇒ Object
rubocop:disable Metrics/AbcSize rubocop:disable Metrics/MethodLength
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/concerns/hyrax/leases_controller_behavior.rb', line 28 def update filter_docs_with_edit_access! copy_visibility = [] copy_visibility = params[:leases].values.map { |h| h[:copy_visibility] } if params[:leases] resources = if Hyrax.config.use_valkyrie? Hyrax.query_service.find_many_by_ids(ids: batch) else Hyrax.custom_queries.find_many_by_alternate_ids(alternate_ids: batch, use_valkyrie: false) end resources.each do |resource| if Hyrax.config.use_valkyrie? LeaseManager.new(resource: resource).release! Hyrax::AccessControlList(resource).save else Hyrax::Actors::LeaseActor.new(resource).destroy end Hyrax::VisibilityPropagator.for(source: resource).propagate if copy_visibility.include?(resource.id) end redirect_to leases_path end |