Class: Decidim::ActionDelegator::DelegatedVotesVersions

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

Overview

Returns all PaperTrail versions of a consultation’s delegated votes for auditing purposes. It is intended to be used to easily fetch this data when a judge ask us so.

Instance Method Summary collapse

Constructor Details

#initialize(consultation) ⇒ DelegatedVotesVersions

Returns a new instance of DelegatedVotesVersions.



8
9
10
# File 'app/queries/decidim/action_delegator/delegated_votes_versions.rb', line 8

def initialize(consultation)
  @consultation = consultation
end

Instance Method Details

#queryObject



12
13
14
15
16
17
18
# File 'app/queries/decidim/action_delegator/delegated_votes_versions.rb', line 12

def query
  PaperTrail::Version
    .joins("INNER JOIN decidim_action_delegator_delegations ON decidim_action_delegator_delegations.id = versions.decidim_action_delegator_delegation_id")
    .joins("INNER JOIN decidim_action_delegator_settings ON decidim_action_delegator_settings.id = decidim_action_delegator_delegations.decidim_action_delegator_setting_id")
    .where(decidim_action_delegator_settings: { decidim_consultation_id: consultation.id })
    .order("versions.created_at ASC")
end