From 75d1ab1e520d5b07634ca204e9aed39f2f539c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Mon, 17 Sep 2018 17:38:00 +0200 Subject: [PATCH] Use AJAX requests to select legislation proposals Now the interface is more similar to the one in budget investments. --- app/controllers/admin/legislation/proposals_controller.rb | 2 -- app/views/admin/legislation/proposals/_proposals.html.erb | 2 +- .../admin/legislation/proposals/_select_proposal.html.erb | 1 + app/views/admin/legislation/proposals/toggle_selection.js.erb | 1 + config/locales/en/admin.yml | 3 --- config/locales/es/admin.yml | 3 --- spec/features/admin/legislation/proposals_spec.rb | 2 +- 7 files changed, 4 insertions(+), 10 deletions(-) create mode 100644 app/views/admin/legislation/proposals/toggle_selection.js.erb diff --git a/app/controllers/admin/legislation/proposals_controller.rb b/app/controllers/admin/legislation/proposals_controller.rb index 0c3116cd7..05313ef7b 100644 --- a/app/controllers/admin/legislation/proposals_controller.rb +++ b/app/controllers/admin/legislation/proposals_controller.rb @@ -12,7 +12,5 @@ class Admin::Legislation::ProposalsController < Admin::Legislation::BaseControll def toggle_selection @proposal.toggle :selected @proposal.save! - redirect_to admin_legislation_process_proposals_path, - notice: t('admin.legislation.proposals.update.notice') end end \ No newline at end of file diff --git a/app/views/admin/legislation/proposals/_proposals.html.erb b/app/views/admin/legislation/proposals/_proposals.html.erb index cbdfa1dd7..a18d0b623 100644 --- a/app/views/admin/legislation/proposals/_proposals.html.erb +++ b/app/views/admin/legislation/proposals/_proposals.html.erb @@ -19,7 +19,7 @@ <%= proposal.id %> <%= proposal.title %> <%= proposal.cached_votes_up %> - <%= render "select_proposal", proposal: proposal %> + <%= render "select_proposal", proposal: proposal %> <% end %> diff --git a/app/views/admin/legislation/proposals/_select_proposal.html.erb b/app/views/admin/legislation/proposals/_select_proposal.html.erb index 6749c5904..6b8f40b6d 100644 --- a/app/views/admin/legislation/proposals/_select_proposal.html.erb +++ b/app/views/admin/legislation/proposals/_select_proposal.html.erb @@ -8,5 +8,6 @@ <%= link_to button_text, toggle_selection_admin_legislation_process_proposal_path(proposal.process, proposal), + remote: true, method: :patch, class: clas %> diff --git a/app/views/admin/legislation/proposals/toggle_selection.js.erb b/app/views/admin/legislation/proposals/toggle_selection.js.erb new file mode 100644 index 000000000..093afa904 --- /dev/null +++ b/app/views/admin/legislation/proposals/toggle_selection.js.erb @@ -0,0 +1 @@ +$("#<%= dom_id(@proposal) %> .select").html('<%= j render("select_proposal", proposal: @proposal) %>'); diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index fa4e84b62..c119b2cff 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -422,9 +422,6 @@ en: supports: Supports select: Select selected: Selected - update: - notice: 'Proposal updated successfully' - error: Proposal couldn't be updated form: custom_categories: Categories custom_categories_description: Categories that users can select creating the proposal. diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index e6fce5ceb..eabea7211 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -423,9 +423,6 @@ es: supports: Apoyos select: Seleccionar selected: Seleccionado - update: - notice: Propuesta actualizada correctamente. - error: No se ha podido actualizar la propuesta form: custom_categories: Categorías custom_categories_description: Categorías que el usuario puede seleccionar al crear la propuesta. diff --git a/spec/features/admin/legislation/proposals_spec.rb b/spec/features/admin/legislation/proposals_spec.rb index f6e15a548..2ea10786e 100644 --- a/spec/features/admin/legislation/proposals_spec.rb +++ b/spec/features/admin/legislation/proposals_spec.rb @@ -20,7 +20,7 @@ feature 'Admin legislation processes' do end end - scenario 'Selecting legislation proposals' do + scenario 'Selecting legislation proposals', :js do proposal = create(:legislation_proposal, cached_votes_up: 10) visit admin_legislation_process_proposals_path(proposal.legislation_process_id)