diff --git a/app/controllers/admin/spending_proposals_controller.rb b/app/controllers/admin/spending_proposals_controller.rb
index b758bd10d..ebe466355 100644
--- a/app/controllers/admin/spending_proposals_controller.rb
+++ b/app/controllers/admin/spending_proposals_controller.rb
@@ -5,7 +5,7 @@ class Admin::SpendingProposalsController < Admin::BaseController
load_and_authorize_resource
def index
- @spending_proposals = @spending_proposals.includes([:geozone], [administrator: :user]).order(created_at: :desc).page(params[:page])
+ @spending_proposals = @spending_proposals.includes(:geozone, administrator: :user, valuators: :user).order(created_at: :desc).page(params[:page])
end
def show
diff --git a/app/views/admin/spending_proposals/index.html.erb b/app/views/admin/spending_proposals/index.html.erb
index a0ed583cc..295fb5e76 100644
--- a/app/views/admin/spending_proposals/index.html.erb
+++ b/app/views/admin/spending_proposals/index.html.erb
@@ -9,6 +9,27 @@
<%= spending_proposal.id %> -
<%= link_to spending_proposal.title, admin_spending_proposal_path(spending_proposal) %>
+
+ <% if spending_proposal.administrator.present? %>
+ <%= spending_proposal.administrator.name %>
+ <% else %>
+ <%= t("admin.spending_proposals.index.no_admin_assigned") %>
+ <% end %>
+ |
+
+ <% case spending_proposal.valuators.size %>
+ <% when 0 %>
+ <%= t("admin.spending_proposals.index.no_valuators_assigned") %>
+ <% when 1 %>
+
+ <%= spending_proposal.valuators.first.name %>
+
+ <% else %>
+
+ <%= t('admin.spending_proposals.index.valuators_assigned', count: spending_proposal.valuators.size) %>
+
+ <% end %>
+ |
<%= geozone_name(spending_proposal) %>
|
diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml
index e19175b70..60f816d1d 100755
--- a/config/locales/admin.en.yml
+++ b/config/locales/admin.en.yml
@@ -144,6 +144,12 @@ en:
rejected: Rejected
unresolved: Unresolved
title: Spending proposals for participatory budgeting
+ admin_assigned: Assigned administrator
+ no_admin_assigned: No admin assigned
+ valuators_assigned:
+ one: Assigned valuator
+ other: "%{count} valuators assigned"
+ no_valuators_assigned: No valuators assigned
show:
heading: Investment project
info: Author info
diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml
index c15cf57ea..bc5b7004a 100644
--- a/config/locales/admin.es.yml
+++ b/config/locales/admin.es.yml
@@ -144,6 +144,12 @@ es:
rejected: Rechazadas
unresolved: Sin resolver
title: Propuestas de gasto para presupuestos participativos
+ admin_assigned: Administrador asignado
+ no_admin_assigned: Sin admin asignado
+ valuators_assigned:
+ one: Evaluador asignado
+ other: "%{count} evaluadores asignados"
+ no_valuators_assigned: Sin evaluador
show:
heading: Propuesta de inversión
info: Datos de envío
diff --git a/spec/features/admin/spending_proposals_spec.rb b/spec/features/admin/spending_proposals_spec.rb
index a3a844d94..e1a58d378 100644
--- a/spec/features/admin/spending_proposals_spec.rb
+++ b/spec/features/admin/spending_proposals_spec.rb
@@ -19,6 +19,37 @@ feature 'Admin spending proposals' do
expect(page).to have_content(spending_proposal.title)
end
+ scenario 'Index shows assignments info' do
+ spending_proposal1 = create(:spending_proposal)
+ spending_proposal2 = create(:spending_proposal)
+ spending_proposal3 = create(:spending_proposal)
+
+ valuator1 = create(:valuator, user: create(:user, username: 'Olga'))
+ valuator2 = create(:valuator, user: create(:user, username: 'Miriam'))
+ admin = create(:administrator, user: create(:user, username: 'Gema'))
+
+ spending_proposal1.valuators << valuator1
+ spending_proposal2.valuator_ids = [valuator1.id, valuator2.id]
+ spending_proposal3.update({administrator_id: admin.id})
+
+ visit admin_spending_proposals_path
+
+ within("#spending_proposal_#{spending_proposal1.id}") do
+ expect(page).to have_content("No admin assigned")
+ expect(page).to have_content("Olga")
+ end
+
+ within("#spending_proposal_#{spending_proposal2.id}") do
+ expect(page).to have_content("No admin assigned")
+ expect(page).to have_content("2 valuators assigned")
+ end
+
+ within("#spending_proposal_#{spending_proposal3.id}") do
+ expect(page).to have_content("Gema")
+ expect(page).to have_content("No valuators assigned")
+ end
+ end
+
scenario 'Show' do
administrator = create(:administrator, user: create(:user, username: 'Ana', email: 'ana@admins.org'))
valuator = create(:valuator, user: create(:user, username: 'Rachel', email: 'rachel@valuators.org'))
@@ -59,6 +90,7 @@ feature 'Admin spending proposals' do
expect(page).to have_select('spending_proposal[administrator_id]', selected: 'Undefined')
select 'Ana (ana@admins.org)', from: 'spending_proposal[administrator_id]'
+ expect(page).to have_select('spending_proposal[administrator_id]', selected: 'Ana (ana@admins.org)')
visit admin_spending_proposal_path(spending_proposal)