app/models/decidim/proposals/proposal.rb in decidim-proposals-0.28.0 vs app/models/decidim/proposals/proposal.rb in decidim-proposals-0.28.1
- old
+ new
@@ -95,15 +95,15 @@
scope :voted_by, lambda { |user|
includes(:votes).where(decidim_proposals_proposal_votes: { decidim_author_id: user })
}
scope :sort_by_valuation_assignments_count_asc, lambda {
- order(Arel.sql("#{sort_by_valuation_assignments_count_nulls_last_query} ASC NULLS FIRST").to_s)
+ order(valuation_assignments_count: :asc)
}
scope :sort_by_valuation_assignments_count_desc, lambda {
- order(Arel.sql("#{sort_by_valuation_assignments_count_nulls_last_query} DESC NULLS LAST").to_s)
+ order(valuation_assignments_count: :desc)
}
scope_search_multi :with_any_state, [:accepted, :rejected, :evaluating, :state_not_published, :state_published]
def self.with_valuation_assigned_to(user, space)
@@ -330,21 +330,9 @@
published_at.nil?
end
def self.ransack(params = {}, options = {})
ProposalSearch.new(self, params, options)
- end
-
- # Defines the base query so that ransack can actually sort by this value
- def self.sort_by_valuation_assignments_count_nulls_last_query
- <<-SQL.squish
- (
- SELECT COUNT(decidim_proposals_valuation_assignments.id)
- FROM decidim_proposals_valuation_assignments
- WHERE decidim_proposals_valuation_assignments.decidim_proposal_id = decidim_proposals_proposals.id
- GROUP BY decidim_proposals_valuation_assignments.decidim_proposal_id
- )
- SQL
end
# method to filter by assigned valuator role ID
def self.valuator_role_ids_has(value)
query = <<-SQL.squish