module Ddr::Models::HasAdminMetadata
Public Instance Methods
assign_permanent_id!()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 91 def assign_permanent_id! permanent_id_manager.assign_later end
copy_resource_roles_from(other)
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 101 def copy_resource_roles_from(other) roles.grant *(Ddr::Auth::ResourceRoles.call(other)) end
effective_license()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 113 def effective_license EffectiveLicense.call(self) end
effective_permissions(agents)
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 105 def effective_permissions(agents) Ddr::Auth::EffectivePermissions.call(self, agents) end
finding_aid()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 121 def finding_aid if ead_id FindingAid.new(ead_id) end end
grant_roles_to_creator(creator)
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 95 def grant_roles_to_creator(creator) roles.grant role_type: Ddr::Auth::Roles::EDITOR, agent: creator, scope: Ddr::Auth::Roles::RESOURCE_SCOPE end
inherited_license()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 117 def inherited_license InheritedLicense.call(self) end
inherited_roles()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 83 def inherited_roles Ddr::Auth::InheritedRoles.call(self) end
lock()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 131 def lock self.is_locked = true end
lock!()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 139 def lock! lock save end
locked?()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 127 def locked? !!is_locked end
permanent_id_manager()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 75 def permanent_id_manager @permanent_id_manager ||= Ddr::Managers::PermanentIdManager.new(self) end
research_help()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 109 def research_help Ddr::Models::Contact.call(research_help_contact) if research_help_contact end
roles()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 79 def roles Ddr::Auth::Roles::RoleSetManager.new(self) end
unlock()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 135 def unlock self.is_locked = false end
unlock!()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 144 def unlock! unlock save end
workflow()
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 87 def workflow @workflow ||= Ddr::Managers::WorkflowManager.new(self) end
Private Instance Methods
update_permanent_id_on_destroy() { || ... }
click to toggle source
# File lib/ddr/models/has_admin_metadata.rb, line 151 def update_permanent_id_on_destroy @permanent_id = permanent_id yield Resque.enqueue(Ddr::Jobs::PermanentId::MakeUnavailable, @permanent_id, "deleted") end