Sha256: 74fc84f6d1cef85473a2cd251c4bd2d98dd423b95a6e299ff8050adb0dbd1716
Contents?: true
Size: 950 Bytes
Versions: 30
Compression:
Stored size: 950 Bytes
Contents
# frozen_string_literal: true module Decidim module Initiatives module Admin # Class that retrieves manageable initiatives for the given user. # Regular users will get only their initiatives. Administrators will # retrieve all initiatives. class ManageableInitiatives < Decidim::Query # Syntactic sugar to initialize the class and return the queried objects # # user - Decidim::User def self.for(user) new(user).query end # Initializes the class. # # user - Decidim::User def initialize(user) @user = user end # Retrieves all initiatives / Initiatives created by the user. def query return Initiative.where(organization: @user.organization) if @user.admin? Initiative.where(id: InitiativesCreated.by(@user) + InitiativesPromoted.by(@user)) end end end end end
Version data entries
30 entries across 30 versions & 1 rubygems