Module: Ddr::Models::HasAdminMetadata

Extended by:
ActiveSupport::Concern
Included in:
Base
Defined in:
lib/ddr/models/has_admin_metadata.rb

Instance Method Summary collapse

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_licenseObject



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 effective_permissions(agents)
  Ddr::Auth::EffectivePermissions.call(self, agents)
end

#finding_aidObject



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_licenseObject



74
75
76
# File 'lib/ddr/models/has_admin_metadata.rb', line 74

def inherited_license
  InheritedLicense.call(self)
end

#inherited_rolesObject



40
41
42
# File 'lib/ddr/models/has_admin_metadata.rb', line 40

def inherited_roles
  Ddr::Auth::InheritedRoles.call(self)
end

#permanent_id_managerObject



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_helpObject



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

#rolesObject



36
37
38
# File 'lib/ddr/models/has_admin_metadata.rb', line 36

def roles
  Ddr::Auth::Roles::PropertyRoleSet.new(.access_role)
end

#workflowObject



44
45
46
# File 'lib/ddr/models/has_admin_metadata.rb', line 44

def workflow
  @workflow ||= Ddr::Managers::WorkflowManager.new(self)
end