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