adds assignment info to admin's valuations index
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -9,6 +9,27 @@
|
||||
<strong><%= spending_proposal.id %> -
|
||||
<%= link_to spending_proposal.title, admin_spending_proposal_path(spending_proposal) %></strong>
|
||||
</td>
|
||||
<td>
|
||||
<% if spending_proposal.administrator.present? %>
|
||||
<span title="<%= t('admin.spending_proposals.index.admin_assigned') %>"><%= spending_proposal.administrator.name %></span>
|
||||
<% else %>
|
||||
<%= t("admin.spending_proposals.index.no_admin_assigned") %>
|
||||
<% end %>
|
||||
</td>
|
||||
<td>
|
||||
<% case spending_proposal.valuators.size %>
|
||||
<% when 0 %>
|
||||
<%= t("admin.spending_proposals.index.no_valuators_assigned") %>
|
||||
<% when 1 %>
|
||||
<span title="<%= t('admin.spending_proposals.index.valuators_assigned', count: 1) %>">
|
||||
<%= spending_proposal.valuators.first.name %>
|
||||
</span>
|
||||
<% else %>
|
||||
<span title="<%= spending_proposal.valuators.map(&:name) * ', ' %>">
|
||||
<%= t('admin.spending_proposals.index.valuators_assigned', count: spending_proposal.valuators.size) %>
|
||||
</span>
|
||||
<% end %>
|
||||
</td>
|
||||
<td>
|
||||
<%= geozone_name(spending_proposal) %>
|
||||
</td>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user