Files
nairobi/app/controllers/admin/spending_proposals_controller.rb
2016-02-26 11:18:31 +01:00

43 lines
1.2 KiB
Ruby

class Admin::SpendingProposalsController < Admin::BaseController
include FeatureFlags
feature_flag :spending_proposals
has_filters %w{all without_admin without_valuators}, only: :index
load_and_authorize_resource
def index
@spending_proposals = geozone_filter(params[:geozone_id].presence).includes(:geozone, administrator: :user, valuators: :user).send(@current_filter).order(created_at: :desc).page(params[:page])
end
def show
@admins = Administrator.includes(:user).all
@valuators = Valuator.includes(:user).all.order("users.username ASC")
end
def assign_admin
@spending_proposal.update(params.require(:spending_proposal).permit(:administrator_id))
render nothing: true
end
def assign_valuators
params[:spending_proposal] ||= {}
params[:spending_proposal][:valuator_ids] ||= []
@spending_proposal.update(params.require(:spending_proposal).permit(valuator_ids: []))
end
private
def geozone_filter(geozone)
case geozone
when nil
@spending_proposals
when 'all'
@spending_proposals.where(geozone_id: nil)
else
@spending_proposals.where(geozone_id: params[:geozone_id].presence)
end
end
end