Sha256: 7456b9dfa1c24a002b3d934b91988af2e671656c2b65a23f003e22da70d239a8
Contents?: true
Size: 950 Bytes
Versions: 35
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 < Rectify::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
35 entries across 35 versions & 1 rubygems