From e0e02b47c054d177b75f59d4da1b603b424744ef Mon Sep 17 00:00:00 2001 From: Bertocq Date: Wed, 28 Jun 2017 23:54:05 +0200 Subject: [PATCH] Add Budgets Stats Controller, route and ability on reviewing ballots and finished budget --- app/controllers/budgets/stats_controller.rb | 18 ++++++++++++++++++ app/models/abilities/everyone.rb | 1 + config/routes/budget.rb | 1 + 3 files changed, 20 insertions(+) create mode 100644 app/controllers/budgets/stats_controller.rb diff --git a/app/controllers/budgets/stats_controller.rb b/app/controllers/budgets/stats_controller.rb new file mode 100644 index 000000000..48a93c5e7 --- /dev/null +++ b/app/controllers/budgets/stats_controller.rb @@ -0,0 +1,18 @@ +module Budgets + class StatsController < ApplicationController + + load_and_authorize_resource :budget + + def show + authorize! :read_stats, @budget + @stats = load_stats + end + + private + + def load_stats + Budget::Stats.new(@budget).generate + end + + end +end diff --git a/app/models/abilities/everyone.rb b/app/models/abilities/everyone.rb index a20a119fe..90d4161c2 100644 --- a/app/models/abilities/everyone.rb +++ b/app/models/abilities/everyone.rb @@ -21,6 +21,7 @@ module Abilities can [:read], Budget::Group can [:read, :print, :json_data], Budget::Investment can [:read_results, :read_executions], Budget, phase: "finished" + can :read_stats, Budget, phase: ["reviewing_ballots", "finished"] can :new, DirectMessage can [:read, :debate, :draft_publication, :allegations, :result_publication, :proposals, :milestones], Legislation::Process, published: true diff --git a/config/routes/budget.rb b/config/routes/budget.rb index 215b0bc75..a72a71dfb 100644 --- a/config/routes/budget.rb +++ b/config/routes/budget.rb @@ -15,6 +15,7 @@ resources :budgets, only: [:show, :index] do end resource :results, only: :show, controller: "budgets/results" + resource :stats, only: :show, controller: "budgets/stats" resource :executions, only: :show, controller: "budgets/executions" end