adds filtering of spending proposals by admin

This commit is contained in:
rgarcia
2016-03-01 19:58:13 +01:00
parent b38558f2f3
commit ec25b388c7
7 changed files with 70 additions and 20 deletions

View File

@@ -23,10 +23,36 @@ class SpendingProposal < ActiveRecord::Base
scope :valuating, -> { where("valuation_assignments_count > 0 AND valuation_finished = ?", false) }
scope :valuation_finished, -> { where(valuation_finished: true) }
scope :for_render, -> { includes(:geozone, administrator: :user, valuators: :user) }
def description
super.try :html_safe
end
def self.search(params, current_filter)
results = self
results = results.by_geozone(params[:geozone_id]) if params[:geozone_id].present?
results = results.by_administrator(params[:administrator_id]) if params[:administrator_id].present?
results = results.send(current_filter) if current_filter.present?
results = results.for_render
results
end
def self.by_geozone(geozone)
case geozone
when nil
self
when 'all'
where(geozone_id: nil)
else
where(geozone_id: geozone.presence)
end
end
def self.by_administrator(administrator)
where(administrator_id: administrator.presence)
end
def feasibility
case feasible
when true