Sha256: d2f9a836d22549c6c6a6bdf5662f95317ac58ec4a93951f909b12a989312dd70

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module Decidim
  # The controller to show all the last activities in a Decidim Organization.
  class LastActivitiesController < Decidim::ApplicationController
    include FilterResource
    include Paginable

    helper Decidim::ResourceHelper
    helper Decidim::FiltersHelper

    helper_method :activities, :resource_types

    private

    def resource_types
      return @resource_types if defined?(@resource_types)

      @resource_types = ActionLog.public_resource_types.sort_by do |klass|
        klass.constantize.model_name.human
      end

      @resource_types = @resource_types.map do |klass|
        [klass, klass.constantize.model_name.human]
      end

      @resource_types << ["all", I18n.t("decidim.last_activities.all")]
    end

    def activities
      @activities ||= paginate(search.result)
    end

    def search_collection
      ActionLog
        .where(visibility: %w(public-only all))
        .where(organization: current_organization)
        .order(created_at: :desc)
    end

    def default_filter_params
      { with_resource_type: "all" }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
decidim-core-0.27.0 app/controllers/decidim/last_activities_controller.rb
decidim-core-0.27.0.rc2 app/controllers/decidim/last_activities_controller.rb