Module: Ddr::Models::HasAdminMetadata
- Extended by:
- ActiveSupport::Concern
- Included in:
- Base
- Defined in:
- lib/ddr/models/has_admin_metadata.rb
Instance Method Summary collapse
- #assign_permanent_id! ⇒ Object
- #copy_resource_roles_from(other) ⇒ Object
- #effective_license ⇒ Object
- #effective_permissions(agents) ⇒ Object
- #finding_aid ⇒ Object
- #grant_roles_to_creator(creator) ⇒ Object
- #inherited_license ⇒ Object
- #inherited_roles ⇒ Object
- #permanent_id_manager ⇒ Object
- #research_help ⇒ Object
- #roles ⇒ Object
- #workflow ⇒ Object
Instance Method Details
#assign_permanent_id! ⇒ Object
48 49 50 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 48 def assign_permanent_id! permanent_id_manager.assign_later end |
#copy_resource_roles_from(other) ⇒ Object
58 59 60 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 58 def copy_resource_roles_from(other) roles.grant *(other.roles.in_resource_scope) end |
#effective_license ⇒ Object
70 71 72 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 70 def effective_license EffectiveLicense.call(self) end |
#effective_permissions(agents) ⇒ Object
62 63 64 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 62 def (agents) Ddr::Auth::EffectivePermissions.call(self, agents) end |
#finding_aid ⇒ Object
78 79 80 81 82 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 78 def finding_aid if ead_id FindingAid.new(ead_id) end end |
#grant_roles_to_creator(creator) ⇒ Object
52 53 54 55 56 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 52 def grant_roles_to_creator(creator) roles.grant type: Ddr::Auth::Roles::EDITOR, agent: creator, scope: Ddr::Auth::Roles::RESOURCE_SCOPE end |
#inherited_license ⇒ Object
74 75 76 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 74 def inherited_license InheritedLicense.call(self) end |
#inherited_roles ⇒ Object
40 41 42 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 40 def inherited_roles Ddr::Auth::InheritedRoles.call(self) end |
#permanent_id_manager ⇒ Object
32 33 34 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 32 def permanent_id_manager @permanent_id_manager ||= Ddr::Managers::PermanentIdManager.new(self) end |
#research_help ⇒ Object
66 67 68 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 66 def research_help Ddr::Contacts.get(research_help_contact) if research_help_contact end |
#roles ⇒ Object
36 37 38 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 36 def roles Ddr::Auth::Roles::PropertyRoleSet.new(adminMetadata.access_role) end |
#workflow ⇒ Object
44 45 46 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 44 def workflow @workflow ||= Ddr::Managers::WorkflowManager.new(self) end |