Sha256: 1c18a40db239d2ec6c526ba1332ec0a66b206ba2b0a66954b7802a7751af8c30
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
module Hyrax # Responsible for "applying" the various edit and read attributes to the given curation concern. # @see Hyrax::AdminSetService for release_date interaction class ApplyPermissionTemplateActor < Hyrax::Actors::AbstractActor def create(attributes) add_edit_users(attributes) next_actor.create(attributes) end protected def add_edit_users(attributes) return unless attributes[:admin_set_id].present? template = Hyrax::PermissionTemplate.find_by!(admin_set_id: attributes[:admin_set_id]) curation_concern.edit_users = template.access_grants.where(agent_type: 'user', access: 'manage').pluck(:agent_id) curation_concern.edit_groups = template.access_grants.where(agent_type: 'group', access: 'manage').pluck(:agent_id) curation_concern.read_users = template.access_grants.where(agent_type: 'user', access: 'view').pluck(:agent_id) curation_concern.read_groups = template.access_grants.where(agent_type: 'group', access: 'view').pluck(:agent_id) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
test_hyrax-0.0.1.alpha | app/actors/hyrax/apply_permission_template_actor.rb |