Sha256: f8e07656506c6453576d4f3cdf1bf32190c5fff0f532df524d8f47c737324fd8

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

module CurationConcerns
  module AbilityHelper
    # Returns true if can create at least one type of work
    def can_ever_create_works?
      can = false
      CurationConcerns.config.curation_concerns.each do |curation_concern_type|
        break if can
        can = can?(:create, curation_concern_type)
      end
      can
    end

    def visibility_options(variant)
      options = [
        ['Open Access', Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC],
        [t('curation_concerns.institution_name'), Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED],
        ['Private', Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE]
      ]
      case variant
      when :restrict
        options.delete_at(0)
        options.reverse!
      when :loosen
        options.delete_at(2)
      end
      options
    end

    def visibility_badge(value)
      case value
      when Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC
        content_tag :span, "Open Access", class: "label label-success"
      when Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_AUTHENTICATED
        content_tag :span, t('curation_concerns.institution_name'), class: "label label-info"
      when Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PRIVATE
        content_tag :span, "Private", class: "label label-danger"
      when Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_EMBARGO
        content_tag :span, "Embargo", class: "label label-warning"
      when Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_LEASE
        content_tag :span, "Lease", class: "label label-warning"
      else
        content_tag :span, value, class: "label label-info"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
curation_concerns-0.3.0 app/helpers/curation_concerns/ability_helper.rb
curation_concerns-0.2.0 app/helpers/curation_concerns/ability_helper.rb