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

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

#finding_aidObject



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_rolesObject



46
47
48
# File 'lib/ddr/models/has_admin_metadata.rb', line 46

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

#lockObject



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

Returns:

  • (Boolean)


78
79
80
# File 'lib/ddr/models/has_admin_metadata.rb', line 78

def locked?
  !!is_locked || Ddr::Models.repository_locked
end

#research_helpObject



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

#rolesObject



42
43
44
# File 'lib/ddr/models/has_admin_metadata.rb', line 42

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

#unlockObject



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

#workflowObject



50
51
52
# File 'lib/ddr/models/has_admin_metadata.rb', line 50

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