Sha256: c6b2599e6edab20d53af77cd0a0cc46afe3f202cfdd83c9e5ad1816ecad1de7c

Contents?: true

Size: 1.27 KB

Versions: 1

Compression:

Stored size: 1.27 KB

Contents

module Hydra::AccessControlsEnforcement
  extend ActiveSupport::Concern
  include Blacklight::AccessControls::Enforcement

  included do
    Deprecation.warn(self, 'Hydra::AccessControlsEnforcement is deprecated ' \
      'and will be removed in version 11. Use ' \
      'Hydra::AccessControls::SearchBuilder instead.')
  end

  protected

  def under_embargo?
    load_permissions_from_solr
    embargo_key = Hydra.config.permissions.embargo.release_date
    if @permissions_solr_document[embargo_key]
      embargo_date = Date.parse(@permissions_solr_document[embargo_key].split(/T/)[0])
      return embargo_date > Date.parse(Time.now.to_s)
    end
    false
  end

  # Which permission levels (logical OR) will grant you the ability to discover documents in a search.
  # Overrides blacklight-access_controls method.
  def discovery_permissions
    @discovery_permissions ||= ["edit","discover","read"]
  end

  # Find the name of the solr field for this type of permission.
  # e.g. "read_access_group_ssim" or "discover_access_person_ssim".
  # Used by blacklight-access_controls.
  def solr_field_for(permission_type, permission_category)
    permissions = Hydra.config.permissions[permission_type.to_sym]
    permission_category == 'group' ? permissions.group : permissions.individual
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hydra-access-controls-11.0.0.rc1 lib/hydra/access_controls_enforcement.rb