Class: Decidim::ActionDelegator::ActionDelegatorCensusUsers

Inherits:
Query
  • Object
show all
Defined in:
app/queries/decidim/action_delegator/action_delegator_census_users.rb

Overview

Query to find eligible users for corporate governance census elections

Instance Method Summary collapse

Constructor Details

#initialize(election) ⇒ ActionDelegatorCensusUsers

Returns a new instance of ActionDelegatorCensusUsers.



7
8
9
10
11
# File 'app/queries/decidim/action_delegator/action_delegator_census_users.rb', line 7

def initialize(election)
  @election = election
  @setting_id = election.census_settings["setting_id"]
  @authorization_handlers = election.census_settings["authorization_handlers"]&.keys
end

Instance Method Details

#queryObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/queries/decidim/action_delegator/action_delegator_census_users.rb', line 13

def query
  return Decidim::User.none unless @setting_id

  setting = Decidim::ActionDelegator::Setting.find_by(id: @setting_id)
  return Decidim::User.none unless setting

  if @authorization_handlers.present?
    authorized_participants_and_delegates(setting)
  else
    all_confirmed_users
  end
end