diff --git a/app/controllers/admin/spending_proposals_controller.rb b/app/controllers/admin/spending_proposals_controller.rb index 19e89fe48..e6fe19656 100644 --- a/app/controllers/admin/spending_proposals_controller.rb +++ b/app/controllers/admin/spending_proposals_controller.rb @@ -32,7 +32,8 @@ class Admin::SpendingProposalsController < Admin::BaseController end def summary - @spending_proposals = SpendingProposal.for_summary.group(:geozone).sum(:price) + @spending_proposals = SpendingProposal.group(:geozone).sum(:price) + @spending_proposals_with_supports = SpendingProposal.with_supports.group(:geozone).sum(:price) end private diff --git a/app/helpers/spending_proposals_helper.rb b/app/helpers/spending_proposals_helper.rb index 030b53f8f..40b9d489e 100644 --- a/app/helpers/spending_proposals_helper.rb +++ b/app/helpers/spending_proposals_helper.rb @@ -14,11 +14,11 @@ module SpendingProposalsHelper end end - def spending_proposal_count_for_geozone(geozone) + def spending_proposal_count_for_geozone(scope, geozone) if geozone.present? - geozone.spending_proposals.for_summary.count + geozone.spending_proposals.send(scope).count else - SpendingProposal.where(geozone: nil).for_summary.count + SpendingProposal.where(geozone: nil).send(scope).count end end diff --git a/app/models/spending_proposal.rb b/app/models/spending_proposal.rb index 723cfa7e2..9572f9695 100644 --- a/app/models/spending_proposal.rb +++ b/app/models/spending_proposal.rb @@ -139,9 +139,16 @@ class SpendingProposal < ActiveRecord::Base self.responsible_name = author.try(:document_number) if author.try(:document_number).present? end - def self.for_summary + def self.finished_and_feasible valuation_finished.feasible end + def self.finished_and_unfeasible + valuation_finished.unfeasible + end + + def self.with_supports + SpendingProposal.where(id: Vote.for_spending_proposals(SpendingProposal.all).map(&:votable).map(&:id)) + end end diff --git a/app/views/admin/spending_proposals/_summary_table.html.erb b/app/views/admin/spending_proposals/_summary_table.html.erb new file mode 100644 index 000000000..f2717a550 --- /dev/null +++ b/app/views/admin/spending_proposals/_summary_table.html.erb @@ -0,0 +1,35 @@ +
| <%= t("admin.spending_proposals.summary.geozone_name") %> | +<%= t("admin.spending_proposals.summary.finished_and_feasible_count") %> | +<%= t("admin.spending_proposals.summary.finished_and_unfeasible_count") %> | +<%= t("admin.spending_proposals.summary.finished_count") %> | +<%= t("admin.spending_proposals.summary.in_evaluation_count") %> | +<%= t("admin.spending_proposals.summary.total_count") %> | +<%= t("admin.spending_proposals.summary.cost_for_geozone") %> | + + <% spending_proposals.each do |geozone, price| %> +
|---|---|---|---|---|---|---|
| + <%= geozone.present? ? geozone.name : t("geozones.none") %> + | ++ <%= spending_proposal_count_for_geozone("finished_and_feasible", geozone) %> + | ++ <%= spending_proposal_count_for_geozone("finished_and_unfeasible", geozone) %> + | ++ <%= spending_proposal_count_for_geozone("valuation_finished", geozone) %> + | ++ <%= spending_proposal_count_for_geozone("valuating", geozone) %> + | ++ <%= spending_proposal_count_for_geozone("all", geozone) %> + | ++ <%= number_to_currency(price) %> + | +
| <%= t("admin.spending_proposals.summary.geozone_name") %> | -<%= t("admin.spending_proposals.summary.count_for_geozone") %> | -<%= t("admin.spending_proposals.summary.cost_for_geozone") %> | - - <% @spending_proposals.each do |geozone, price| %> -
|---|---|---|
| <%= geozone.present? ? geozone.name : t("geozones.none") %> | -<%= spending_proposal_count_for_geozone(geozone) %> | -<%= number_to_currency(price) %> | -