From a0215871ad910a50f92ae5b7ea1ec4935bb40c2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Thu, 25 Feb 2016 14:03:05 +0100 Subject: [PATCH 1/4] forms.js redux --- app/assets/javascripts/forms.js.coffee | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/forms.js.coffee b/app/assets/javascripts/forms.js.coffee index a7d26cc02..fab812400 100644 --- a/app/assets/javascripts/forms.js.coffee +++ b/app/assets/javascripts/forms.js.coffee @@ -1,12 +1,25 @@ App.Forms = - initialize: -> + disableEnter: -> + $('form.js-enter-disabled').on('keyup keypress', (event) -> + if event.which == 13 + e.preventDefault() + ) + + submitOnChange: -> $('.js-submit-on-change').unbind('change').on('change', -> $(this).closest('form').submit() false - ) + ) + toggleLink: -> $('.js-toggle-link').unbind('click').on('click', -> $($(this).data('toggle-selector')).toggle("down") false ) + + initialize: -> + App.Forms.disableEnter() + App.Forms.submitOnChange() + App.Forms.toggleLink() + false \ No newline at end of file From 96757bba5b92e127be46e218b7f0727d77dbc534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Thu, 25 Feb 2016 14:03:35 +0100 Subject: [PATCH 2/4] adds message if no valuators are created yet --- app/views/admin/spending_proposals/show.html.erb | 3 ++- config/locales/admin.en.yml | 1 + config/locales/admin.es.yml | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/views/admin/spending_proposals/show.html.erb b/app/views/admin/spending_proposals/show.html.erb index 008921ffe..88342f912 100644 --- a/app/views/admin/spending_proposals/show.html.erb +++ b/app/views/admin/spending_proposals/show.html.erb @@ -44,7 +44,7 @@ diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 7d3aef540..e19175b70 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -164,6 +164,7 @@ en: assigned_admin: Assigned admin assigned_valuators: Assigned valuators assign_valuators: Assign valuators + no_valuators: There is not any valuator user assign: Assign stats: show: diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index 8d2815423..c15cf57ea 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -164,6 +164,7 @@ es: assigned_admin: Administrador asignado assigned_valuators: Evaluadores asignados assign_valuators: Asignar evaluadores + no_valuators: No hay ningún usuario evaluador assign: Asignar stats: show: From 77ee316ed83c42fea787647cdb8fd49ff0651347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Thu, 25 Feb 2016 14:44:11 +0100 Subject: [PATCH 3/4] adds assignment info to admin's valuations index --- .../admin/spending_proposals_controller.rb | 2 +- .../admin/spending_proposals/index.html.erb | 21 ++++++++++++ config/locales/admin.en.yml | 6 ++++ config/locales/admin.es.yml | 6 ++++ .../features/admin/spending_proposals_spec.rb | 32 +++++++++++++++++++ 5 files changed, 66 insertions(+), 1 deletion(-) 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) From c3ffb0cacc838ee1fb11e279f2f770606f9a26f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Thu, 25 Feb 2016 14:45:30 +0100 Subject: [PATCH 4/4] changes index title --- config/locales/admin.en.yml | 2 +- config/locales/admin.es.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/admin.en.yml b/config/locales/admin.en.yml index 60f816d1d..b777a2c26 100755 --- a/config/locales/admin.en.yml +++ b/config/locales/admin.en.yml @@ -143,7 +143,7 @@ en: accepted: Accepted rejected: Rejected unresolved: Unresolved - title: Spending proposals for participatory budgeting + title: Investment projects for participatory budgeting admin_assigned: Assigned administrator no_admin_assigned: No admin assigned valuators_assigned: diff --git a/config/locales/admin.es.yml b/config/locales/admin.es.yml index bc5b7004a..ef7eaec37 100644 --- a/config/locales/admin.es.yml +++ b/config/locales/admin.es.yml @@ -143,7 +143,7 @@ es: accepted: Aceptadas rejected: Rechazadas unresolved: Sin resolver - title: Propuestas de gasto para presupuestos participativos + title: Propuestas de inversión para presupuestos participativos admin_assigned: Administrador asignado no_admin_assigned: Sin admin asignado valuators_assigned: