From 1dc8d29f2d1a64badc7c1df30fadb769cfbbcda4 Mon Sep 17 00:00:00 2001 From: Bertocq Date: Wed, 11 Apr 2018 21:12:46 +0200 Subject: [PATCH] Add Valuator Groups list to investment csv & table We've added the list of valuator groups assigned to each investment at both admin investment list and investment csv exported file --- app/models/budget/investment.rb | 7 +++++-- .../budget_investments/_investments.html.erb | 12 +++++++----- config/locales/en/admin.yml | 2 ++ config/locales/es/admin.yml | 2 ++ spec/features/admin/budget_investments_spec.rb | 16 ++++++++++++---- 5 files changed, 28 insertions(+), 11 deletions(-) diff --git a/app/models/budget/investment.rb b/app/models/budget/investment.rb index c913a562f..6c96578c0 100644 --- a/app/models/budget/investment.rb +++ b/app/models/budget/investment.rb @@ -334,6 +334,7 @@ class Budget I18n.t("admin.budget_investments.index.table_supports"), I18n.t("admin.budget_investments.index.table_admin"), I18n.t("admin.budget_investments.index.table_valuator"), + I18n.t("admin.budget_investments.index.table_valuation_group"), I18n.t("admin.budget_investments.index.table_geozone"), I18n.t("admin.budget_investments.index.table_feasibility"), I18n.t("admin.budget_investments.index.table_valuation_finished"), @@ -349,6 +350,8 @@ class Budget else I18n.t("admin.budget_investments.index.no_admin_assigned") end + assigned_valuators = investment.assigned_valuators || '-' + assigned_valuation_groups = investment.assigned_valuation_groups || '-' vals = if investment.valuators.empty? I18n.t("admin.budget_investments.index.no_valuators_assigned") else @@ -361,8 +364,8 @@ class Budget valuation_finished = investment.valuation_finished? ? I18n.t('shared.yes') : I18n.t('shared.no') - csv << [id, title, total_votes, admin, vals, heading_name, price, - valuation_finished] + csv << [id, title, total_votes, admin, assigned_valuators, assigned_valuation_groups, + heading_name, price, valuation_finished] end end csv_string diff --git a/app/views/admin/budget_investments/_investments.html.erb b/app/views/admin/budget_investments/_investments.html.erb index aaca20fe8..ed6d784ef 100644 --- a/app/views/admin/budget_investments/_investments.html.erb +++ b/app/views/admin/budget_investments/_investments.html.erb @@ -24,6 +24,7 @@ <%= t("admin.budget_investments.index.table_supports") %> <%= t("admin.budget_investments.index.table_admin") %> <%= t("admin.budget_investments.index.table_valuator") %> + <%= t("admin.budget_investments.index.table_valuation_group") %> <%= t("admin.budget_investments.index.table_geozone") %> <%= t("admin.budget_investments.index.table_feasibility") %> <%= t("admin.budget_investments.index.table_valuation_finished") %> @@ -60,11 +61,12 @@ <% end %> - <% if investment.valuators.size == 0 && investment.valuator_groups.size == 0 %> - <%= t("admin.budget_investments.index.no_valuators_assigned") %> - <% else %> - <%= investment.assigned_valuators %> - <% end %> + <% no_valuators_assigned = t("admin.budget_investments.index.no_valuators_assigned") %> + <%= investment.assigned_valuators || no_valuators_assigned %> + + + <% no_valuation_groups = t("admin.budget_investments.index.no_valuation_groups") %> + <%= investment.assigned_valuation_groups || no_valuation_groups %> <%= investment.heading.name %> diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index 07837319c..671049163 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -171,6 +171,7 @@ en: assigned_admin: Assigned administrator no_admin_assigned: No admin assigned no_valuators_assigned: No valuators assigned + no_valuation_groups: No valuation groups assigned feasibility: feasible: "Feasible (%{price})" unfeasible: "Unfeasible" @@ -182,6 +183,7 @@ en: table_supports: "Supports" table_admin: "Administrator" table_valuator: "Valuator" + table_valuation_group: "Valuation Group" table_geozone: "Scope of operation" table_feasibility: "Feasibility" table_valuation_finished: "Val. Fin." diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 64e7dafd0..6718f6891 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -171,6 +171,7 @@ es: assigned_admin: Administrador asignado no_admin_assigned: Sin admin asignado no_valuators_assigned: Sin evaluador + no_valuation_groups: Sin grupos evaluadores feasibility: feasible: "Viable (%{price})" unfeasible: "Inviable" @@ -182,6 +183,7 @@ es: table_supports: "Apoyos" table_admin: "Administrador" table_valuator: "Evaluador" + table_valuation_group: "Grupos evaluadores" table_geozone: "Ámbito de actuación" table_feasibility: "Viabilidad" table_valuation_finished: "Ev. Fin." diff --git a/spec/features/admin/budget_investments_spec.rb b/spec/features/admin/budget_investments_spec.rb index 9a44249b4..8bf49f1a7 100644 --- a/spec/features/admin/budget_investments_spec.rb +++ b/spec/features/admin/budget_investments_spec.rb @@ -64,22 +64,27 @@ feature 'Admin budget investments' do admin = create(:administrator, user: create(:user, username: 'Gema')) budget_investment1.valuators << valuator1 - budget_investment2.valuator_ids = [valuator1.id, valuator2.id] - budget_investment3.update(administrator_id: admin.id) + budget_investment2.valuators << valuator1 + budget_investment2.valuators << valuator2 visit admin_budget_budget_investments_path(budget_id: budget.id) within("#budget_investment_#{budget_investment1.id}") do expect(page).to have_content("No admin assigned") expect(page).to have_content("Valuator Olga") + expect(page).to have_content("No valuation groups assigned") end within("#budget_investment_#{budget_investment2.id}") do expect(page).to have_content("No admin assigned") expect(page).to have_content("Valuator Olga") expect(page).to have_content("Valuator Miriam") + expect(page).to have_content("No valuation groups assigned") end + budget_investment3.update(administrator_id: admin.id) + visit admin_budget_budget_investments_path(budget_id: budget.id) + within("#budget_investment_#{budget_investment3.id}") do expect(page).to have_content("Gema") expect(page).to have_content("No valuators assigned") @@ -109,7 +114,7 @@ feature 'Admin budget investments' do end within("#budget_investment_#{budget_investment3.id}") do - expect(page).to have_content("No valuators assigned") + expect(page).to have_content("No valuation groups assigned") end end @@ -953,7 +958,9 @@ feature 'Admin budget investments' do price: 100) valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@val.org')) - investment.valuators.push(valuator) + group = create(:valuator_group, name: "Test name") + + investment.valuator_groups << group admin = create(:administrator, user: create(:user, username: 'Gema')) investment.update(administrator_id: admin.id) @@ -978,6 +985,7 @@ feature 'Admin budget investments' do expect(page).to have_content investment.administrator.name expect(page).to have_content valuators + expect(page).to have_content group.name expect(page).to have_content price expect(page).to have_content I18n.t('shared.no') end