Module: Ddr::Models::HasAdminMetadata
- Extended by:
- ActiveSupport::Concern, Deprecation
- Included in:
- Base
- Defined in:
- lib/ddr/models/has_admin_metadata.rb
Instance Method Summary collapse
- #copy_resource_roles_from(other) ⇒ Object
- #effective_permissions(agents) ⇒ Object
- #finding_aid ⇒ Object
- #grant_roles_to_creator(creator) ⇒ Object
- #inherited_roles ⇒ Object
- #lock ⇒ Object
- #lock! ⇒ Object
- #locked? ⇒ Boolean
- #research_help ⇒ Object
- #roles ⇒ Object
- #unlock ⇒ Object
- #unlock! ⇒ Object
- #workflow ⇒ Object
Instance Method Details
#copy_resource_roles_from(other) ⇒ Object
60 61 62 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 60 def copy_resource_roles_from(other) roles.grant *(other.roles.in_resource_scope) end |
#effective_permissions(agents) ⇒ Object
64 65 66 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 64 def (agents) Ddr::Auth::EffectivePermissions.call(self, agents) end |
#finding_aid ⇒ Object
72 73 74 75 76 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 72 def finding_aid if ead_id FindingAid.new(ead_id) end end |
#grant_roles_to_creator(creator) ⇒ Object
54 55 56 57 58 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 54 def grant_roles_to_creator(creator) roles.grant type: Ddr::Auth::Roles::EDITOR, agent: creator, scope: Ddr::Auth::Roles::RESOURCE_SCOPE end |
#inherited_roles ⇒ Object
46 47 48 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 46 def inherited_roles Ddr::Auth::InheritedRoles.call(self) end |
#lock ⇒ Object
82 83 84 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 82 def lock self.is_locked = true end |
#lock! ⇒ Object
90 91 92 93 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 90 def lock! lock save end |
#locked? ⇒ Boolean
78 79 80 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 78 def locked? !!is_locked || Ddr::Models.repository_locked end |
#research_help ⇒ Object
68 69 70 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 68 def research_help Ddr::Models::Contact.call(research_help_contact) if research_help_contact end |
#roles ⇒ Object
42 43 44 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 42 def roles Ddr::Auth::Roles::PropertyRoleSet.new(adminMetadata.access_role) end |
#unlock ⇒ Object
86 87 88 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 86 def unlock self.is_locked = false end |
#unlock! ⇒ Object
95 96 97 98 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 95 def unlock! unlock save end |
#workflow ⇒ Object
50 51 52 |
# File 'lib/ddr/models/has_admin_metadata.rb', line 50 def workflow @workflow ||= Ddr::Managers::WorkflowManager.new(self) end |