Class: Decidim::NotificationCell
- Defined in:
- app/cells/decidim/notification_cell.rb
Overview
This cell renders a notification from a notifications collection
Direct Known Subclasses
Constant Summary
Constants included from AmendmentsHelper
Instance Method Summary collapse
- #action_cell ⇒ Object
- #action_class ⇒ Object
- #notification_title ⇒ Object
- #participatory_space_link ⇒ Object
- #show ⇒ Object
Methods inherited from ViewModel
#call, #current_user, #view_context
Methods included from IconHelper
#component_icon, #manifest_icon, #resource_icon, #resource_type_icon, #resource_type_icon_key, #text_with_resource_icon
Methods included from LayoutHelper
#_icon_classes, #apple_favicon, #application_path, #current_url, #current_user_unread_data, #extended_navigation_bar, #external_icon, #favicon, #icon, #legacy_favicon, #role
Methods included from TooltipHelper
Methods included from ModalHelper
Methods included from OrganizationHelper
#current_organization_name, #organization_colors, #organization_description_label, #organization_name
Methods included from TranslatableAttributes
Methods included from ApplicationHelper
#add_body_classes, #cell, #edit_link, #extra_admin_link, #html_truncate, #present, #prevent_timeout_seconds, #resolve_presenter_class, #text_initials
Methods included from CacheHelper
Methods included from AmendmentsHelper
#accept_and_reject_buttons_for, #action_button_card_for, #allowed_to_accept_and_reject?, #allowed_to_promote?, #amend_button_for, #amendments_enabled?, #amendments_form_field_for, #amendments_form_fields_label, #amendments_form_fields_value, #can_participate_in_private_space?, #can_react_to_emendation?, #current_step, #emendation_actions_for, #emendation_announcement_for, #promote_button_for, #render_emendation_body, #total_steps, #wizard_aside_back_url, #wizard_header_title
Methods included from RichTextEditorHelper
Methods included from ContextualHelpHelper
Methods included from ScopesHelper
#has_visible_scopes?, #scope_name_for_picker, #scopes_picker_field, #scopes_picker_filter, #scopes_select_field, #scopes_select_tag
Methods included from DecidimFormHelper
#areas_for_select, #base_error_messages, #decidim_form_for, #decidim_form_slug_url, #editor_field_tag, #form_field_has_error?, #form_required_explanation, #name_with_locale, #ordered_scopes_descendants, #ordered_scopes_descendants_for_select, #scopes_picker_field_tag, #tab_element_class_for, #translated_field_tag
Methods included from OmniauthHelper
#normalize_provider_name, #oauth_icon, #provider_name
Methods included from SanitizeHelper
#decidim_escape_translated, #decidim_html_escape, #decidim_sanitize, #decidim_sanitize_admin, #decidim_sanitize_editor, #decidim_sanitize_editor_admin, #decidim_sanitize_newsletter, #decidim_sanitize_translated, #decidim_url_escape, included
Methods included from MarkupHelper
Methods included from ReplaceButtonsHelper
Methods included from ActionAuthorizationHelper
#action_authorized_button_to, #action_authorized_link_to, #logged_button_to, #logged_link_to
Methods included from ResourceHelper
#linked_classes_filter_values_for, #linked_classes_for, #resource_locator
Instance Method Details
#action_cell ⇒ Object
37 38 39 |
# File 'app/cells/decidim/notification_cell.rb', line 37 def action_cell @action_cell ||= (notification.event_class_instance.action_cell if action_class&.safe_constantize) end |
#action_class ⇒ Object
33 34 35 |
# File 'app/cells/decidim/notification_cell.rb', line 33 def action_class @action ||= ("#{notification.event_class_instance.action_cell.camelize}Cell" if notification.event_class_instance.action_cell) end |
#notification_title ⇒ Object
17 18 19 20 21 |
# File 'app/cells/decidim/notification_cell.rb', line 17 def notification_title notification.event_class_instance.notification_title rescue StandardError I18n.t("decidim.notifications.show.missing_event") end |
#participatory_space_link ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'app/cells/decidim/notification_cell.rb', line 23 def participatory_space_link return unless notification.resource.respond_to?(:participatory_space) participatory_space = notification.resource.participatory_space link_to( decidim_escape_translated(participatory_space.title), resource_locator(participatory_space).path ) end |
#show ⇒ Object
9 10 11 12 13 14 15 |
# File 'app/cells/decidim/notification_cell.rb', line 9 def show if notification.event_class_instance.try(:hidden_resource?) render :moderated else render :show end end |