<%= f.check_box :geozone_restricted, data: { checkbox_toggle: "#geozones" } %>
diff --git a/config/locales/en/images.yml b/config/locales/en/images.yml
index 6f16061fa..087c85021 100644
--- a/config/locales/en/images.yml
+++ b/config/locales/en/images.yml
@@ -9,6 +9,8 @@ en:
delete_button: Remove image
note: "You can upload one image of following content types: %{accepted_content_types}, up to %{max_file_size} MB."
add_new_image: Add image
+ title_placeholder: Add a descriptive title for the image
+ admin_title: "Main image of the poll"
actions:
destroy:
diff --git a/config/locales/es/images.yml b/config/locales/es/images.yml
index 869a0824e..0207bceed 100644
--- a/config/locales/es/images.yml
+++ b/config/locales/es/images.yml
@@ -9,6 +9,7 @@ es:
note: "Puedes subir una imagen en los formatos: %{accepted_content_types}, y de hasta %{max_file_size} MB por archivo."
add_new_image: Añadir imagen
title_placeholder: Añade un título descriptivo para la imagen
+ admin_title: "Imagen principal de la votación"
actions:
destroy:
diff --git a/db/migrate/20170928132402_add_summary_and_description_to_polls.rb b/db/migrate/20170928132402_add_summary_and_description_to_polls.rb
new file mode 100644
index 000000000..6fb965346
--- /dev/null
+++ b/db/migrate/20170928132402_add_summary_and_description_to_polls.rb
@@ -0,0 +1,6 @@
+class AddSummaryAndDescriptionToPolls < ActiveRecord::Migration
+ def change
+ add_column :polls, :summary, :text
+ add_column :polls, :description, :text
+ end
+end
From 14fe771fa55296f57e765653d28a358cafb781a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Thu, 28 Sep 2017 17:47:50 +0200
Subject: [PATCH 03/22] Fixed wrong officer action path
Before this change, when a user searched for an officer already assigned the ui was blocked because that path wasn't correct.
---
app/views/admin/poll/officers/_officer.html.erb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/views/admin/poll/officers/_officer.html.erb b/app/views/admin/poll/officers/_officer.html.erb
index 80434f385..3562b4a90 100644
--- a/app/views/admin/poll/officers/_officer.html.erb
+++ b/app/views/admin/poll/officers/_officer.html.erb
@@ -16,7 +16,7 @@
<% if officer.persisted? %>
<%= link_to t('admin.poll_officers.officer.delete'),
- admin_poll_officer_path(officer),
+ admin_officer_path(officer),
method: :delete,
class: "button hollow alert" %>
<% else %>
From c67620fdef6919e1dbb1c33df490d28cdec6f50e Mon Sep 17 00:00:00 2001
From: iagirre
Date: Fri, 29 Sep 2017 14:51:49 +0200
Subject: [PATCH 04/22] Table for links added (links to add images/documents).
Custom partial for admins upload image created, so that it can be reused in
upload images and documents.
---
app/assets/stylesheets/participation.scss | 3 +-
app/models/concerns/imageable.rb | 1 +
app/models/poll.rb | 3 +-
app/views/admin/poll/polls/_form.html.erb | 43 ++++++++--------
app/views/images/_admin_image.html.erb | 60 +++++++++++++++++++++++
config/locales/en/activerecord.yml | 2 +
config/locales/es/activerecord.yml | 2 +
config/locales/es/admin.yml | 6 +++
8 files changed, 96 insertions(+), 24 deletions(-)
create mode 100644 app/views/images/_admin_image.html.erb
diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss
index fbcda0ebb..ab3369387 100644
--- a/app/assets/stylesheets/participation.scss
+++ b/app/assets/stylesheets/participation.scss
@@ -313,7 +313,8 @@
.proposal-form,
.proposal-edit,
.new_poll_question,
-.edit_poll_question {
+.edit_poll_question,
+.edit_poll {
@include direct-uploads;
}
diff --git a/app/models/concerns/imageable.rb b/app/models/concerns/imageable.rb
index a2a2f537d..fea94d102 100644
--- a/app/models/concerns/imageable.rb
+++ b/app/models/concerns/imageable.rb
@@ -5,6 +5,7 @@ module Imageable
included do
has_one :image, as: :imageable, dependent: :destroy
+ has_many :images, as: :imageable, dependent: :destroy
accepts_nested_attributes_for :image, allow_destroy: true, update_only: true
def image_url(style)
diff --git a/app/models/poll.rb b/app/models/poll.rb
index e852e912a..9aa41cd16 100644
--- a/app/models/poll.rb
+++ b/app/models/poll.rb
@@ -1,5 +1,6 @@
class Poll < ActiveRecord::Base
- include Imageable
+ include Imageable
+ include Documentable
has_many :booth_assignments, class_name: "Poll::BoothAssignment"
has_many :booths, through: :booth_assignments
diff --git a/app/views/admin/poll/polls/_form.html.erb b/app/views/admin/poll/polls/_form.html.erb
index 3fa7daa4f..235522c65 100644
--- a/app/views/admin/poll/polls/_form.html.erb
+++ b/app/views/admin/poll/polls/_form.html.erb
@@ -31,29 +31,28 @@
-
-
- <%= f.label :image, t("images.form.admin_title") %>
+
+ <%= render 'images/admin_image', imageable: @poll, f: f %>
+
-
- <%= f.fields_for :image do |image_builder| %>
- <%= render 'images/image_fields', f: image_builder, imageable: @poll %>
- <% end %>
-
-
-
- <%= link_to_add_association t('images.form.add_new_image'), f, :image,
- force_non_association_create: true,
- partial: "images/image_fields",
- id: "new_image_link",
- class: "button hollow #{"hide" if @poll.image.present?}",
- render_options: {
- locals: { imageable: @poll }
- },
- data: {
- association_insertion_node: "#nested-image",
- association_insertion_method: "append"
- } %>
+
+
+
+
+ | <%= t("admin.polls.attachments.title") %> |
+
+
+ | <%= t("admin.polls.attachments.images_title") %> |
+ <%= t("admin.polls.attachments.documents_title") %> |
+
+
+
+
+ | <%= link_to "#{t("admin.polls.attachments.images_link")} (#{@poll.images.count})", root_path %> |
+ <%= link_to "#{t("admin.polls.attachments.documents_link")} (#{@poll.documents.count})", root_path %> |
+
+
+
diff --git a/app/views/images/_admin_image.html.erb b/app/views/images/_admin_image.html.erb
new file mode 100644
index 000000000..7c5157216
--- /dev/null
+++ b/app/views/images/_admin_image.html.erb
@@ -0,0 +1,60 @@
+
+
+ <%= f.label :image, t("images.form.admin_title") %>
+
+
+ <%= f.fields_for :image do |image_builder| %>
+ <%#= render 'images/image_fields', f: image_builder, imageable: imageable %>
+
+
+
+
+ <%= image_builder.hidden_field :id %>
+ <%= image_builder.hidden_field :user_id, value: current_user.id %>
+ <%= image_builder.hidden_field :cached_attachment %>
+
+ <%= image_builder.text_field :title, placeholder: t("images.form.title_placeholder") %>
+
+
+ <%= render_image(image_builder.object, :thumb, false) if image_builder.object.attachment.exists? %>
+
+
+
+ <%= render_image_attachment(image_builder, imageable, image_builder.object) %>
+
+
+ <%= render_destroy_image_link(image_builder, image_builder.object) %>
+
+
+
+
+
+ <%= image_attachment_file_name(image_builder.object) %>
+
+
+
+
+
+
+
+
+
+ <% end %>
+
+
+
+ <%= link_to_add_association t('images.form.add_new_image'), f, :image,
+ force_non_association_create: true,
+ partial: "images/image_fields",
+ id: "new_image_link",
+ class: "button hollow #{"hide" if imageable.image.present?}",
+ render_options: {
+ locals: { imageable: imageable }
+ },
+ data: {
+ association_insertion_node: "#nested-image",
+ association_insertion_method: "append"
+ } %>
+
diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml
index 1e3f62b1a..8bb2c3286 100644
--- a/config/locales/en/activerecord.yml
+++ b/config/locales/en/activerecord.yml
@@ -152,6 +152,8 @@ en:
starts_at: "Start Date"
ends_at: "Closing Date"
geozone_restricted: "Restricted by geozone"
+ summary: "Summary"
+ description: "Description"
poll/question:
title: "Question"
valid_answers: "Posibles answers"
diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml
index 108f19fcf..415e81bed 100644
--- a/config/locales/es/activerecord.yml
+++ b/config/locales/es/activerecord.yml
@@ -146,6 +146,8 @@ es:
starts_at: "Fecha de apertura"
ends_at: "Fecha de cierre"
geozone_restricted: "Restringida por zonas"
+ summary: "Resumen"
+ description: "Descripción"
poll/question:
title: "Pregunta"
valid_answers: "Posibles respuestas"
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index 816cadd57..afa963c20 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -580,6 +580,12 @@ es:
error_on_question_added: "No se pudo asignar la pregunta"
question_removed: "Pregunta eliminada de esta votación"
error_on_question_removed: "No se pudo quitar la pregunta"
+ attachments:
+ title: "Imágenes y documentos de la votación"
+ images_title: "Imágenes"
+ documents_title: "Documents"
+ images_link: "Lista de imágenes"
+ documents_link: "Lista de documentos"
questions:
index:
title: "Preguntas ciudadanas"
From fd1d09c8c23efda9082057d02a5a10c41b85ad06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 10:25:11 +0200
Subject: [PATCH 05/22] Booths and shifts index pages minor fixes
Showing only actions to assign and edit shifits in shifts index, and option to create a new booth in booths index.
---
app/views/admin/poll/booths/_booth.html.erb | 16 +++++++++-------
app/views/admin/poll/booths/index.html.erb | 5 +++--
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/app/views/admin/poll/booths/_booth.html.erb b/app/views/admin/poll/booths/_booth.html.erb
index 80b1ef38f..921361c4a 100644
--- a/app/views/admin/poll/booths/_booth.html.erb
+++ b/app/views/admin/poll/booths/_booth.html.erb
@@ -6,11 +6,13 @@
<%= booth.location %>
|
- <%= link_to t("admin.booths.booth.shifts"),
- new_admin_booth_shift_path(booth),
- class: "button hollow" %>
- <%= link_to t("admin.actions.edit"),
- edit_admin_booth_path(booth),
- class: "button hollow" %>
+ <% if controller_name == "shifts" || controller_name == "booths" && action_name == "available" %>
+ <%= link_to t("admin.booths.booth.shifts"),
+ new_admin_booth_shift_path(booth),
+ class: "button hollow" %>
+ <%= link_to t("admin.actions.edit"),
+ edit_admin_booth_path(booth),
+ class: "button hollow" %>
+ <% end %>
|
-
\ No newline at end of file
+
diff --git a/app/views/admin/poll/booths/index.html.erb b/app/views/admin/poll/booths/index.html.erb
index 05044dd0e..95b248b3f 100644
--- a/app/views/admin/poll/booths/index.html.erb
+++ b/app/views/admin/poll/booths/index.html.erb
@@ -1,7 +1,8 @@
<%= t("admin.booths.index.title") %>
-<%= link_to t("admin.booths.index.add_booth"), new_admin_booth_path,
- class: "button success float-right" %>
+<% if controller_name == "booths" && action_name != "available" %>
+ <%= link_to t("admin.booths.index.add_booth"), new_admin_booth_path, class: "button success float-right" %>
+<% end %>
<% if @booths.empty? %>
From adf18ee75635928fce0b8f029b024aa9b160829f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 10:37:10 +0200
Subject: [PATCH 06/22] Polls admin fixes
Removed search from questions tab and unassign button.
---
app/controllers/admin/poll/polls_controller.rb | 12 ------------
app/views/admin/poll/polls/_questions.html.erb | 4 ----
app/views/admin/poll/polls/show.html.erb | 1 -
config/routes.rb | 1 -
4 files changed, 18 deletions(-)
diff --git a/app/controllers/admin/poll/polls_controller.rb b/app/controllers/admin/poll/polls_controller.rb
index c95c8ed1f..3b3c4f7bd 100644
--- a/app/controllers/admin/poll/polls_controller.rb
+++ b/app/controllers/admin/poll/polls_controller.rb
@@ -47,18 +47,6 @@ class Admin::Poll::PollsController < Admin::Poll::BaseController
redirect_to admin_poll_path(@poll), notice: notice
end
- def remove_question
- question = ::Poll::Question.find(params[:question_id])
-
- if @poll.questions.include? question
- @poll.questions.delete(question)
- notice = t("admin.polls.flash.question_removed")
- else
- notice = t("admin.polls.flash.error_on_question_removed")
- end
- redirect_to admin_poll_path(@poll), notice: notice
- end
-
def search_questions
@questions = ::Poll::Question.where("poll_id IS ? OR poll_id != ?", nil, @poll.id).search(search: @search).order(title: :asc)
respond_to do |format|
diff --git a/app/views/admin/poll/polls/_questions.html.erb b/app/views/admin/poll/polls/_questions.html.erb
index e41d2017e..5088572e1 100644
--- a/app/views/admin/poll/polls/_questions.html.erb
+++ b/app/views/admin/poll/polls/_questions.html.erb
@@ -20,10 +20,6 @@
- <%= link_to t('admin.polls.show.remove_question'),
- remove_question_admin_poll_path(poll_id: @poll.id, question_id: question.id),
- class: "button hollow alert",
- method: :patch %>
|
<% end %>
diff --git a/app/views/admin/poll/polls/show.html.erb b/app/views/admin/poll/polls/show.html.erb
index 93ce52e47..be45eeb31 100644
--- a/app/views/admin/poll/polls/show.html.erb
+++ b/app/views/admin/poll/polls/show.html.erb
@@ -3,6 +3,5 @@
<%= render "subnav" %>
- <%= render "search_questions" %>
<%= render "questions" %>
diff --git a/config/routes.rb b/config/routes.rb
index 410f2dced..d085acd2a 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -275,7 +275,6 @@ Rails.application.routes.draw do
resources :polls do
get :search_questions, on: :member
patch :add_question, on: :member
- patch :remove_question, on: :member
resources :booth_assignments, only: [:index, :show, :create, :destroy] do
get :search_booths, on: :collection
From 2365ec96fa4c74e7a1dfeec9cf729f522b203f95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 10:41:48 +0200
Subject: [PATCH 07/22] Polls admin officers tab fixes
Removed actions offered in search results.
---
.../_search_officers_results.html.erb | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/app/views/admin/poll/officer_assignments/_search_officers_results.html.erb b/app/views/admin/poll/officer_assignments/_search_officers_results.html.erb
index f665c6c0b..ee009f1fa 100644
--- a/app/views/admin/poll/officer_assignments/_search_officers_results.html.erb
+++ b/app/views/admin/poll/officer_assignments/_search_officers_results.html.erb
@@ -12,29 +12,19 @@
| <%= t("admin.poll_officer_assignments.index.table_name") %> |
<%= t("admin.poll_officer_assignments.index.table_email") %> |
- <%= t("admin.polls.show.table_assignment") %> |
<% @officers.each do |user| %>
|
- <%= user.name %>
+
+ <%= link_to user.name, by_officer_admin_poll_officer_assignments_path(@poll, officer_id: user.id) %>
+
|
<%= user.email %>
|
-
- <% if @poll.officer_ids.include?(user.poll_officer.id) %>
- <%= link_to t("admin.poll_officer_assignments.index.edit_officer_assignments"),
- by_officer_admin_poll_officer_assignments_path(@poll, officer_id: user.poll_officer.id),
- class: "button hollow alert" %>
- <% else %>
- <%= link_to t("admin.poll_officer_assignments.index.add_officer_assignments"),
- by_officer_admin_poll_officer_assignments_path(@poll, officer_id: user.poll_officer.id),
- class: "button hollow" %>
- <% end %>
- |
<% end %>
From 2c72a054acc2e9f27994b1ecc181c75b22298f6c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 11:04:37 +0200
Subject: [PATCH 08/22] Polls admin officer assignments fixes
Removed total results table from officer assignment as now there are only final results.
---
.../officer_assignments/by_officer.html.erb | 26 -------------------
1 file changed, 26 deletions(-)
diff --git a/app/views/admin/poll/officer_assignments/by_officer.html.erb b/app/views/admin/poll/officer_assignments/by_officer.html.erb
index 6ea421e2d..c9873db96 100644
--- a/app/views/admin/poll/officer_assignments/by_officer.html.erb
+++ b/app/views/admin/poll/officer_assignments/by_officer.html.erb
@@ -27,30 +27,4 @@
<% end %>
-
- <%= t("admin.poll_officer_assignments.by_officer.total_recounts") %>
-
-
-
- | <%= t("admin.poll_officer_assignments.by_officer.date") %> |
- <%= t("admin.poll_officer_assignments.by_officer.booth") %> |
- <%= t("admin.poll_officer_assignments.by_officer.total_recount") %> |
-
-
-
- <% @officer_assignments.each do |officer_assignment| %>
-
- | <%= l(officer_assignment.date.to_date) %> |
- <%= booth_name_with_location(officer_assignment.booth_assignment.booth) %> |
-
- <% if officer_assignment.total_results.any? %>
- <%= officer_assignment.total_results.to_a.sum(&:amount) %>
- <% else %>
- -
- <% end %>
- |
-
- <% end %>
-
-
<% end %>
From 799e2475da66dfe90d93b2528572d01c1480e512 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 11:08:18 +0200
Subject: [PATCH 09/22] Polls booth assignments fixes
Poll booth preview now renders recounts tab by default instead of the officers one.
---
app/views/admin/poll/booth_assignments/show.html.erb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/views/admin/poll/booth_assignments/show.html.erb b/app/views/admin/poll/booth_assignments/show.html.erb
index f01270bd4..fd303d099 100644
--- a/app/views/admin/poll/booth_assignments/show.html.erb
+++ b/app/views/admin/poll/booth_assignments/show.html.erb
@@ -14,15 +14,15 @@
- -
+
-
<%= link_to t("admin.poll_booth_assignments.show.officers"), "#tab-officers" %>
- -
+
-
<%= link_to t("admin.poll_booth_assignments.show.recounts"), "#tab-recounts" %>
-
+
<% if @booth_assignment.officers.empty? %>
<%= t("admin.poll_booth_assignments.show.no_officers") %>
@@ -43,7 +43,7 @@
<% end %>
-
+
<%= t("admin.poll_booth_assignments.show.recounts_list") %>
From 166caa3b4c01ca65857ec408024bbd8a1ba69337 Mon Sep 17 00:00:00 2001
From: iagirre
Date: Mon, 2 Oct 2017 12:59:26 +0200
Subject: [PATCH 10/22] Deleted code in views and concerns that lets polls have
more images and documentes attached, like it was at first. Added missing text
for english and new texts in english and spanish.
Cambios para hacer commit:
modificado: app/assets/stylesheets/participation.scss
modificado: app/models/concerns/imageable.rb
modificado: app/models/poll.rb
modificado: app/views/admin/poll/polls/_form.html.erb
modificado: app/views/images/_admin_image.html.erb
modificado: config/locales/en/images.yml
modificado: config/locales/es/admin.yml
modificado: config/locales/es/images.yml
modificado: spec/features/admin/poll/polls_spec.rb
---
app/assets/stylesheets/participation.scss | 1 +
app/models/concerns/imageable.rb | 1 -
app/models/poll.rb | 3 +-
app/views/admin/poll/polls/_form.html.erb | 20 ------
app/views/images/_admin_image.html.erb | 75 +++++++++--------------
config/locales/en/images.yml | 1 +
config/locales/es/admin.yml | 6 --
config/locales/es/images.yml | 1 +
spec/features/admin/poll/polls_spec.rb | 2 +
9 files changed, 36 insertions(+), 74 deletions(-)
diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss
index ab3369387..5b0bcaea7 100644
--- a/app/assets/stylesheets/participation.scss
+++ b/app/assets/stylesheets/participation.scss
@@ -314,6 +314,7 @@
.proposal-edit,
.new_poll_question,
.edit_poll_question,
+.new_poll,
.edit_poll {
@include direct-uploads;
}
diff --git a/app/models/concerns/imageable.rb b/app/models/concerns/imageable.rb
index fea94d102..a2a2f537d 100644
--- a/app/models/concerns/imageable.rb
+++ b/app/models/concerns/imageable.rb
@@ -5,7 +5,6 @@ module Imageable
included do
has_one :image, as: :imageable, dependent: :destroy
- has_many :images, as: :imageable, dependent: :destroy
accepts_nested_attributes_for :image, allow_destroy: true, update_only: true
def image_url(style)
diff --git a/app/models/poll.rb b/app/models/poll.rb
index 9aa41cd16..9706edd6e 100644
--- a/app/models/poll.rb
+++ b/app/models/poll.rb
@@ -1,7 +1,6 @@
class Poll < ActiveRecord::Base
include Imageable
- include Documentable
-
+
has_many :booth_assignments, class_name: "Poll::BoothAssignment"
has_many :booths, through: :booth_assignments
has_many :partial_results, through: :booth_assignments
diff --git a/app/views/admin/poll/polls/_form.html.erb b/app/views/admin/poll/polls/_form.html.erb
index 235522c65..aff19d9d7 100644
--- a/app/views/admin/poll/polls/_form.html.erb
+++ b/app/views/admin/poll/polls/_form.html.erb
@@ -35,26 +35,6 @@
<%= render 'images/admin_image', imageable: @poll, f: f %>
-
-
-
-
- | <%= t("admin.polls.attachments.title") %> |
-
-
- | <%= t("admin.polls.attachments.images_title") %> |
- <%= t("admin.polls.attachments.documents_title") %> |
-
-
-
-
- | <%= link_to "#{t("admin.polls.attachments.images_link")} (#{@poll.images.count})", root_path %> |
- <%= link_to "#{t("admin.polls.attachments.documents_link")} (#{@poll.documents.count})", root_path %> |
-
-
-
-
-
<%= f.check_box :geozone_restricted, data: { checkbox_toggle: "#geozones" } %>
diff --git a/app/views/images/_admin_image.html.erb b/app/views/images/_admin_image.html.erb
index 7c5157216..a782b743b 100644
--- a/app/views/images/_admin_image.html.erb
+++ b/app/views/images/_admin_image.html.erb
@@ -1,55 +1,13 @@
<%= f.label :image, t("images.form.admin_title") %>
+
-
- <%= f.fields_for :image do |image_builder| %>
- <%#= render 'images/image_fields', f: image_builder, imageable: imageable %>
-
-
-
-
- <%= image_builder.hidden_field :id %>
- <%= image_builder.hidden_field :user_id, value: current_user.id %>
- <%= image_builder.hidden_field :cached_attachment %>
-
- <%= image_builder.text_field :title, placeholder: t("images.form.title_placeholder") %>
-
-
- <%= render_image(image_builder.object, :thumb, false) if image_builder.object.attachment.exists? %>
-
-
-
- <%= render_image_attachment(image_builder, imageable, image_builder.object) %>
-
-
- <%= render_destroy_image_link(image_builder, image_builder.object) %>
-
-
-
-
-
- <%= image_attachment_file_name(image_builder.object) %>
-
-
-
-
-
-
-
-
-
- <% end %>
-
-
-
- <%= link_to_add_association t('images.form.add_new_image'), f, :image,
+ <%= link_to_add_association t('images.form.add_new_image'), f, :image,
force_non_association_create: true,
partial: "images/image_fields",
id: "new_image_link",
- class: "button hollow #{"hide" if imageable.image.present?}",
+ class: "button hollow",
render_options: {
locals: { imageable: imageable }
},
@@ -57,4 +15,31 @@
association_insertion_node: "#nested-image",
association_insertion_method: "append"
} %>
+
+
+ <%= f.fields_for :image do |image_builder| %>
+
+
+ <%= image_builder.hidden_field :id %>
+ <%= image_builder.hidden_field :user_id, value: current_user.id %>
+ <%= image_builder.hidden_field :cached_attachment %>
+
+ <%= image_builder.text_field :title, placeholder: t("images.form.title_placeholder"), label: "#{t("images.form.admin_alt_text")}" %>
+
+
+
+
+ <%= render_image_attachment(image_builder, imageable, image_builder.object) %>
+
+
+
+
+
+
+
+ <% end %>
+
+
diff --git a/config/locales/en/images.yml b/config/locales/en/images.yml
index 087c85021..afd8b2308 100644
--- a/config/locales/en/images.yml
+++ b/config/locales/en/images.yml
@@ -11,6 +11,7 @@ en:
add_new_image: Add image
title_placeholder: Add a descriptive title for the image
admin_title: "Main image of the poll"
+ admin_alt_text: "Alternative text for the image"
actions:
destroy:
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index afa963c20..816cadd57 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -580,12 +580,6 @@ es:
error_on_question_added: "No se pudo asignar la pregunta"
question_removed: "Pregunta eliminada de esta votación"
error_on_question_removed: "No se pudo quitar la pregunta"
- attachments:
- title: "Imágenes y documentos de la votación"
- images_title: "Imágenes"
- documents_title: "Documents"
- images_link: "Lista de imágenes"
- documents_link: "Lista de documentos"
questions:
index:
title: "Preguntas ciudadanas"
diff --git a/config/locales/es/images.yml b/config/locales/es/images.yml
index 0207bceed..e842f3f5c 100644
--- a/config/locales/es/images.yml
+++ b/config/locales/es/images.yml
@@ -10,6 +10,7 @@ es:
add_new_image: Añadir imagen
title_placeholder: Añade un título descriptivo para la imagen
admin_title: "Imagen principal de la votación"
+ admin_alt_text: "Texto alternativo para la imagen"
actions:
destroy:
diff --git a/spec/features/admin/poll/polls_spec.rb b/spec/features/admin/poll/polls_spec.rb
index 6eb64f6e1..c282bee5d 100644
--- a/spec/features/admin/poll/polls_spec.rb
+++ b/spec/features/admin/poll/polls_spec.rb
@@ -58,6 +58,8 @@ feature 'Admin polls' do
fill_in "poll_name", with: "Upcoming poll"
fill_in 'poll_starts_at', with: start_date.strftime("%d/%m/%Y")
fill_in 'poll_ends_at', with: end_date.strftime("%d/%m/%Y")
+ fill_in 'poll_summary', with: "Upcoming poll's summary. This poll..."
+ fill_in 'poll_description', with: "Upcomming poll's description. This poll..."
click_button "Create poll"
expect(page).to have_content "Poll created successfully"
From ca42bc984534378b1616eb3015a3eaa2f7d0e616 Mon Sep 17 00:00:00 2001
From: iagirre
Date: Mon, 2 Oct 2017 13:28:44 +0200
Subject: [PATCH 11/22] Added schema.rb with new columns for polls summary and
description
---
db/schema.rb | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/db/schema.rb b/db/schema.rb
index 500f03540..a3bc6065c 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20170927110953) do
+ActiveRecord::Schema.define(version: 20170928132402) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -763,6 +763,8 @@ ActiveRecord::Schema.define(version: 20170927110953) do
t.datetime "ends_at"
t.boolean "published", default: false
t.boolean "geozone_restricted", default: false
+ t.text "summary"
+ t.text "description"
end
add_index "polls", ["starts_at", "ends_at"], name: "index_polls_on_starts_at_and_ends_at", using: :btree
From afbdd4889101595d14fa866e23fd5176363495e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 16:11:17 +0200
Subject: [PATCH 12/22] Fixed tests
---
config/locales/en/admin.yml | 8 -----
config/locales/es/admin.yml | 8 -----
spec/features/admin/poll/polls_spec.rb | 48 -------------------------
spec/features/admin/poll/shifts_spec.rb | 15 ++++----
4 files changed, 9 insertions(+), 70 deletions(-)
diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml
index 0545e6af5..008f36f3e 100644
--- a/config/locales/en/admin.yml
+++ b/config/locales/en/admin.yml
@@ -489,15 +489,11 @@ en:
no_officers: "There are no officers assigned to this poll."
table_name: "Name"
table_email: "Email"
- add_officer_assignments: "Add shifts as officer"
- edit_officer_assignments: "Edit officing shifts"
by_officer:
date: "Date"
booth: "Booth"
assignments: "Officing shifts in this poll"
no_assignments: "This user has no officing shifts in this poll."
- total_recounts: "Total recounts"
- total_recount: "Total recount (by officer)"
poll_shifts:
new:
add_shift: "Add shift"
@@ -570,7 +566,6 @@ en:
results_tab: Results
no_questions: "There are no questions assigned to this poll."
questions_title: "List of questions"
- remove_question: "Remove question from poll"
add_question: "Include question"
table_title: "Title"
table_assignment: "Assignment"
@@ -578,8 +573,6 @@ en:
flash:
question_added: "Question added to this poll"
error_on_question_added: "Question could not be assigned to this poll"
- question_removed: "Question removed from this poll"
- error_on_question_removed: "Question could not be removed from this poll"
questions:
index:
title: "Questions"
@@ -606,7 +599,6 @@ en:
description: Description
video_url: External video
documents: Documents (1)
- preview: View on website
recounts:
index:
title: "Recounts"
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index 816cadd57..4a4616338 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -489,15 +489,11 @@ es:
no_officers: "No hay presidentes de mesa asignados a esta votación."
table_name: "Nombre"
table_email: "Email"
- add_officer_assignments: "Añadir turnos como presidente de mesa"
- edit_officer_assignments: "Editar turnos"
by_officer:
date: "Fecha"
booth: "Urna"
assignments: "Turnos como presidente de mesa en esta votación"
no_assignments: "No tiene turnos como presidente de mesa en esta votación."
- total_recounts: "Recuentos totales"
- total_recount: "Recuento total (presidente de mesa)"
poll_shifts:
new:
add_shift: "Añadir turno"
@@ -570,7 +566,6 @@ es:
results_tab: Resultados
no_questions: "No hay preguntas asignadas a esta votación."
questions_title: "Listado de preguntas asignadas"
- remove_question: "Desasignar pregunta"
add_question: "Incluir pregunta"
table_title: "Título"
table_assignment: "Asignación"
@@ -578,8 +573,6 @@ es:
flash:
question_added: "Pregunta añadida a esta votación"
error_on_question_added: "No se pudo asignar la pregunta"
- question_removed: "Pregunta eliminada de esta votación"
- error_on_question_removed: "No se pudo quitar la pregunta"
questions:
index:
title: "Preguntas ciudadanas"
@@ -606,7 +599,6 @@ es:
description: Descripción
video_url: Video externo
documents: Documentos (1)
- preview: Ver en la web
recounts:
index:
title: "Recuentos"
diff --git a/spec/features/admin/poll/polls_spec.rb b/spec/features/admin/poll/polls_spec.rb
index 6eb64f6e1..153f0885a 100644
--- a/spec/features/admin/poll/polls_spec.rb
+++ b/spec/features/admin/poll/polls_spec.rb
@@ -181,54 +181,6 @@ feature 'Admin polls' do
expect(page).to_not have_content "There are no questions assigned to this poll"
end
- scenario 'Add question to poll', :js do
- poll = create(:poll)
- question = create(:poll_question, title: 'Should we rebuild the city?')
-
- visit admin_poll_path(poll)
-
- expect(page).to have_content 'Questions (0)'
- expect(page).to have_content 'There are no questions assigned to this poll'
-
- fill_in 'search-questions', with: 'rebuild'
- click_button 'Search'
-
- within('#search-questions-results') do
- click_link 'Include question'
- end
-
- expect(page).to have_content 'Question added to this poll'
-
- visit admin_poll_path(poll)
-
- expect(page).to have_content 'Questions (1)'
- expect(page).to_not have_content 'There are no questions assigned to this poll'
- expect(page).to have_content question.title
- end
-
- scenario 'Remove question from poll', :js do
- poll = create(:poll)
- question = create(:poll_question, poll: poll)
-
- visit admin_poll_path(poll)
-
- expect(page).to have_content 'Questions (1)'
- expect(page).to_not have_content 'There are no questions assigned to this poll'
- expect(page).to have_content question.title
-
- within("#poll_question_#{question.id}") do
- click_link 'Remove question from poll'
- end
-
- expect(page).to have_content 'Question removed from this poll'
-
- visit admin_poll_path(poll)
-
- expect(page).to have_content 'Questions (0)'
- expect(page).to have_content 'There are no questions assigned to this poll'
- expect(page).to_not have_content question.title
- end
-
end
end
diff --git a/spec/features/admin/poll/shifts_spec.rb b/spec/features/admin/poll/shifts_spec.rb
index 46c737c64..9dea5f8d1 100644
--- a/spec/features/admin/poll/shifts_spec.rb
+++ b/spec/features/admin/poll/shifts_spec.rb
@@ -31,13 +31,14 @@ feature 'Admin shifts' do
end
scenario "Create Vote Collection Shift", :js do
- poll = create(:poll)
+ poll = create(:poll, :current)
vote_collection_dates = (poll.starts_at.to_date..poll.ends_at.to_date).to_a.map { |date| I18n.l(date, format: :long) }
booth = create(:poll_booth)
+ assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
officer = create(:poll_officer)
- visit admin_booths_path
+ visit available_admin_booths_path
within("#booth_#{booth.id}") do
click_link "Manage shifts"
@@ -63,13 +64,14 @@ feature 'Admin shifts' do
end
scenario "Create Recount & Scrutiny Shift", :js do
- poll = create(:poll)
+ poll = create(:poll, :current)
recount_scrutiny_dates = (poll.ends_at.to_date..poll.ends_at.to_date + 1.week).to_a.map { |date| I18n.l(date, format: :long) }
booth = create(:poll_booth)
+ assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
officer = create(:poll_officer)
- visit admin_booths_path
+ visit available_admin_booths_path
within("#booth_#{booth.id}") do
click_link "Manage shifts"
@@ -97,11 +99,12 @@ feature 'Admin shifts' do
end
scenario "Error on create", :js do
- poll = create(:poll)
+ poll = create(:poll, :current)
booth = create(:poll_booth)
+ assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
officer = create(:poll_officer)
- visit admin_booths_path
+ visit available_admin_booths_path
within("#booth_#{booth.id}") do
click_link "Manage shifts"
From c0dcedcd0fcbda471ab87c36e9cf04716249ca62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 16:39:09 +0200
Subject: [PATCH 13/22] Tests fix
---
spec/features/admin/poll/shifts_spec.rb | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/spec/features/admin/poll/shifts_spec.rb b/spec/features/admin/poll/shifts_spec.rb
index 9dea5f8d1..ceccc1867 100644
--- a/spec/features/admin/poll/shifts_spec.rb
+++ b/spec/features/admin/poll/shifts_spec.rb
@@ -119,13 +119,14 @@ feature 'Admin shifts' do
end
scenario "Destroy" do
- poll = create(:poll)
+ poll = create(:poll, :current)
booth = create(:poll_booth)
+ assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
officer = create(:poll_officer)
shift = create(:poll_shift, officer: officer, booth: booth)
- visit admin_booths_path
+ visit available_admin_booths_path
within("#booth_#{booth.id}") do
click_link "Manage shifts"
From e464985114c7e351ec1db79246d46c31df685f71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Mon, 2 Oct 2017 20:34:38 +0200
Subject: [PATCH 14/22] Minor fix
Removed unnecessary markdown
---
app/views/admin/poll/polls/_questions.html.erb | 3 ---
1 file changed, 3 deletions(-)
diff --git a/app/views/admin/poll/polls/_questions.html.erb b/app/views/admin/poll/polls/_questions.html.erb
index 5088572e1..fb92a4e43 100644
--- a/app/views/admin/poll/polls/_questions.html.erb
+++ b/app/views/admin/poll/polls/_questions.html.erb
@@ -9,7 +9,6 @@
| <%= t('admin.polls.show.table_title') %> |
- <%= t('admin.polls.show.table_assignment') %> |
<% @poll.questions.each do |question| %>
@@ -19,8 +18,6 @@
<%= link_to question.title, admin_question_path(question) %>
-
- |
<% end %>
From 9ae72387fe9feba12de561238ef4fc9fa9b79eb0 Mon Sep 17 00:00:00 2001
From: Bertocq
Date: Mon, 2 Oct 2017 23:29:57 +0200
Subject: [PATCH 15/22] Remove remove_question ability from admin on Poll
---
app/models/abilities/administrator.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/models/abilities/administrator.rb b/app/models/abilities/administrator.rb
index 4278d4f8d..2d1a0ee22 100644
--- a/app/models/abilities/administrator.rb
+++ b/app/models/abilities/administrator.rb
@@ -56,7 +56,7 @@ module Abilities
can [:index, :create, :edit, :update, :destroy], Geozone
- can [:read, :create, :update, :destroy, :add_question, :remove_question, :search_booths, :search_questions, :search_officers], Poll
+ can [:read, :create, :update, :destroy, :add_question, :search_booths, :search_questions, :search_officers], Poll
can [:read, :create, :update, :destroy, :available], Poll::Booth
can [:search, :create, :index, :destroy], ::Poll::Officer
can [:create, :destroy], ::Poll::BoothAssignment
From bf61dffd4b354e3b0d8fe016265e652151e2ef8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Tue, 3 Oct 2017 10:47:48 +0200
Subject: [PATCH 16/22] Removed files that are not used
---
.../admin/poll/polls_controller.rb | 9 +----
.../poll/polls/_search_questions.html.erb | 17 ----------
.../polls/_search_questions_results.html.erb | 33 -------------------
.../admin/poll/polls/search_questions.js.erb | 1 -
4 files changed, 1 insertion(+), 59 deletions(-)
delete mode 100644 app/views/admin/poll/polls/_search_questions.html.erb
delete mode 100644 app/views/admin/poll/polls/_search_questions_results.html.erb
delete mode 100644 app/views/admin/poll/polls/search_questions.js.erb
diff --git a/app/controllers/admin/poll/polls_controller.rb b/app/controllers/admin/poll/polls_controller.rb
index 3b3c4f7bd..fb4b4d127 100644
--- a/app/controllers/admin/poll/polls_controller.rb
+++ b/app/controllers/admin/poll/polls_controller.rb
@@ -1,7 +1,7 @@
class Admin::Poll::PollsController < Admin::Poll::BaseController
load_and_authorize_resource
- before_action :load_search, only: [:search_booths, :search_questions, :search_officers]
+ before_action :load_search, only: [:search_booths, :search_officers]
before_action :load_geozones, only: [:new, :create, :edit, :update]
def index
@@ -47,13 +47,6 @@ class Admin::Poll::PollsController < Admin::Poll::BaseController
redirect_to admin_poll_path(@poll), notice: notice
end
- def search_questions
- @questions = ::Poll::Question.where("poll_id IS ? OR poll_id != ?", nil, @poll.id).search(search: @search).order(title: :asc)
- respond_to do |format|
- format.js
- end
- end
-
private
def load_geozones
diff --git a/app/views/admin/poll/polls/_search_questions.html.erb b/app/views/admin/poll/polls/_search_questions.html.erb
deleted file mode 100644
index 659cdcd37..000000000
--- a/app/views/admin/poll/polls/_search_questions.html.erb
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- <%= form_tag(search_questions_admin_poll_path(@poll), method: :get, remote: true) do |f| %>
-
- <% end %>
-
-
-
-
diff --git a/app/views/admin/poll/polls/_search_questions_results.html.erb b/app/views/admin/poll/polls/_search_questions_results.html.erb
deleted file mode 100644
index f6f11e1f1..000000000
--- a/app/views/admin/poll/polls/_search_questions_results.html.erb
+++ /dev/null
@@ -1,33 +0,0 @@
-<% if @questions.blank? %>
-
- <%= t('admin.shared.no_search_results') %>
-
-<% else %>
- <%= t('admin.shared.search_results') %>
-<% end %>
-
-<% if @questions.any? %>
-
-
-
- | <%= t("admin.polls.show.table_name") %> |
- <%= t("admin.polls.show.table_assignment") %> |
-
-
-
- <% @questions.each do |question| %>
-
- |
- <%= question.title %>
- |
-
- <%= link_to t("admin.polls.show.add_question"),
- add_question_admin_poll_path(poll_id: @poll.id, question_id: question.id),
- method: :patch,
- class: "button hollow" %>
- |
-
- <% end %>
-
-
-<% end %>
diff --git a/app/views/admin/poll/polls/search_questions.js.erb b/app/views/admin/poll/polls/search_questions.js.erb
deleted file mode 100644
index 05f5c5167..000000000
--- a/app/views/admin/poll/polls/search_questions.js.erb
+++ /dev/null
@@ -1 +0,0 @@
-$("#search-questions-results").html("<%= j render 'search_questions_results' %>");
\ No newline at end of file
From e6b5de77fe8889e9d8a9f18c6b1e55b0e4a58f95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Tue, 3 Oct 2017 10:50:18 +0200
Subject: [PATCH 17/22] Removed files that are not being used
---
app/models/abilities/administrator.rb | 2 +-
config/routes.rb | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/app/models/abilities/administrator.rb b/app/models/abilities/administrator.rb
index 2d1a0ee22..bfccc5d52 100644
--- a/app/models/abilities/administrator.rb
+++ b/app/models/abilities/administrator.rb
@@ -56,7 +56,7 @@ module Abilities
can [:index, :create, :edit, :update, :destroy], Geozone
- can [:read, :create, :update, :destroy, :add_question, :search_booths, :search_questions, :search_officers], Poll
+ can [:read, :create, :update, :destroy, :add_question, :search_booths, :search_officers], Poll
can [:read, :create, :update, :destroy, :available], Poll::Booth
can [:search, :create, :index, :destroy], ::Poll::Officer
can [:create, :destroy], ::Poll::BoothAssignment
diff --git a/config/routes.rb b/config/routes.rb
index d085acd2a..51e1f351d 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -273,7 +273,6 @@ Rails.application.routes.draw do
scope module: :poll do
resources :polls do
- get :search_questions, on: :member
patch :add_question, on: :member
resources :booth_assignments, only: [:index, :show, :create, :destroy] do
From 1afd97b6875dfe16e6af4d053d4ec6f566438c56 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Tue, 3 Oct 2017 12:09:02 +0200
Subject: [PATCH 18/22] Removed unnused translations
---
config/locales/en/admin.yml | 3 ---
config/locales/es/admin.yml | 3 ---
2 files changed, 6 deletions(-)
diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml
index 008f36f3e..a3751615a 100644
--- a/config/locales/en/admin.yml
+++ b/config/locales/en/admin.yml
@@ -566,10 +566,7 @@ en:
results_tab: Results
no_questions: "There are no questions assigned to this poll."
questions_title: "List of questions"
- add_question: "Include question"
table_title: "Title"
- table_assignment: "Assignment"
- table_name: "Name"
flash:
question_added: "Question added to this poll"
error_on_question_added: "Question could not be assigned to this poll"
diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml
index 4a4616338..f95c2d39f 100644
--- a/config/locales/es/admin.yml
+++ b/config/locales/es/admin.yml
@@ -566,10 +566,7 @@ es:
results_tab: Resultados
no_questions: "No hay preguntas asignadas a esta votación."
questions_title: "Listado de preguntas asignadas"
- add_question: "Incluir pregunta"
table_title: "Título"
- table_assignment: "Asignación"
- table_name: "Nombre"
flash:
question_added: "Pregunta añadida a esta votación"
error_on_question_added: "No se pudo asignar la pregunta"
From 2cb620296bdcf241610381511c563fdf4b871396 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Tue, 3 Oct 2017 15:49:03 +0200
Subject: [PATCH 19/22] Fixed test
---
spec/features/admin/poll/booths_spec.rb | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/spec/features/admin/poll/booths_spec.rb b/spec/features/admin/poll/booths_spec.rb
index 13f3af2ff..22b77b397 100644
--- a/spec/features/admin/poll/booths_spec.rb
+++ b/spec/features/admin/poll/booths_spec.rb
@@ -87,9 +87,11 @@ feature 'Admin booths' do
end
scenario "Edit" do
+ poll = create(:poll, :current)
booth = create(:poll_booth)
+ assignment = create(:poll_booth_assignment, poll: poll, booth: booth)
- visit admin_booths_path
+ visit available_admin_booths_path
within("#booth_#{booth.id}") do
click_link "Edit"
@@ -109,4 +111,4 @@ feature 'Admin booths' do
end
end
-end
\ No newline at end of file
+end
From 080064ed46cb9c950ee68bbbd93def5cd5cc1488 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mar=C3=ADa=20Checa?=
Date: Tue, 3 Oct 2017 16:48:21 +0200
Subject: [PATCH 20/22] Updated schema.rb
---
db/schema.rb | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/db/schema.rb b/db/schema.rb
index e859a487f..e75c2aac3 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20171002122312) do
+ActiveRecord::Schema.define(version: 20171003095936) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -639,7 +639,6 @@ ActiveRecord::Schema.define(version: 20171002122312) do
end
add_index "poll_officer_assignments", ["booth_assignment_id"], name: "index_poll_officer_assignments_on_booth_assignment_id", using: :btree
- add_index "poll_officer_assignments", ["officer_id", "date"], name: "index_poll_officer_assignments_on_officer_id_and_date", using: :btree
add_index "poll_officer_assignments", ["officer_id"], name: "index_poll_officer_assignments_on_officer_id", using: :btree
create_table "poll_officers", force: :cascade do |t|
@@ -698,11 +697,11 @@ ActiveRecord::Schema.define(version: 20171002122312) do
t.integer "officer_assignment_id"
t.text "officer_assignment_id_log", default: ""
t.text "author_id_log", default: ""
- t.integer "white_amount"
+ t.integer "white_amount", default: 0
t.text "white_amount_log", default: ""
- t.integer "null_amount"
+ t.integer "null_amount", default: 0
t.text "null_amount_log", default: ""
- t.integer "total_amount"
+ t.integer "total_amount", default: 0
t.text "total_amount_log", default: ""
end
@@ -720,9 +719,10 @@ ActiveRecord::Schema.define(version: 20171002122312) do
t.integer "task", default: 0, null: false
end
- add_index "poll_shifts", ["booth_id", "officer_id"], name: "index_poll_shifts_on_booth_id_and_officer_id", using: :btree
+ add_index "poll_shifts", ["booth_id", "officer_id", "task"], name: "index_poll_shifts_on_booth_id_and_officer_id_and_task", unique: true, using: :btree
add_index "poll_shifts", ["booth_id"], name: "index_poll_shifts_on_booth_id", using: :btree
add_index "poll_shifts", ["officer_id"], name: "index_poll_shifts_on_officer_id", using: :btree
+ add_index "poll_shifts", ["task"], name: "index_poll_shifts_on_task", using: :btree
create_table "poll_total_results", force: :cascade do |t|
t.integer "author_id"
@@ -752,6 +752,7 @@ ActiveRecord::Schema.define(version: 20171002122312) do
t.integer "answer_id"
t.integer "officer_assignment_id"
t.integer "user_id"
+ t.string "origin"
end
add_index "poll_voters", ["booth_assignment_id"], name: "index_poll_voters_on_booth_assignment_id", using: :btree
From 825671ad9b14df9b2f5ab434b9c379c17b768051 Mon Sep 17 00:00:00 2001
From: Bertocq
Date: Tue, 3 Oct 2017 18:53:44 +0200
Subject: [PATCH 21/22] Fix polls answer this question show text
---
config/locales/en/general.yml | 2 +-
spec/features/polls/questions_spec.rb | 8 ++++----
spec/features/polls/voter_spec.rb | 6 +++---
spec/support/common_actions.rb | 2 +-
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml
index 67d8eef2c..ff8a77014 100644
--- a/config/locales/en/general.yml
+++ b/config/locales/en/general.yml
@@ -494,7 +494,7 @@ en:
create_question: "Create question"
default_valid_answers: "Yes, No"
show:
- answer_this_question: "Answer this question"
+ answer_this_question: "Go to voting page"
original_proposal: "Original proposal"
author: "Created by"
dates_title: "Participation dates"
diff --git a/spec/features/polls/questions_spec.rb b/spec/features/polls/questions_spec.rb
index 1563ca81a..06dd9df08 100644
--- a/spec/features/polls/questions_spec.rb
+++ b/spec/features/polls/questions_spec.rb
@@ -82,7 +82,7 @@ feature 'Poll Questions' do
login_as(create(:user, :level_two, geozone: geozone))
visit question_path(question)
- expect(page).to have_link('Answer this question')
+ expect(page).to have_link('Go to voting page')
end
scenario 'Level 2 users who have already answered' do
@@ -94,7 +94,7 @@ feature 'Poll Questions' do
login_as user
visit question_path(question)
- expect(page).to have_link('Answer this question')
+ expect(page).to have_link('Go to voting page')
end
scenario 'Level 2 users answering', :js do
@@ -104,7 +104,7 @@ feature 'Poll Questions' do
login_as user
visit question_path(question)
- expect(page).to have_link('Answer this question')
+ expect(page).to have_link('Go to voting page')
end
scenario 'Records participation', :js do
@@ -114,7 +114,7 @@ feature 'Poll Questions' do
login_as user
visit question_path(question)
- click_link 'Answer this question'
+ click_link 'Go to voting page'
click_link 'Han Solo'
expect(page).to_not have_link('Han Solo')
diff --git a/spec/features/polls/voter_spec.rb b/spec/features/polls/voter_spec.rb
index 08bc6f963..c12a9f0e4 100644
--- a/spec/features/polls/voter_spec.rb
+++ b/spec/features/polls/voter_spec.rb
@@ -12,7 +12,7 @@ feature "Voter" do
login_as user
visit question_path(question)
- click_link 'Answer this question'
+ click_link 'Go to voting page'
click_link 'Yes'
expect(page).to_not have_link('Yes')
@@ -81,7 +81,7 @@ feature "Voter" do
login_as user
visit question_path(question)
- click_link 'Answer this question'
+ click_link 'Go to voting page'
expect(page).to_not have_link('Yes')
expect(page).to have_content "You have already participated in a booth for this poll."
@@ -91,4 +91,4 @@ feature "Voter" do
end
-end
\ No newline at end of file
+end
diff --git a/spec/support/common_actions.rb b/spec/support/common_actions.rb
index 97f05294c..eda55986f 100644
--- a/spec/support/common_actions.rb
+++ b/spec/support/common_actions.rb
@@ -301,7 +301,7 @@ module CommonActions
def vote_for_poll_via_web
visit question_path(question)
- click_link 'Answer this question'
+ click_link 'Go to voting page'
click_link 'Yes'
expect(page).to_not have_link('Yes')
From 45831a0b68fd4b760e3c96964f4f05fb2c145236 Mon Sep 17 00:00:00 2001
From: Bertocq
Date: Tue, 3 Oct 2017 18:10:16 +0200
Subject: [PATCH 22/22] Include last day of poll in range for recount and
scrutiny on officing panel
---
app/controllers/officing/polls_controller.rb | 4 +++-
app/controllers/officing/results_controller.rb | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/controllers/officing/polls_controller.rb b/app/controllers/officing/polls_controller.rb
index 5ba94e024..69b65ad23 100644
--- a/app/controllers/officing/polls_controller.rb
+++ b/app/controllers/officing/polls_controller.rb
@@ -7,7 +7,9 @@ class Officing::PollsController < Officing::BaseController
def final
@polls = if current_user.poll_officer?
- current_user.poll_officer.final_days_assigned_polls.select {|poll| poll.ends_at > 2.weeks.ago && poll.expired?}
+ current_user.poll_officer.final_days_assigned_polls.select do |poll|
+ poll.ends_at > 2.weeks.ago && poll.expired? || poll.ends_at.today?
+ end
else
[]
end
diff --git a/app/controllers/officing/results_controller.rb b/app/controllers/officing/results_controller.rb
index f517f081a..23ef0b038 100644
--- a/app/controllers/officing/results_controller.rb
+++ b/app/controllers/officing/results_controller.rb
@@ -93,7 +93,7 @@ class Officing::ResultsController < Officing::BaseController
end
def load_poll
- @poll = ::Poll.expired.includes(:questions).find(params[:poll_id])
+ @poll = ::Poll.includes(:questions).find(params[:poll_id])
end
def load_officer_assignment