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

Version Path
decidim-initiatives-0.26.10 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.9 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.8 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.7 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.5 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.4 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.3 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.2 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.1 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.0 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.0.rc2 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.26.0.rc1 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.2 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.1 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.0 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.0.rc4 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.0.rc3 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.0.rc2 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.25.0.rc1 app/queries/decidim/initiatives/admin/manageable_initiatives.rb
decidim-initiatives-0.24.3 app/queries/decidim/initiatives/admin/manageable_initiatives.rb