Add calculate_winners on Admin Budget controller, route and ability for admins
This commit is contained in:
@@ -14,10 +14,15 @@ class Admin::BudgetsController < Admin::BaseController
|
||||
@budget = Budget.includes(groups: :headings).find(params[:id])
|
||||
end
|
||||
|
||||
def new
|
||||
end
|
||||
def new; end
|
||||
|
||||
def edit
|
||||
def edit; end
|
||||
|
||||
def calculate_winners
|
||||
return unless @budget.balloting_process?
|
||||
@budget.headings.each { |heading| Budget::Result.new(@budget, heading).calculate_winners }
|
||||
redirect_to admin_budget_budget_investments_path(budget_id: @budget.id, filter: 'winners'),
|
||||
notice: I18n.t("admin.budgets.winners.calculated")
|
||||
end
|
||||
|
||||
def update
|
||||
|
||||
@@ -44,7 +44,7 @@ module Abilities
|
||||
|
||||
can [:read, :update, :valuate, :destroy, :summary], SpendingProposal
|
||||
|
||||
can [:index, :read, :new, :create, :update, :destroy], Budget
|
||||
can [:index, :read, :new, :create, :update, :destroy, :calculate_winners], Budget
|
||||
can [:read, :create, :update, :destroy], Budget::Group
|
||||
can [:read, :create, :update, :destroy], Budget::Heading
|
||||
can [:hide, :update, :toggle_selection], Budget::Investment
|
||||
|
||||
@@ -67,8 +67,12 @@ class Budget < ActiveRecord::Base
|
||||
phase == "finished"
|
||||
end
|
||||
|
||||
def balloting_process?
|
||||
balloting? || reviewing_ballots?
|
||||
end
|
||||
|
||||
def balloting_or_later?
|
||||
balloting? || reviewing_ballots? || finished?
|
||||
balloting_process? || finished?
|
||||
end
|
||||
|
||||
def on_hold?
|
||||
|
||||
@@ -12,11 +12,10 @@ class Budget
|
||||
reset_winners
|
||||
investments.each do |investment|
|
||||
@current_investment = investment
|
||||
if inside_budget?
|
||||
set_winner
|
||||
end
|
||||
set_winner if inside_budget?
|
||||
end
|
||||
end
|
||||
handle_asynchronously :calculate_winners
|
||||
|
||||
def investments
|
||||
heading.investments.selected.sort_by_ballots
|
||||
|
||||
@@ -193,6 +193,10 @@ Rails.application.routes.draw do
|
||||
end
|
||||
|
||||
resources :budgets do
|
||||
member do
|
||||
put :calculate_winners
|
||||
end
|
||||
|
||||
resources :budget_groups do
|
||||
resources :budget_headings do
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user