Class: Decidim::ProfileCell
- Inherits:
-
ViewModel
- Object
- ViewModel
- Decidim::ProfileCell
- Includes:
- ActiveLinkTo, ApplicationHelper, AriaSelectedLinkToHelper, UserProfileHelper
- Defined in:
- decidim-core/app/cells/decidim/profile_cell.rb
Direct Known Subclasses
Instance Method Summary collapse
- #active_content ⇒ Object
- #content_cell ⇒ Object
- #current_user_logged_in? ⇒ Boolean
- #label_conversations ⇒ Object
- #manageable_group? ⇒ Boolean
- #own_profile? ⇒ Boolean
- #profile_holder ⇒ Object
- #profile_tabs ⇒ Object
- #show ⇒ Object
- #unread_count ⇒ Object
Methods included from AriaSelectedLinkToHelper
Methods included from UserProfileHelper
Instance Method Details
#active_content ⇒ Object
28 29 30 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 28 def active_content context[:active_content] end |
#content_cell ⇒ Object
24 25 26 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 24 def content_cell context[:content_cell] end |
#current_user_logged_in? ⇒ Boolean
32 33 34 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 32 def current_user_logged_in? current_user && !current_user.admin? end |
#label_conversations ⇒ Object
58 59 60 61 62 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 58 def label_conversations label = I18n.t("decidim.profiles.show.conversations") label = "#{label} <span class=\"badge\">#{unread_count}</span>" if unread_count.positive? label end |
#manageable_group? ⇒ Boolean
40 41 42 43 44 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 40 def manageable_group? return false unless profile_holder.is_a?(Decidim::UserGroup) current_user && current_user.manageable_user_groups.include?(profile_holder) end |
#own_profile? ⇒ Boolean
36 37 38 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 36 def own_profile? current_user && current_user == profile_holder end |
#profile_holder ⇒ Object
20 21 22 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 20 def profile_holder model end |
#profile_tabs ⇒ Object
46 47 48 49 50 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 46 def profile_tabs return render :user_group_tabs if profile_holder.is_a?(Decidim::UserGroup) render :user_tabs end |
#show ⇒ Object
13 14 15 16 17 18 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 13 def show return render :invalid if profile_holder.blank? return render :inaccessible if profile_holder.blocked? && current_user_logged_in? render :show end |
#unread_count ⇒ Object
52 53 54 55 56 |
# File 'decidim-core/app/cells/decidim/profile_cell.rb', line 52 def unread_count return profile_holder.(current_user) if profile_holder.is_a?(Decidim::UserGroup) current_user. end |