Sha256: b0944a3bb63005a05e57d222b9b68e9a5b906b1ca50bf46ba2396b05cd9ba0a1

Contents?: true

Size: 1.22 KB

Versions: 10

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

module Decidim
  module ContentBlocks
    class ParticipatorySpaceLastActivityCell < BaseCell
      def render_recent_avatars
        return if last_activities_users.blank?

        render :recent_avatars
      end

      def participants_count
        @participants_count ||= activities_query.select(:decidim_user_id).distinct.count
      end

      def activities_query
        @activities_query ||= Decidim::ParticipatorySpaceLastActivity.new(resource).query
      end

      private

      def ordered_users_with_activities
        @ordered_users_with_activities ||=
          Decidim::ParticipatorySpaceLastActivity
          .new(resource).query
          .where.not(user: nil)
          .select("decidim_user_id, MAX(decidim_action_logs.created_at)")
          .group("decidim_user_id")
          .reorder("MAX(decidim_action_logs.created_at) DESC")
      end

      def last_activities_users
        @last_activities_users ||= ordered_users_with_activities.limit(max_last_activity_users).map(&:user)
      end

      def max_last_activity_users
        model.settings.try(:max_last_activity_users) || Decidim.default_max_last_activity_users
      end

      def hide_participatory_space = true
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc3 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.30.0.rc2 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.30.0.rc1 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.2 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.1 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.0 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.0.rc4 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.0.rc3 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.0.rc2 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb
decidim-core-0.29.0.rc1 app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb