Add basic frontend for budget executions list
This commit is contained in:
39
app/controllers/budgets/executions_controller.rb
Normal file
39
app/controllers/budgets/executions_controller.rb
Normal file
@@ -0,0 +1,39 @@
|
||||
module Budgets
|
||||
class ExecutionsController < ApplicationController
|
||||
before_action :load_budget
|
||||
before_action :load_heading
|
||||
before_action :load_investments
|
||||
|
||||
load_and_authorize_resource :budget
|
||||
|
||||
def show
|
||||
authorize! :read_executions, @budget
|
||||
@statuses = ::Budget::Investment::Status.all
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_budget
|
||||
@budget = Budget.find_by(slug: params[:id]) || Budget.find_by(id: params[:id])
|
||||
end
|
||||
|
||||
def load_heading
|
||||
@heading = if params[:heading_id].present?
|
||||
@budget.headings.find_by(slug: params[:heading_id])
|
||||
else
|
||||
@heading = @budget.headings.first
|
||||
end
|
||||
end
|
||||
|
||||
def load_investments
|
||||
@investments = Budget::Result.new(@budget, @heading).investments.joins(:milestones)
|
||||
|
||||
if params[:status].present?
|
||||
@investments.where('budget_investment_milestones.status_id = ?', params[:status])
|
||||
else
|
||||
@investments
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user