Class: Decidim::BadgeCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::BadgeCell
show all
- Includes:
- ApplicationHelper, IconHelper
- Defined in:
- decidim-core/app/cells/decidim/badge_cell.rb
Constant Summary
Constants included
from IconHelper
IconHelper::DEFAULT_RESOURCE_TYPE_ICONS
Instance Method Summary
collapse
Methods included from IconHelper
#component_icon, #manifest_icon, #resource_icon, #resource_type_icon, #resource_type_icon_key
Instance Method Details
#badge ⇒ Object
15
16
17
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 15
def badge
@options[:badge]
end
|
#badge_name ⇒ Object
57
58
59
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 57
def badge_name
badge.translated_name
end
|
#description ⇒ Object
33
34
35
36
37
38
39
40
41
42
43
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 33
def description
if own_profile? && status.level.zero?
score_descriptions[:unearned_own]
elsif own_profile? && status.level.positive?
score_descriptions[:description_own]
elsif !own_profile? && status.level.zero?
score_descriptions[:unearned_another]
elsif !own_profile? && status.level.positive?
score_descriptions[:description_another]
end
end
|
#level_title ⇒ Object
19
20
21
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 19
def level_title
t "decidim.gamification.level", level: status.level
end
|
#opacity ⇒ Object
61
62
63
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 61
def opacity
status.level < 1 ? 0.2 : 1
end
|
#own_profile? ⇒ Boolean
23
24
25
26
27
28
29
30
31
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 23
def own_profile?
return @own_profile if defined?(@own_profile)
@own_profile = if model.is_a?(User)
model == current_user
elsif model.is_a?(UserGroup) && current_user
current_user.user_groups.include?(model)
end
end
|
#small ⇒ Object
11
12
13
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 11
def small
render "small"
end
|
45
46
47
48
49
50
51
52
53
54
55
|
# File 'decidim-core/app/cells/decidim/badge_cell.rb', line 45
def tooltip
if own_profile?
if status.next_level_in
t "decidim.gamification.badges.#{badge.name}.next_level_in", score: status.next_level_in
else
t "decidim.gamification.reached_top"
end
else
badge.description(controller.current_organization.name)
end
end
|