Module: CurationConcerns::Permissions::Writable
- Extended by:
- ActiveSupport::Concern
- Includes:
- Hydra::AccessControls::Permissions, Hydra::AccessControls::Visibility
- Included in:
- CurationConcerns::Permissions
- Defined in:
- app/models/concerns/curation_concerns/permissions/writable.rb
Instance Method Summary collapse
Instance Method Details
#paranoid_edit_permissions ⇒ Object
25 26 27 28 29 30 31 |
# File 'app/models/concerns/curation_concerns/permissions/writable.rb', line 25 def [ { key: :edit_users, message: 'Depositor must have edit access', condition: ->(obj) { !obj.edit_users.include?(obj.depositor) } }, { key: :edit_groups, message: 'Public cannot have edit access', condition: ->(obj) { obj.edit_groups.include?('public') } }, { key: :edit_groups, message: 'Registered cannot have edit access', condition: ->(obj) { obj.edit_groups.include?('registered') } } ] end |
#paranoid_permissions ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'app/models/concerns/curation_concerns/permissions/writable.rb', line 14 def valid = true .each do |validation| next unless validation[:condition].call(self) errors[validation[:key]] ||= [] errors[validation[:key]] << validation[:message] valid = false end valid end |