Merge pull request #3128 from consul/fix_valuation_with_no_budgets

Fix crash in valuation when there are no budgets
This commit is contained in:
Javier Martín
2018-12-21 19:21:51 +01:00
committed by GitHub
5 changed files with 44 additions and 33 deletions

View File

@@ -7,11 +7,9 @@ class Valuation::BudgetsController < Valuation::BaseController
def index def index
@budget = current_budget @budget = current_budget
if @budget.present? if @budget.present?
@investments_with_valuation_open = {} @investments = @budget.investments
@investments_with_valuation_open = @budget.investments .by_valuator(current_user.valuator)
.by_valuator(current_user.valuator.try(:id)) .valuation_open
.valuation_open
.count
end end
end end
end end

View File

@@ -1,30 +1,36 @@
<h2 class="inline-block"><%= t("valuation.budgets.index.title") %></h2> <h2 class="inline-block"><%= t("valuation.budgets.index.title") %></h2>
<table> <% if @budget.present? %>
<thead> <table>
<tr> <thead>
<th><%= t("valuation.budgets.index.table_name") %></th> <tr>
<th><%= t("valuation.budgets.index.table_phase") %></th> <th><%= t("valuation.budgets.index.table_name") %></th>
<th><%= t("valuation.budgets.index.table_assigned_investments_valuation_open") %></th> <th><%= t("valuation.budgets.index.table_phase") %></th>
<th><%= t("valuation.budgets.index.table_actions") %></th> <th><%= t("valuation.budgets.index.table_assigned_investments_valuation_open") %></th>
</tr> <th><%= t("valuation.budgets.index.table_actions") %></th>
</thead> </tr>
<tbody> </thead>
<tr id="<%= dom_id(@budget) %>" class="budget"> <tbody>
<td> <tr id="<%= dom_id(@budget) %>" class="budget">
<%= @budget.name %> <td>
</td> <%= @budget.name %>
<td> </td>
<%= t("budgets.phase.#{@budget.phase}") %> <td>
</td> <%= t("budgets.phase.#{@budget.phase}") %>
<td> </td>
<%= @investments_with_valuation_open %> <td>
</td> <%= @investments.count %>
<td> </td>
<%= link_to t("valuation.budgets.index.evaluate"), <td>
valuation_budget_budget_investments_path(budget_id: @budget.id), <%= link_to t("valuation.budgets.index.evaluate"),
class: "button hollow expanded" %> valuation_budget_budget_investments_path(budget_id: @budget.id),
</td> class: "button hollow expanded" %>
</tr> </td>
</tbody> </tr>
</table> </tbody>
</table>
<% else %>
<div class="callout primary clear">
<%= t("valuation.budgets.index.no_budgets") %>
</div>
<% end %>

View File

@@ -17,6 +17,7 @@ en:
table_assigned_investments_valuation_open: Investment projects assigned with valuation open table_assigned_investments_valuation_open: Investment projects assigned with valuation open
table_actions: Actions table_actions: Actions
evaluate: Evaluate evaluate: Evaluate
no_budgets: "There are no budgets"
budget_investments: budget_investments:
index: index:
headings_filter_all: All headings headings_filter_all: All headings

View File

@@ -17,6 +17,7 @@ es:
table_assigned_investments_valuation_open: Prop. Inv. asignadas en evaluación table_assigned_investments_valuation_open: Prop. Inv. asignadas en evaluación
table_actions: Acciones table_actions: Acciones
evaluate: Evaluar evaluate: Evaluar
no_budgets: "No hay presupuestos"
budget_investments: budget_investments:
index: index:
headings_filter_all: Todas las partidas headings_filter_all: Todas las partidas

View File

@@ -35,6 +35,11 @@ feature 'Valuation budgets' do
expect(page).to have_content(budget3.name) expect(page).to have_content(budget3.name)
end end
scenario "With no budgets" do
visit valuation_budgets_path
expect(page).to have_content "There are no budgets"
end
end end
end end