Sha256: 4a332405ec9f7ace0425b37215e803c3a5cafb3682dbccc32c8b3e756c3b68aa
Contents?: true
Size: 1.45 KB
Versions: 2
Compression:
Stored size: 1.45 KB
Contents
module Ddr module Models module HasAdminMetadata extend ActiveSupport::Concern included do has_metadata "adminMetadata", type: Ddr::Datastreams::AdministrativeMetadataDatastream, versionable: true, control_group: "M" has_attributes :local_id, :permanent_id, :permanent_url, :workflow_state, datastream: "adminMetadata", multiple: false delegate :role_based_permissions, to: :roles delegate :publish, :publish!, :unpublish, :unpublish!, :published?, to: :workflow before_save :set_resource_roles_from_legacy_data after_create :assign_permanent_id!, if: "Ddr::Models.auto_assign_permanent_ids" end include Ddr::Auth::LegacyRoles def permanent_id_manager @permanent_id_manager ||= Ddr::Managers::PermanentIdManager.new(self) end def roles @roles ||= Ddr::Managers::RoleManager.new(self) end def workflow @workflow ||= Ddr::Managers::WorkflowManager.new(self) end def assign_permanent_id! permanent_id_manager.assign_later end private def legacy_permissions Ddr::Auth::LegacyPermissions.new(permissions) end def set_resource_roles_from_legacy_data roles.revoke_resource_roles roles.grant *(legacy_permissions.to_resource_roles) roles.grant *legacy_downloader_to_resource_roles end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ddr-models-1.13.1 | lib/ddr/models/has_admin_metadata.rb |
ddr-models-1.13.0 | lib/ddr/models/has_admin_metadata.rb |