Sha256: 56b03f2cf8de7a55689365c2c91dc20e02d88de5ef9f98fe348fff749d3ce224

Contents?: true

Size: 975 Bytes

Versions: 21

Compression:

Stored size: 975 Bytes

Contents

# frozen_string_literal: true

require "cell/partial"

module Decidim
  module Meetings
    # This cell renders the highlighted meetings for a given component.
    # It is intended to be used in the `participatory_space_highlighted_elements`
    # view hook.
    class HighlightedMeetingsForComponentCell < Decidim::ViewModel
      include Decidim::ComponentPathHelper
      include Decidim::CardHelper

      def show
        render unless meetings_count.zero?
      end

      private

      def meetings
        @meetings ||= Decidim::Meetings::Meeting.where(component: model).visible_meeting_for(current_user)
      end

      def past_meetings
        @past_meetings ||= meetings.past.order(end_time: :desc, start_time: :desc).limit(3)
      end

      def upcoming_meetings
        @upcoming_meetings ||= meetings.upcoming.order(:start_time, :end_time).limit(3)
      end

      def meetings_count
        @meetings_count ||= meetings.count
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
decidim-meetings-0.25.2 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.0 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.0.rc4 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.0.rc3 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.0.rc2 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.25.0.rc1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.3 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.6 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.2 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.5 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.0 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.0.rc2 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.4 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.24.0.rc1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.3 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.2 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb
decidim-meetings-0.23.1.rc1 app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb