Sha256: ae61ec11a22bbf52186de44f91853a3751720f2d433292256f02ed7676f926f0
Contents?: true
Size: 1.87 KB
Versions: 12
Compression:
Stored size: 1.87 KB
Contents
# frozen_string_literal: true module Decidim # The controller to show all the last activities in a Decidim Organization. class UserActivitiesController < Decidim::ApplicationController include Paginable include UserGroups include FilterResource include Flaggable helper Decidim::ResourceHelper helper_method :activities, :resource_types, :user def index raise ActionController::RoutingError, "Missing user: #{params[:nickname]}" unless user raise ActionController::RoutingError, "Blocked User" if user.blocked? && !current_user&.admin? end private def user return unless params[:nickname] @user ||= current_organization.users.find_by("LOWER(nickname) = ?", params[:nickname].downcase) end def activities @activities ||= paginate( if own_activities? OwnActivities.new(current_organization, **activity_options).query.with_private_resources else PublicActivities.new(current_organization, **activity_options).query.with_all_resources end ) end def activity_options { user: user, current_user: current_user, resource_name: filter.resource_type } end def own_activities? @own_activities ||= current_user == user end def default_filter_params { resource_type: nil } end def resource_types @resource_types = begin array = %w(Decidim::Proposals::CollaborativeDraft Decidim::Comments::Comment Decidim::Debates::Debate Decidim::Initiative Decidim::Meetings::Meeting Decidim::Blogs::Post Decidim::Proposals::Proposal Decidim::Consultations::Question) array << "Decidim::Budgets::Order" if own_activities? array end end end end
Version data entries
12 entries across 12 versions & 1 rubygems