Module: Worthwhile::AbilityHelper

Included in:
MainAppHelpers
Defined in:
app/helpers/worthwhile/ability_helper.rb

Instance Method Summary collapse

Instance Method Details

#can_ever_create_works?Boolean

Returns true if can create at least one type of work

Returns:

  • (Boolean)


4
5
6
7
8
9
10
11
# File 'app/helpers/worthwhile/ability_helper.rb', line 4

def can_ever_create_works?
  can = false
  Worthwhile.configuration.curation_concerns.each do |curation_concern_type|
    break if can
    can = can?(:create,curation_concern_type)
  end
  return can
end

#visibility_badge(value) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'app/helpers/worthwhile/ability_helper.rb', line 29

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

#visibility_options(variant) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/helpers/worthwhile/ability_helper.rb', line 13

def visibility_options(variant)
  options = [
      ['Open Access',Hydra::AccessControls::AccessRight::VISIBILITY_TEXT_VALUE_PUBLIC],
      [t('sufia.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
  return options
end