decidim-elections 0.24.3 → 0.25.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (433) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -0
  3. data/app/cells/decidim/elections/election_m/tags.erb +3 -0
  4. data/app/cells/decidim/elections/election_m_cell.rb +1 -8
  5. data/app/cells/decidim/elections/election_preview/show.erb +28 -0
  6. data/app/cells/decidim/elections/election_preview_cell.rb +13 -0
  7. data/app/cells/decidim/elections/election_results/blank_votes.erb +7 -0
  8. data/app/cells/decidim/elections/election_results/progress_bar.erb +16 -0
  9. data/app/cells/decidim/elections/election_results/show.erb +40 -0
  10. data/app/cells/decidim/elections/election_results_cell.rb +13 -0
  11. data/app/cells/decidim/elections/election_vote_cta/show.erb +35 -0
  12. data/app/cells/decidim/elections/election_vote_cta_cell.rb +83 -0
  13. data/app/cells/decidim/elections/remaining_time_callout/show.erb +5 -0
  14. data/app/cells/decidim/elections/remaining_time_callout_cell.rb +28 -0
  15. data/app/cells/decidim/elections/voting_step_navigation/show.erb +1 -1
  16. data/app/cells/decidim/elections/voting_step_navigation_cell.rb +1 -1
  17. data/app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb +1 -1
  18. data/app/cells/decidim/votings/content_blocks/landing_page/attachments_and_folders_cell.rb +8 -1
  19. data/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb +25 -0
  20. data/app/cells/decidim/votings/content_blocks/landing_page/description_cell.rb +20 -2
  21. data/app/cells/decidim/votings/content_blocks/landing_page/elections/show.erb +15 -0
  22. data/app/cells/decidim/votings/content_blocks/landing_page/elections/single.erb +11 -0
  23. data/app/cells/decidim/votings/content_blocks/landing_page/elections_cell.rb +33 -1
  24. data/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb +29 -0
  25. data/app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb +95 -2
  26. data/app/cells/decidim/votings/content_blocks/landing_page/header_settings_form/show.erb +4 -0
  27. data/app/cells/decidim/votings/content_blocks/landing_page/{stats_cell.rb → header_settings_form_cell.rb} +5 -3
  28. data/app/cells/decidim/votings/content_blocks/landing_page/metrics/show.erb +12 -0
  29. data/app/cells/decidim/votings/content_blocks/landing_page/metrics_cell.rb +6 -2
  30. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/address.erb +14 -0
  31. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/map.erb +18 -0
  32. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/show.erb +25 -0
  33. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations_cell.rb +42 -1
  34. data/app/cells/decidim/votings/content_blocks/landing_page/statistics_cell.rb +24 -0
  35. data/app/cells/decidim/votings/content_blocks/landing_page/timeline/show.erb +7 -0
  36. data/app/cells/decidim/votings/content_blocks/landing_page/timeline_cell.rb +4 -2
  37. data/app/cells/decidim/votings/polling_officers/polling_officers_picker/show.erb +1 -1
  38. data/app/cells/decidim/votings/polling_station_closure_certificate/show.erb +9 -0
  39. data/app/cells/decidim/votings/polling_station_closure_certificate_cell.rb +12 -0
  40. data/app/cells/decidim/votings/polling_station_closure_recount/show.erb +74 -0
  41. data/app/cells/decidim/votings/polling_station_closure_recount_cell.rb +9 -0
  42. data/app/cells/decidim/votings/voting_m_cell.rb +2 -2
  43. data/app/commands/decidim/elections/admin/add_user_as_trustee.rb +2 -1
  44. data/app/commands/decidim/elections/admin/create_election.rb +2 -1
  45. data/app/commands/decidim/elections/admin/publish_results.rb +10 -6
  46. data/app/commands/decidim/elections/admin/setup_election.rb +73 -67
  47. data/app/commands/decidim/elections/admin/update_answer_selection.rb +1 -1
  48. data/app/commands/decidim/elections/trustee_zone/update_election_bulletin_board_status.rb +61 -2
  49. data/app/commands/decidim/elections/trustee_zone/update_trustee.rb +3 -0
  50. data/app/commands/decidim/elections/voter/cast_vote.rb +4 -7
  51. data/app/commands/decidim/elections/voter/update_vote_status.rb +23 -7
  52. data/app/commands/decidim/votings/admin/create_ballot_style.rb +58 -0
  53. data/app/commands/decidim/votings/admin/create_voting.rb +2 -1
  54. data/app/commands/decidim/votings/admin/destroy_ballot_style.rb +33 -0
  55. data/app/commands/decidim/votings/admin/monitoring_committee_validate_polling_station_closure.rb +37 -0
  56. data/app/commands/decidim/votings/admin/update_ballot_style.rb +70 -0
  57. data/app/commands/decidim/votings/admin/update_voting.rb +5 -14
  58. data/app/commands/decidim/votings/census/admin/create_dataset.rb +82 -0
  59. data/app/commands/decidim/votings/census/admin/create_datum.rb +55 -0
  60. data/app/commands/decidim/votings/census/admin/destroy_dataset.rb +45 -0
  61. data/app/commands/decidim/votings/census/admin/increment_dataset_processed_rows.rb +43 -0
  62. data/app/commands/decidim/votings/census/admin/launch_access_codes_export.rb +38 -0
  63. data/app/commands/decidim/votings/census/admin/launch_access_codes_generation.rb +44 -0
  64. data/app/commands/decidim/votings/census/admin/update_dataset.rb +51 -0
  65. data/app/commands/decidim/votings/certify_polling_station_closure.rb +46 -0
  66. data/app/commands/decidim/votings/check_census.rb +35 -0
  67. data/app/commands/decidim/votings/create_polling_station_closure.rb +53 -0
  68. data/app/commands/decidim/votings/create_polling_station_results.rb +83 -0
  69. data/app/commands/decidim/votings/send_access_code.rb +48 -0
  70. data/app/commands/decidim/votings/sign_polling_station_closure.rb +41 -0
  71. data/app/commands/decidim/votings/voter/in_person_vote.rb +55 -0
  72. data/app/commands/decidim/votings/voter/update_in_person_vote_status.rb +52 -0
  73. data/app/controllers/concerns/decidim/elections/has_vote_flow.rb +43 -0
  74. data/app/controllers/concerns/decidim/monitoring_committee_polling_station_closures/admin/filterable.rb +72 -0
  75. data/app/controllers/concerns/decidim/votings/needs_voting.rb +5 -5
  76. data/app/controllers/decidim/elections/admin/steps_controller.rb +5 -2
  77. data/app/controllers/decidim/elections/elections_controller.rb +18 -5
  78. data/app/controllers/decidim/elections/feedbacks_controller.rb +37 -3
  79. data/app/controllers/decidim/elections/trustee_zone/elections_controller.rb +15 -1
  80. data/app/controllers/decidim/elections/votes_controller.rb +101 -41
  81. data/app/controllers/decidim/votings/admin/ballot_styles_controller.rb +93 -0
  82. data/app/controllers/decidim/votings/admin/monitoring_committee_election_results_controller.rb +69 -0
  83. data/app/controllers/decidim/votings/admin/monitoring_committee_members_controller.rb +4 -0
  84. data/app/controllers/decidim/votings/admin/monitoring_committee_polling_station_closures_controller.rb +73 -0
  85. data/app/controllers/decidim/votings/admin/monitoring_committee_verify_elections_controller.rb +24 -0
  86. data/app/controllers/decidim/votings/admin/polling_stations_controller.rb +4 -0
  87. data/app/controllers/decidim/votings/admin/votings_controller.rb +1 -1
  88. data/app/controllers/decidim/votings/census/admin/application_controller.rb +19 -0
  89. data/app/controllers/decidim/votings/census/admin/census_controller.rb +191 -0
  90. data/app/controllers/decidim/votings/polling_officer_zone/closures_controller.rb +131 -0
  91. data/app/controllers/decidim/votings/polling_officer_zone/in_person_votes_controller.rb +149 -0
  92. data/app/controllers/decidim/votings/polling_officer_zone/polling_officers_controller.rb +10 -2
  93. data/app/controllers/decidim/votings/votings_controller.rb +91 -4
  94. data/app/events/decidim/elections/votes/vote_accepted_event.rb +1 -1
  95. data/app/forms/decidim/elections/admin/action_form.rb +5 -0
  96. data/app/forms/decidim/elections/admin/question_form.rb +1 -1
  97. data/app/forms/decidim/elections/admin/trustees_participatory_space_form.rb +1 -1
  98. data/app/forms/decidim/elections/{ballot → voter}/verify_vote_form.rb +1 -5
  99. data/app/forms/decidim/elections/voter/vote_form.rb +50 -0
  100. data/app/forms/decidim/votings/admin/ballot_style_form.rb +19 -0
  101. data/app/forms/decidim/votings/admin/monitoring_committee_polling_station_closure_form.rb +11 -0
  102. data/app/forms/decidim/votings/admin/publish_results_form.rb +64 -0
  103. data/app/forms/decidim/votings/admin/voting_form.rb +3 -2
  104. data/app/forms/decidim/votings/answer_result_form.rb +24 -0
  105. data/app/forms/decidim/votings/ballot_result_form.rb +28 -0
  106. data/app/forms/decidim/votings/census/admin/dataset_form.rb +25 -0
  107. data/app/forms/decidim/votings/census/admin/datum_form.rb +30 -0
  108. data/app/forms/decidim/votings/census/check_fields.rb +28 -0
  109. data/app/forms/decidim/votings/census/check_form.rb +13 -0
  110. data/app/forms/decidim/votings/census/frontend_fields.rb +42 -0
  111. data/app/forms/decidim/votings/census/in_person_fields.rb +48 -0
  112. data/app/forms/decidim/votings/census/in_person_form.rb +13 -0
  113. data/app/forms/decidim/votings/census/login_form.rb +13 -0
  114. data/app/forms/decidim/votings/census/online_fields.rb +28 -0
  115. data/app/forms/decidim/votings/closure_certify_form.rb +20 -0
  116. data/app/forms/decidim/votings/closure_result_form.rb +37 -0
  117. data/app/forms/decidim/votings/closure_sign_form.rb +11 -0
  118. data/app/forms/decidim/votings/envelopes_result_form.rb +34 -0
  119. data/app/forms/decidim/votings/question_result_form.rb +24 -0
  120. data/app/forms/decidim/votings/voter/in_person_vote_form.rb +40 -0
  121. data/app/jobs/decidim/votings/census/admin/create_datum_job.rb +41 -0
  122. data/app/jobs/decidim/votings/census/admin/export_access_codes_job.rb +39 -0
  123. data/app/jobs/decidim/votings/census/admin/generate_access_codes_job.rb +44 -0
  124. data/app/mailers/decidim/elections/vote_accepted_mailer.rb +29 -0
  125. data/app/mailers/decidim/votings/access_code_mailer.rb +34 -0
  126. data/app/mailers/decidim/votings/census/export_mailer.rb +44 -0
  127. data/app/models/decidim/elections/action.rb +1 -1
  128. data/app/models/decidim/elections/answer.rb +21 -0
  129. data/app/models/decidim/elections/bulletin_board_closure.rb +19 -0
  130. data/app/models/decidim/elections/election.rb +5 -4
  131. data/app/models/decidim/elections/question.rb +24 -13
  132. data/app/models/decidim/elections/result.rb +22 -0
  133. data/app/models/decidim/elections/trustee.rb +10 -1
  134. data/app/models/decidim/elections/vote.rb +2 -2
  135. data/app/models/decidim/votings/ballot_style.rb +29 -0
  136. data/app/models/decidim/votings/ballot_style_question.rb +11 -0
  137. data/app/models/decidim/votings/census/dataset.rb +32 -0
  138. data/app/models/decidim/votings/census/datum.rb +34 -0
  139. data/app/models/decidim/votings/in_person_vote.rb +22 -0
  140. data/app/models/decidim/votings/polling_station.rb +18 -1
  141. data/app/models/decidim/votings/polling_station_closure.rb +43 -0
  142. data/app/models/decidim/votings/voting.rb +38 -15
  143. data/app/packs/entrypoints/decidim_elections.js +2 -0
  144. data/app/packs/entrypoints/decidim_elections_admin_pending_action.js +1 -0
  145. data/app/packs/entrypoints/decidim_elections_admin_vote_statistics.js +1 -0
  146. data/app/packs/entrypoints/decidim_elections_election_log.js +1 -0
  147. data/app/packs/entrypoints/decidim_elections_onboarding.js +1 -0
  148. data/app/packs/entrypoints/decidim_elections_trustee_key_ceremony.js +1 -0
  149. data/app/packs/entrypoints/decidim_elections_trustee_tally.js +1 -0
  150. data/app/packs/entrypoints/decidim_elections_trustee_trustee_zone.js +1 -0
  151. data/app/packs/entrypoints/decidim_elections_trustee_zone.js +1 -0
  152. data/app/packs/entrypoints/decidim_elections_trustee_zone.scss +1 -0
  153. data/app/packs/entrypoints/decidim_elections_voter_casting-vote.js +1 -0
  154. data/app/packs/entrypoints/decidim_elections_voter_new-vote.js +1 -0
  155. data/app/packs/entrypoints/decidim_elections_voter_setup-preview.js +1 -0
  156. data/app/packs/entrypoints/decidim_elections_voter_setup-vote.js +1 -0
  157. data/app/packs/entrypoints/decidim_elections_voter_verify-vote.js +1 -0
  158. data/app/packs/entrypoints/decidim_votings_admin_monitoring_committee_members_form.js +1 -0
  159. data/app/packs/entrypoints/decidim_votings_admin_polling_officers_form.js +1 -0
  160. data/app/packs/entrypoints/decidim_votings_admin_polling_officers_picker.js +1 -0
  161. data/app/packs/entrypoints/decidim_votings_admin_polling_stations_form.js +1 -0
  162. data/app/packs/entrypoints/decidim_votings_admin_update_census_dataset_status.js +1 -0
  163. data/app/packs/entrypoints/decidim_votings_admin_votings.js +1 -0
  164. data/app/packs/entrypoints/decidim_votings_admin_votings.scss +1 -0
  165. data/app/packs/entrypoints/decidim_votings_in-person-vote.js +1 -0
  166. data/app/packs/entrypoints/decidim_votings_voting-description-cell.js +1 -0
  167. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-edit-closure.js +1 -0
  168. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-in-person-vote.js +1 -0
  169. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-new-closure.js +1 -0
  170. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-sign-closure.js +1 -0
  171. data/app/{assets/images/decidim/elections/icon.svg → packs/images/decidim/elections/decidim_elections.svg} +0 -0
  172. data/app/{assets/images/decidim/votings/icon.svg → packs/images/decidim/votings/decidim_votings.svg} +0 -0
  173. data/app/{assets/javascripts/decidim/elections/admin/pending_action.js.es6 → packs/src/decidim/elections/admin/pending_action.js} +4 -6
  174. data/app/{assets/javascripts/decidim/elections/admin/vote_statistics.js.es6 → packs/src/decidim/elections/admin/vote_statistics.js} +0 -0
  175. data/app/packs/src/decidim/elections/election_log.js +145 -0
  176. data/app/packs/src/decidim/elections/onboarding.js +5 -0
  177. data/app/{assets/javascripts/decidim/elections/trustee_zone/key_ceremony.js.es6 → packs/src/decidim/elections/trustee/key_ceremony.js} +59 -22
  178. data/app/{assets/javascripts/decidim/elections/trustee_zone/tally.js.es6 → packs/src/decidim/elections/trustee/tally.js} +48 -12
  179. data/app/{assets/javascripts/decidim/elections/trustee_zone.js.es6 → packs/src/decidim/elections/trustee/trustee_zone.js} +3 -6
  180. data/app/packs/src/decidim/elections/voter/casting-vote.js +14 -0
  181. data/app/packs/src/decidim/elections/voter/new-vote.js +83 -0
  182. data/app/packs/src/decidim/elections/voter/setup-preview.js +79 -0
  183. data/app/packs/src/decidim/elections/voter/setup-vote.js +50 -0
  184. data/app/{assets/javascripts/decidim/elections/vote_verify.js.es6 → packs/src/decidim/elections/voter/verify-vote.js} +22 -21
  185. data/app/packs/src/decidim/elections/voter/vote_questions.component.js +124 -0
  186. data/app/{assets/javascripts/decidim/votings/admin/monitoring_committee_members_form.js.es6 → packs/src/decidim/votings/admin/monitoring_committee_members_form.js} +3 -3
  187. data/app/{assets/javascripts/decidim/votings/admin/polling_officers_form.js.es6 → packs/src/decidim/votings/admin/polling_officers_form.js} +3 -3
  188. data/app/{assets/javascripts/decidim/votings/admin/polling_officers_picker.js.es6 → packs/src/decidim/votings/admin/polling_officers_picker.js} +0 -0
  189. data/app/{assets/javascripts/decidim/votings/admin/polling_stations_form.js.es6 → packs/src/decidim/votings/admin/polling_stations_form.js} +4 -3
  190. data/app/packs/src/decidim/votings/admin/update_census_dataset_status.js +13 -0
  191. data/app/packs/src/decidim/votings/in-person-vote.js +20 -0
  192. data/app/packs/src/decidim/votings/polling_officer_zone/edit-closure.js +26 -0
  193. data/app/packs/src/decidim/votings/polling_officer_zone/in-person-vote.js +5 -0
  194. data/app/packs/src/decidim/votings/polling_officer_zone/new-closure.js +35 -0
  195. data/app/packs/src/decidim/votings/polling_officer_zone/sign-closure.js +13 -0
  196. data/app/packs/src/decidim/votings/voting-description-cell.js +41 -0
  197. data/app/packs/stylesheets/decidim/elections/elections.scss +8 -0
  198. data/app/{assets → packs}/stylesheets/decidim/elections/focus/_accordion.scss +0 -0
  199. data/app/{assets → packs}/stylesheets/decidim/elections/focus/_evote.scss +8 -1
  200. data/app/{assets → packs}/stylesheets/decidim/elections/focus/_focus.scss +0 -0
  201. data/app/{assets → packs}/stylesheets/decidim/elections/trustee_zone.scss +0 -0
  202. data/app/packs/stylesheets/decidim/votings/admin/votings.scss +3 -0
  203. data/app/packs/stylesheets/decidim/votings/admin/votings/_ballot-styles.scss +16 -0
  204. data/app/packs/stylesheets/decidim/votings/admin/votings/_monitoring-committee-polling-station-closures.scss +9 -0
  205. data/app/packs/stylesheets/decidim/votings/admin/votings/_results.scss +3 -0
  206. data/app/packs/stylesheets/decidim/votings/votings.scss +2 -0
  207. data/app/packs/stylesheets/decidim/votings/votings/_polling-stations-cell.scss +6 -0
  208. data/app/packs/stylesheets/decidim/votings/votings/_voting-description-cell.scss +29 -0
  209. data/app/permissions/decidim/elections/admin/permissions.rb +5 -0
  210. data/app/permissions/decidim/elections/permissions.rb +18 -33
  211. data/app/permissions/decidim/votings/admin/permissions.rb +87 -27
  212. data/app/permissions/decidim/votings/permissions.rb +5 -1
  213. data/app/permissions/decidim/votings/polling_officer_zone/permissions.rb +8 -2
  214. data/app/presenters/decidim/votings/census/admin_log/dataset_presenter.rb +30 -0
  215. data/app/presenters/decidim/votings/voting_presenter.rb +2 -11
  216. data/app/presenters/decidim/votings/voting_stats_presenter.rb +52 -0
  217. data/app/queries/decidim/elections/admin/votes_for_statistics.rb +1 -1
  218. data/app/queries/decidim/elections/votes/last_vote_for_voter.rb +29 -0
  219. data/app/queries/decidim/votings/admin/admin_users.rb +15 -10
  220. data/app/queries/decidim/votings/admin/ballot_style_by_voting_code.rb +31 -0
  221. data/app/queries/decidim/votings/votes/in_person_vote_for_voter.rb +27 -0
  222. data/app/queries/decidim/votings/votes/pending_in_person_votes.rb +20 -0
  223. data/app/serializers/decidim/votings/census/datum_serializer.rb +29 -0
  224. data/app/services/decidim/elections/current_user_vote_flow.rb +68 -0
  225. data/app/services/decidim/elections/vote_flow.rb +109 -0
  226. data/app/services/decidim/votings/census/access_codes_exporter.rb +50 -0
  227. data/app/services/decidim/votings/census_vote_flow.rb +106 -0
  228. data/app/uploaders/decidim/cw/votings/census/voting_census_uploader.rb +19 -0
  229. data/app/views/decidim/elections/admin/answers/index.html.erb +23 -4
  230. data/app/views/decidim/elections/admin/elections/index.html.erb +5 -5
  231. data/app/views/decidim/elections/admin/questions/index.html.erb +2 -2
  232. data/app/views/decidim/elections/admin/steps/_results_published.html.erb +62 -0
  233. data/app/views/decidim/elections/admin/steps/_tally_ended.html.erb +49 -3
  234. data/app/views/decidim/elections/admin/steps/_vote.html.erb +1 -1
  235. data/app/views/decidim/elections/admin/steps/_vote_ended.html.erb +4 -0
  236. data/app/views/decidim/elections/admin/steps/index.html.erb +2 -2
  237. data/app/views/decidim/elections/admin/trustees_participatory_spaces/index.html.erb +7 -3
  238. data/app/views/decidim/elections/elections/_filters.html.erb +1 -0
  239. data/app/views/decidim/elections/elections/election_log.html.erb +182 -0
  240. data/app/views/decidim/elections/elections/index.html.erb +0 -2
  241. data/app/views/decidim/elections/elections/show.html.erb +11 -37
  242. data/app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb +41 -39
  243. data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +11 -27
  244. data/app/views/decidim/elections/trustee_zone/elections/update.js.erb +1 -1
  245. data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +7 -7
  246. data/app/views/decidim/elections/vote_accepted_mailer/notification.html.erb +3 -0
  247. data/app/views/decidim/elections/votes/{_election_votes_header.html.erb → _focus_header.html.erb} +0 -0
  248. data/app/views/decidim/elections/votes/_new_ballot_decision_step.html.erb +30 -0
  249. data/app/views/decidim/elections/votes/{_election_votes_confirm.html.erb → _new_confirm_step.html.erb} +5 -5
  250. data/app/views/decidim/elections/votes/{_election_votes_confirm_footer.html.erb → _new_confirm_step_footer.html.erb} +2 -3
  251. data/app/views/decidim/elections/votes/{_election_votes_encrypting.html.erb → _new_encrypting_step.html.erb} +1 -1
  252. data/app/views/decidim/elections/votes/{_election_votes_question.html.erb → _new_question.html.erb} +7 -7
  253. data/app/views/decidim/elections/votes/{_election_votes_modal.html.erb → _new_question_modal.html.erb} +1 -1
  254. data/app/views/decidim/elections/votes/_onboarding_modal.html.erb +23 -0
  255. data/app/views/decidim/elections/votes/_show_casted.html.erb +36 -0
  256. data/app/views/decidim/elections/votes/_show_casting.html.erb +25 -0
  257. data/app/views/decidim/elections/votes/{_election_votes_failed.html.erb → _show_failed.html.erb} +6 -4
  258. data/app/views/decidim/elections/votes/new.html.erb +29 -16
  259. data/app/views/decidim/elections/votes/show.html.erb +11 -0
  260. data/app/views/decidim/elections/votes/verify.html.erb +6 -9
  261. data/app/views/decidim/votings/access_code_mailer/send_access_code.html.erb +5 -0
  262. data/app/views/decidim/votings/admin/ballot_styles/_form.html.erb +24 -0
  263. data/app/views/decidim/votings/admin/ballot_styles/edit.html.erb +7 -0
  264. data/app/views/decidim/votings/admin/ballot_styles/index.html.erb +68 -0
  265. data/app/views/decidim/votings/admin/ballot_styles/new.html.erb +7 -0
  266. data/app/views/decidim/votings/admin/monitoring_committee_election_results/_results.html.erb +53 -0
  267. data/app/views/decidim/votings/admin/monitoring_committee_election_results/index.html.erb +32 -0
  268. data/app/views/decidim/votings/admin/monitoring_committee_election_results/show.html.erb +24 -0
  269. data/app/views/decidim/votings/admin/monitoring_committee_members/_form.html.erb +1 -1
  270. data/app/views/decidim/votings/admin/monitoring_committee_members/index.html.erb +1 -1
  271. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_closure_certificate_results.erb +9 -0
  272. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_closures.html.erb +71 -0
  273. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_elections.html.erb +32 -0
  274. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/edit.html.erb +29 -0
  275. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/index.html.erb +5 -0
  276. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/show.html.erb +10 -0
  277. data/app/views/decidim/votings/admin/monitoring_committee_verify_elections/index.html.erb +59 -0
  278. data/app/views/decidim/votings/admin/polling_officers/_form.html.erb +1 -1
  279. data/app/views/decidim/votings/admin/polling_officers/index.html.erb +1 -1
  280. data/app/views/decidim/votings/admin/polling_stations/_form.html.erb +1 -1
  281. data/app/views/decidim/votings/admin/polling_stations/index.html.erb +2 -2
  282. data/app/views/decidim/votings/admin/votings/_form.html.erb +9 -2
  283. data/app/views/decidim/votings/admin/votings/edit.html.erb +1 -1
  284. data/app/views/decidim/votings/admin/votings/index.html.erb +3 -2
  285. data/app/views/decidim/votings/census/admin/census/_creating_data.html.erb +10 -0
  286. data/app/views/decidim/votings/census/admin/census/_export_codes.html.erb +8 -0
  287. data/app/views/decidim/votings/census/admin/census/_exporting_codes.html.erb +3 -0
  288. data/app/views/decidim/votings/census/admin/census/_freeze.html.erb +3 -0
  289. data/app/views/decidim/votings/census/admin/census/_generate_codes.html.erb +25 -0
  290. data/app/views/decidim/votings/census/admin/census/_generating_codes.html.erb +3 -0
  291. data/app/views/decidim/votings/census/admin/census/_new_census.html.erb +22 -0
  292. data/app/views/decidim/votings/census/admin/census/_upload_info.html.erb +17 -0
  293. data/app/views/decidim/votings/census/admin/census/show.html.erb +23 -0
  294. data/app/views/decidim/votings/census/admin/census/status.js.erb +1 -0
  295. data/app/views/decidim/votings/census/export_mailer/access_codes_export.erb +7 -0
  296. data/app/views/decidim/votings/polling_officer_zone/closures/_answer_results_form_fields.html.erb +12 -0
  297. data/app/views/decidim/votings/polling_officer_zone/closures/_ballot_results_form_fields.html.erb +40 -0
  298. data/app/views/decidim/votings/polling_officer_zone/closures/_certify_form.html.erb +15 -0
  299. data/app/views/decidim/votings/polling_officer_zone/closures/_modal_ballots_count_error.html.erb +60 -0
  300. data/app/views/decidim/votings/polling_officer_zone/closures/_modal_ballots_results_count_error.html.erb +19 -0
  301. data/app/views/decidim/votings/polling_officer_zone/closures/_question_results_form_fields.html.erb +22 -0
  302. data/app/views/decidim/votings/polling_officer_zone/closures/_sign_form.html.erb +55 -0
  303. data/app/views/decidim/votings/polling_officer_zone/closures/edit.html.erb +48 -0
  304. data/app/views/decidim/votings/polling_officer_zone/closures/new.html.erb +62 -0
  305. data/app/views/decidim/votings/polling_officer_zone/closures/show.html.erb +35 -0
  306. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_complete_voting.html.erb +59 -0
  307. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_in_person_form.html.erb +50 -0
  308. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_verify_document.html.erb +23 -0
  309. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/new.html.erb +21 -0
  310. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/show.html.erb +25 -0
  311. data/app/views/decidim/votings/polling_officer_zone/polling_officers/_polling_station.html.erb +60 -0
  312. data/app/views/decidim/votings/polling_officer_zone/polling_officers/index.html.erb +15 -0
  313. data/app/views/decidim/votings/votings/_access_code_modal.html.erb +33 -0
  314. data/app/views/decidim/votings/votings/_check_fields.html.erb +31 -0
  315. data/app/views/decidim/votings/votings/_filters.html.erb +1 -0
  316. data/app/views/decidim/votings/votings/_promoted_voting.html.erb +1 -1
  317. data/app/views/decidim/votings/votings/check_census.html.erb +64 -0
  318. data/app/views/decidim/votings/votings/elections_log.html.erb +34 -0
  319. data/app/views/decidim/votings/votings/index.html.erb +0 -2
  320. data/app/views/decidim/votings/votings/login.html.erb +50 -0
  321. data/app/views/decidim/votings/votings/show.html.erb +11 -11
  322. data/app/views/layouts/decidim/_election_votes_header.html.erb +3 -3
  323. data/app/views/layouts/decidim/admin/voting.html.erb +5 -83
  324. data/app/views/layouts/decidim/election_votes.html.erb +1 -0
  325. data/app/views/layouts/decidim/voting_landing.html.erb +13 -0
  326. data/app/views/layouts/decidim/{voting.html.erb → votings.html.erb} +3 -1
  327. data/config/assets.rb +35 -0
  328. data/config/initializers/decidim_bulletin_board.rb +17 -11
  329. data/config/initializers/rack_attack.rb +15 -0
  330. data/config/locales/ca.yml +496 -49
  331. data/config/locales/cs.yml +498 -43
  332. data/config/locales/de.yml +469 -44
  333. data/config/locales/el.yml +0 -14
  334. data/config/locales/en.yml +491 -42
  335. data/config/locales/es-MX.yml +338 -42
  336. data/config/locales/es-PY.yml +338 -42
  337. data/config/locales/es.yml +338 -42
  338. data/config/locales/fi-plain.yml +489 -42
  339. data/config/locales/fi.yml +489 -42
  340. data/config/locales/fr-CA.yml +241 -39
  341. data/config/locales/fr-LU.yml +890 -0
  342. data/config/locales/fr.yml +241 -39
  343. data/config/locales/gl.yml +418 -34
  344. data/config/locales/hu.yml +29 -0
  345. data/config/locales/it.yml +1027 -17
  346. data/config/locales/ja.yml +578 -17
  347. data/config/locales/lb-LU.yml +1 -0
  348. data/config/locales/lv.yml +0 -14
  349. data/config/locales/nl.yml +308 -42
  350. data/config/locales/no.yml +12 -36
  351. data/config/locales/pl.yml +670 -215
  352. data/config/locales/pt-BR.yml +1338 -0
  353. data/config/locales/pt.yml +0 -19
  354. data/config/locales/ro-RO.yml +99 -19
  355. data/config/locales/sv.yml +49 -22
  356. data/config/locales/tr-TR.yml +3 -24
  357. data/config/locales/zh-CN.yml +0 -19
  358. data/db/migrate/20210308104024_add_decidim_votings_census_datasets.rb +17 -0
  359. data/db/migrate/20210308104154_add_decidim_votings_census_data.rb +23 -0
  360. data/db/migrate/20210326090435_create_elections_results.rb +16 -0
  361. data/db/migrate/20210330102348_remove_votes_count_from_answer.rb +7 -0
  362. data/db/migrate/20210330123606_add_voting_ballot_style.rb +19 -0
  363. data/db/migrate/20210330183204_add_email_to_votes.rb +10 -0
  364. data/db/migrate/20210331152729_add_census_contact_information_to_votings.rb +7 -0
  365. data/db/migrate/20210401095507_add_organization_to_decidim_elections_trustee.rb +11 -0
  366. data/db/migrate/20210402102215_add_ballot_style_to_decidim_votings_census_data.rb +7 -0
  367. data/db/migrate/20210402140402_add_salt_to_elections.rb +22 -0
  368. data/db/migrate/20210412144721_change_elections_results.rb +24 -0
  369. data/db/migrate/20210412144740_create_elections_bulletin_board_closures.rb +13 -0
  370. data/db/migrate/20210412144741_create_votings_polling_station_closures.rb +22 -0
  371. data/db/migrate/20210420112721_create_decidim_votings_in_person_votes.rb +21 -0
  372. data/db/migrate/20210422124826_add_verifiable_results_to_decidim_elections_election.rb +8 -0
  373. data/db/migrate/20210426072845_add_signed_at_to_polling_station_closure.rb +7 -0
  374. data/db/migrate/20210427131742_add_validated_at_to_votings_polling_station_closures.rb +8 -0
  375. data/db/seeds/Exampledocument.pdf +0 -0
  376. data/db/seeds/city2.jpeg +0 -0
  377. data/lib/decidim/api/bulletin_board_closure_type.rb +16 -0
  378. data/lib/decidim/api/election_answer_type.rb +3 -2
  379. data/lib/decidim/api/election_result_type.rb +19 -0
  380. data/lib/decidim/api/polling_station_closure_type.rb +19 -0
  381. data/lib/decidim/api/polling_station_type.rb +24 -0
  382. data/lib/decidim/elections.rb +8 -0
  383. data/lib/decidim/elections/admin_engine.rb +14 -15
  384. data/lib/decidim/elections/answer_serializer.rb +2 -1
  385. data/lib/decidim/elections/api.rb +2 -0
  386. data/lib/decidim/elections/component.rb +85 -19
  387. data/lib/decidim/elections/engine.rb +4 -6
  388. data/lib/decidim/elections/test/factories.rb +76 -11
  389. data/lib/decidim/elections/trustee_zone_engine.rb +5 -4
  390. data/lib/decidim/elections/version.rb +1 -1
  391. data/lib/decidim/votings.rb +17 -0
  392. data/lib/decidim/votings/admin_engine.rb +134 -8
  393. data/lib/decidim/votings/api.rb +2 -0
  394. data/lib/decidim/votings/census.rb +16 -0
  395. data/lib/decidim/votings/census_admin.rb +12 -0
  396. data/lib/decidim/votings/census_admin_engine.rb +22 -0
  397. data/lib/decidim/votings/census_engine.rb +19 -0
  398. data/lib/decidim/votings/engine.rb +25 -20
  399. data/lib/decidim/votings/participatory_space.rb +149 -2
  400. data/lib/decidim/votings/polling_officer_zone_engine.rb +15 -6
  401. data/lib/decidim/votings/test/factories.rb +163 -0
  402. data/lib/decidim/votings/voting_serializer.rb +1 -0
  403. data/lib/tasks/decidim_voting_census.rake +26 -0
  404. metadata +326 -72
  405. data/app/assets/config/admin/decidim_votings_manifest.css +0 -0
  406. data/app/assets/config/admin/decidim_votings_manifest.js +0 -4
  407. data/app/assets/config/decidim_elections_manifest.css +0 -3
  408. data/app/assets/config/decidim_elections_manifest.js +0 -8
  409. data/app/assets/config/decidim_votings_manifest.css +0 -3
  410. data/app/assets/config/decidim_votings_manifest.js +0 -0
  411. data/app/assets/javascripts/decidim/elections/vote.js.es6 +0 -117
  412. data/app/assets/javascripts/decidim/elections/vote_questions.component.js.es6 +0 -129
  413. data/app/assets/stylesheets/decidim/elections/elections.scss +0 -6
  414. data/app/assets/stylesheets/decidim/votings/votings.scss +0 -1
  415. data/app/assets/stylesheets/decidim/votings/votings/_votings-header.scss +0 -99
  416. data/app/assets/stylesheets/decidim/votings/votings/_votings-home-banner.scss +0 -11
  417. data/app/controllers/decidim/votings/polling_officer_zone/polling_stations_controller.rb +0 -22
  418. data/app/forms/decidim/elections/voter/encrypted_vote_form.rb +0 -49
  419. data/app/helpers/decidim/elections/elections_helper.rb +0 -29
  420. data/app/queries/decidim/elections/votes/election_votes.rb +0 -19
  421. data/app/queries/decidim/elections/votes/user_election_last_vote.rb +0 -26
  422. data/app/queries/decidim/elections/votes/user_votes.rb +0 -19
  423. data/app/views/decidim/elections/elections/_preview.html.erb +0 -26
  424. data/app/views/decidim/elections/elections/_results.html.erb +0 -47
  425. data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +0 -47
  426. data/app/views/decidim/elections/votes/_election_votes_steps_header.html.erb +0 -12
  427. data/app/views/decidim/elections/votes/cast_failed.js.erb +0 -1
  428. data/app/views/decidim/elections/votes/cast_success.js.erb +0 -1
  429. data/app/views/decidim/votings/polling_officer_zone/polling_officers/show.html.erb +0 -42
  430. data/app/views/decidim/votings/polling_officer_zone/polling_stations/show.html.erb +0 -1
  431. data/app/views/decidim/votings/votings/_voting_details.html.erb +0 -7
  432. data/app/views/layouts/decidim/_voting_header.html.erb +0 -16
  433. data/config/locales/ja-JP.yml +0 -216
@@ -135,17 +135,3 @@ el:
135
135
  answers: Απαντήσεις
136
136
  max_selections: Μέγιστες επιλογές
137
137
  title: Τίτλος
138
- pages:
139
- home:
140
- statistics:
141
- elections_count: Εκλογές
142
- participatory_processes:
143
- statistics:
144
- elections_count: Εκλογές
145
- votings:
146
- polling_officer_zone:
147
- polling_officers:
148
- show:
149
- polling_stations:
150
- list:
151
- actions: Ενέργειες
@@ -59,6 +59,12 @@ en:
59
59
  decidim/elections/question:
60
60
  one: Question
61
61
  other: Questions
62
+ decidim/votings/census/dataset:
63
+ one: Dataset
64
+ other: Datasets
65
+ decidim/votings/census/datum:
66
+ one: Datum
67
+ other: Data
62
68
  decidim/votings/polling_officer:
63
69
  one: Polling officer
64
70
  other: Polling officers
@@ -86,6 +92,16 @@ en:
86
92
  name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Search %{collection} by name/email/nickname or polling station.
87
93
  ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont
88
94
  : Search %{collection} by title, address or officer name/email/nickname.
95
+ signed_eq:
96
+ label: Signed
97
+ values:
98
+ 'false': Signed
99
+ 'true': Not signed
100
+ validated_eq:
101
+ label: Validated
102
+ values:
103
+ 'false': Validated
104
+ 'true': Not validated
89
105
  components:
90
106
  elections:
91
107
  actions:
@@ -128,11 +144,13 @@ en:
128
144
  new:
129
145
  create: Create answer
130
146
  title: New answer
147
+ not_selected: Not selected
131
148
  select:
132
149
  disable: Unselect answer
133
150
  enable: Mark answer as selected
134
151
  invalid: There was a problem selecting this answer
135
152
  success: Answer successfully selected
153
+ selected: Selected
136
154
  unselect:
137
155
  invalid: There was a problem unselecting this answer
138
156
  success: Answer successfully unselected
@@ -165,6 +183,8 @@ en:
165
183
  exports:
166
184
  elections: Elections
167
185
  feedback_form_answers: Feedback form answers
186
+ menu:
187
+ trustees: Trustees
168
188
  models:
169
189
  answer:
170
190
  name: Answer
@@ -247,13 +267,25 @@ en:
247
267
  title: Ready to start
248
268
  processing: Processing...
249
269
  results_published:
270
+ answer: Answer
271
+ not_selected: Not selected
272
+ question: Question
273
+ result: Result
274
+ selected: Selected
275
+ submit: Submit
250
276
  title: Results published
251
277
  tally:
252
278
  title: Tally process
253
279
  trustees: Trustees
254
280
  tally_ended:
281
+ answer: Answer
282
+ not_selected: Not selected
283
+ question: Question
284
+ result: Result
285
+ selected: Selected
255
286
  submit: Publish results
256
- title: Results calculated
287
+ success: Publish results request was successfully sent to the Bulletin Board
288
+ title: Calculated results
257
289
  vote:
258
290
  errors:
259
291
  time_after: The election is still ongoing. You have to wait until the ending time (%{end_time}) to end the voting period.
@@ -267,6 +299,7 @@ en:
267
299
  invalid: There was a problem starting the tally
268
300
  submit: Start tally
269
301
  success: Start tally request was successfully sent to the Bulletin Board
302
+ text: Vote has ended. You can start the tally now.
270
303
  title: Vote period ended
271
304
  vote_stats:
272
305
  no_vote_statistics_yet: No vote statistics yet
@@ -298,6 +331,7 @@ en:
298
331
  election:
299
332
  end_vote: "%{user_name} ended the voting period for the %{resource_name} election on the Bulletin Board"
300
333
  publish: "%{user_name} published the %{resource_name} election"
334
+ publish_results: "%{user_name} published the results for the election %{resource_name} on the Bulletin Board"
301
335
  setup: "%{user_name} created the %{resource_name} election on the Bulletin Board"
302
336
  start_key_ceremony: "%{user_name} started the key ceremony for the %{resource_name} election on the Bulletin Board"
303
337
  start_tally: "%{user_name} started the tally for the %{resource_name} election on the Bulletin Board"
@@ -310,6 +344,10 @@ en:
310
344
  upcoming: Upcoming
311
345
  end_date: Ends
312
346
  footer:
347
+ remaining_time:
348
+ one: "<strong>%{count} hour %{minutes} minutes</strong> remaining to vote."
349
+ other: "<strong>%{count} hours %{minutes} minutes</strong> remaining to vote."
350
+ zero: "<strong>%{minutes} minutes</strong> remaining to vote."
313
351
  view: View
314
352
  vote: Vote
315
353
  label:
@@ -322,6 +360,51 @@ en:
322
360
  elections_count:
323
361
  one: "%{count} election"
324
362
  other: "%{count} elections"
363
+ election_log:
364
+ chained_hash: The chained Hash of this message
365
+ complete: Complete
366
+ creation_description:
367
+ complete: The election got created and is successfully set up on the Bulletin Board.
368
+ not_created: The election is not created yet.
369
+ creation_title: Election created
370
+ description: This is the election log where you can check the status of each step, e.g. when the election got created, if the tally process is completed, and when the election is closed.
371
+ download: Download
372
+ key_ceremony_description:
373
+ complete: The key ceremony is completed. Every trustee has valid keys and has downloaded the necessary backup keys.
374
+ not_started: The key ceremony has not started yet.
375
+ started: The key ceremony has started but is not completed yet.
376
+ key_ceremony_title: Key Ceremony
377
+ not_available: Not yet available
378
+ not_created: Not created
379
+ not_published: Not published
380
+ not_ready: Not ready
381
+ not_started: Not started
382
+ published: Published
383
+ results_description:
384
+ not_published: The results are not published yet.
385
+ published: The results are published.
386
+ results_title: Results
387
+ started: Started
388
+ tally_description:
389
+ finished: The tally process is finished.
390
+ not_started: The tally process has not started yet.
391
+ started: The tally process has started.
392
+ tally_title: Tally process
393
+ title: Election Log
394
+ verifiable_results:
395
+ checksum: 'File SHA256 checksum:'
396
+ description:
397
+ not_ready: The verifiable election file and SHA256 checksum aren't available yet. As soon as the results are published, you'll be able to verify this election.
398
+ ready: 'Here, you have the option to verify the election. First, you have to download the file and make sure it has not been corrupted. To do so, run the following command and check that the ouput matches the checksum:'
399
+ how_to_verify: 'Once you downloaded the file and made sure it is ok, you can proceed to run the universal verifier. Clone <a href=''https://github.com/decidim/decidim-bulletin-board''>this repository</a> and, from the root folder, run the following command:'
400
+ title: Verify Election results
401
+ verifiable_file: 'Verifiable election file:'
402
+ verify: Verify election
403
+ vote_description:
404
+ finished: The voting process is finished.
405
+ not_started: The voting process has not started yet.
406
+ started: The voting process has started.
407
+ vote_title: Voting process
325
408
  filters:
326
409
  active: Active
327
410
  all: All
@@ -335,11 +418,12 @@ en:
335
418
  filter_by: Filter by
336
419
  unfold: Unfold
337
420
  preview:
338
- available_answers: Available answers
339
- description: These are the questions you will find in the voting process
421
+ available_answers: 'Available answers:'
422
+ description: 'These are the questions you will find in the voting process:'
340
423
  title: Election questions
341
424
  results:
342
- description: These are the results of the voting, for each question
425
+ description: 'These are the results of the voting, for each question:'
426
+ percentage: "%{count}%"
343
427
  selected: Selected
344
428
  title: Election results
345
429
  votes:
@@ -347,39 +431,45 @@ en:
347
431
  other: "%{count} votes"
348
432
  zero: "%{count} votes"
349
433
  show:
350
- action-button:
351
- change-vote: Change your vote
434
+ action_button:
435
+ change_vote: Change your vote
352
436
  vote: Start voting
353
- vote-again: Vote again
437
+ vote_again: Vote again
354
438
  back: Available elections
355
439
  callout:
356
- already-voted: You have already voted in this election. You can change your vote or verify it.
357
- vote-rejected: It was not possible to verify your vote. Please cast it again.
440
+ already_voted: You have already voted in this election. You can change your vote or verify it.
441
+ pending_vote: Your vote is being casted on the server.
442
+ vote_rejected: It was not possible to verify your vote. Please cast it again.
443
+ election_log: Election log
358
444
  preview: Preview
359
445
  verify:
360
- already-voted: Already voted?
361
- verify-here: Check your vote here.
362
- will-verify: You will be able to verify your vote once the election is started.
446
+ already_voted: Already voted?
447
+ verify_here: Check your vote here.
448
+ will_verify: You will be able to verify your vote once the election is started.
363
449
  voting_period_status:
364
450
  finished: Voting began on %{start_time} and ended on %{end_time}
365
451
  ongoing: 'Active voting until: %{end_time}'
366
452
  upcoming: Voting begins on %{start_time}
367
453
  feedback:
368
454
  answer:
369
- invalid: There was a problem submiting your feedback.
455
+ invalid: There was a problem submitting your feedback.
370
456
  spam_detected: There was a problem answering the form. Maybe you've been too quick, can you try again?
371
457
  success: Feedback successfully sent.
372
458
  models:
373
459
  answer:
374
460
  fields:
375
461
  proposals: Proposals
462
+ selected: Selected
376
463
  title: Title
464
+ votes: Votes
377
465
  election:
378
466
  fields:
379
467
  bb_status: Bulletin Board status
380
468
  end_time: End at
381
469
  start_time: Starts at
382
470
  title: Title
471
+ verifiable_results_file_hash: File SHA256 checksum
472
+ verifiable_results_file_url: Verifiable election file
383
473
  question:
384
474
  fields:
385
475
  answers: Answers
@@ -494,6 +584,16 @@ en:
494
584
  update:
495
585
  success: Your identification public key was successfully stored.
496
586
  votes:
587
+ ballot_decision:
588
+ audit: "( Audit ballot )"
589
+ back: Start voting process again
590
+ ballot_hash: 'Your ballot identifier is:'
591
+ cast: Cast ballot
592
+ description: Here, you have the options to cast your ballot so that it's properly counted or, alternatively, you can audit that your ballot was correctly encrypted. For security reasons, auditing your ballot will spoil it. That means, to cast your vote, you will need to restart the voting process.
593
+ header: 'Ballot is encrypted: cast it or audit it'
594
+ casting:
595
+ header: Casting the vote...
596
+ text: Your ballot is being casted on the ballot box.
497
597
  confirm:
498
598
  answer: Answer
499
599
  answer_number: answer %{number}
@@ -505,25 +605,31 @@ en:
505
605
  question: Question %{count}
506
606
  confirmed:
507
607
  back: Back to elections
508
- error: Sorry, there was an error confirming the vote. Please vote again.
509
608
  experience: How was your experience?
510
609
  feedback: Give us some feedback
511
610
  header: Vote confirmed
512
- lead: Your vote has already been cast!
611
+ lead: Your vote has been cast!
513
612
  text: 'You can check that your vote has been successfully added to the ballot box with the following identifier: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
514
613
  verify_link: To check it, copy the identifier and paste it on the <a href="%{link}">vote verification page</a>
614
+ create:
615
+ error: There was a problem casting the vote. Please, try again.
515
616
  encrypting:
516
- header: Encoding vote...
517
- text: Your vote is being encrypted to ensure you can cast it anonymously.
617
+ header: Encrypting the vote...
618
+ text: Your ballot is being encrypted to ensure the secret of your vote.
518
619
  failed:
519
620
  header: Vote failed
520
621
  lead: Your vote has not been casted!
521
622
  text: Something went wrong, please try it again.
623
+ try_again: Try again
522
624
  header:
625
+ ballot_decision: Cast or audit your vote
626
+ casting: Casting the vote
523
627
  confirm: Confirm your vote
524
628
  confirmed: Vote confirmed
525
- encrypting: Confirming vote
629
+ encrypting: Encrypting the vote
630
+ failed: Vote failed
526
631
  messages:
632
+ invalid_token: Your session in the voting booth is not valid. Try to vote again.
527
633
  not_allowed: You are not allowed to vote on this election at this moment.
528
634
  modal:
529
635
  close: Close
@@ -535,12 +641,14 @@ en:
535
641
  preview_alert: This is a preview of the voting booth.
536
642
  question_steps: Question %{current_step} of %{total_steps}
537
643
  selections: "%{selected} of %{max_selections}<br> selections"
538
- processing:
539
- header: Processing vote...
540
- text: Your vote has been received and it is being processing. Please wait.
644
+ onboarding_modal:
645
+ close: Close modal
646
+ create_account: Create Account
647
+ description: Do you want to create a new account in Decidim? You will be able to participate in the processes and be an active part of the organization.
648
+ no_account: No, thanks.
649
+ title: New to Decidim?
541
650
  update:
542
- error: There was a problem updating the vote status
543
- success: Vote status successfully updated
651
+ error: There was a problem updating the vote status. Please, vote again.
544
652
  verify:
545
653
  content:
546
654
  heading: Verify your vote
@@ -594,6 +702,9 @@ en:
594
702
  email_outro: You have received this notification because you have been assigned as %{role} of %{polling_station_name}.
595
703
  email_subject: You are %{role} of the Polling Station %{polling_station_name}.
596
704
  notification_title: You are %{role} of the Polling Station %{polling_station_name} in the voting <a href="%{resource_path}">%{resource_title}</a>.
705
+ send_access_code:
706
+ instruction: 'Here is your Access Code that you asked for: %{access_code}. With this you will be able to participate in %{voting}.'
707
+ subject: Your Access Code to participate in %{voting}
597
708
  help:
598
709
  participatory_spaces:
599
710
  votings:
@@ -602,15 +713,42 @@ en:
602
713
  title: What are votings?
603
714
  menu:
604
715
  votings: Votings
605
- pages:
606
- home:
607
- statistics:
608
- elections_count: Elections
609
- participatory_processes:
610
- statistics:
611
- elections_count: Elections
716
+ statistics:
717
+ elections_count: Elections
718
+ votings_count: Votings
612
719
  votings:
613
720
  admin:
721
+ ballot_styles:
722
+ create:
723
+ error: There was a problem creating this ballot style
724
+ success: Ballot style successfully created
725
+ destroy:
726
+ invalid: There was a problem deleting this ballot style
727
+ success: Ballot style successfully deleted
728
+ edit:
729
+ title: Edit ballot style
730
+ update: Update
731
+ form:
732
+ code_help: 'Hint: the code is the link between the census and a ballot style. When uploading the census data, every entry will be assigned a ballot style by matching the code'
733
+ election: Election
734
+ questions: Questions for this ballot style
735
+ questions_help: 'Hint: select the questions from the election components to be presented to the voters assigned to this ballot style'
736
+ index:
737
+ actions:
738
+ confirm_destroy: Are you sure?
739
+ destroy: Delete
740
+ edit: Edit
741
+ new: New
742
+ title: Actions
743
+ associated_census_data: Associated census entries
744
+ explanation_callout: A ballot style specifies what questions a voter will be presented in the booth. In a ballot style, you can choose what questions from this voting's election components belong to a ballot. The ballot style code is used to match a voter from the census with the ballot they will be presented in the booth. Don't create any ballot style if you always want to present all the questions.
745
+ title: Ballot Styles
746
+ new:
747
+ create: Create
748
+ title: Create ballot style
749
+ update:
750
+ invalid: There was a problem updating this ballot style
751
+ success: Ballot style successfully updated
614
752
  content_blocks:
615
753
  highlighted_votings:
616
754
  max_results: Maximum amount of elements to show
@@ -653,13 +791,23 @@ en:
653
791
  attachment_collections: Folders
654
792
  attachment_files: Files
655
793
  attachments: Attachments
794
+ ballot_styles: Ballot Styles
795
+ census: Census
656
796
  components: Components
657
797
  info: Information
658
798
  landing_page: Landing Page
659
- monitoring_committee_members: Monitoring Committee
799
+ monitoring_committee: Monitoring Committee
800
+ monitoring_committee_election_results: Validate Results
801
+ monitoring_committee_members: Members
802
+ monitoring_committee_polling_station_closures: Validate Certificates
803
+ monitoring_committee_verify_elections: Verify Elections
660
804
  polling_officers: Polling Officers
661
805
  polling_stations: Polling Stations
662
806
  models:
807
+ ballot_style:
808
+ fields:
809
+ code: Code
810
+ name: Ballot Style
663
811
  monitoring_committee_member:
664
812
  fields:
665
813
  email: Email
@@ -684,6 +832,33 @@ en:
684
832
  promoted: Highlighted
685
833
  published: Published
686
834
  title: Title
835
+ monitoring_committee_election_results:
836
+ actions:
837
+ title: Actions
838
+ view: View
839
+ index:
840
+ title: Choose an election you want to see the results for
841
+ results:
842
+ bulletin_board: Bulletin Board
843
+ election_totals: Election totals
844
+ polling_stations: Polling stations
845
+ result_types:
846
+ blank_answers: Blank answers
847
+ blank_ballots: Blank ballots
848
+ null_ballots: Null ballots
849
+ total_ballots: Total ballots
850
+ valid_ballots: Valid ballots
851
+ selected: Selected
852
+ title: Results for the election <i>%{election_title}</i>
853
+ totals: Totals
854
+ show:
855
+ change_election: Change election
856
+ publish_results: Publish results
857
+ publishing: Publishing results...
858
+ update:
859
+ invalid: There was a problem publishing the results
860
+ rejected: The publication of the results was rejected by the Bulletin Board. Try again or contact the system administrator.
861
+ success: The results were successfully published
687
862
  monitoring_committee_members:
688
863
  create:
689
864
  invalid: There was a problem creating this monitoring committee member
@@ -701,6 +876,38 @@ en:
701
876
  new:
702
877
  create: Create
703
878
  title: Create monitoring committee member
879
+ monitoring_committee_polling_station_closures:
880
+ actions:
881
+ title: Actions
882
+ validate: Validate
883
+ view: View
884
+ closures:
885
+ change_election: Change election
886
+ signed: Signed?
887
+ title: Polling Stations for the election <i>%{election_title}</i>
888
+ validated: Validated?
889
+ edit:
890
+ change_polling_station: Back to Polling Stations
891
+ monitoring_committee_notes: Remarks
892
+ monitoring_committee_notes_placeholder: Report any incidence here
893
+ title: Results for the election <i>%{election_title}</i> in the polling station <i>%{polling_station_title}</i>
894
+ elections:
895
+ title: Choose an election you want to validate
896
+ show:
897
+ change_polling_station: Back to Polling Stations
898
+ monitoring_committee_notes: Remarks from the Monitoring Committee
899
+ validate:
900
+ error: There was a problem validating the closure
901
+ success: The closure has been validated correctly
902
+ monitoring_committee_verify_elections:
903
+ index:
904
+ download: Download
905
+ how_to_checksum: 'To make sure the file you downloaded has not been corrupted or tampered with during the download process, run the following command in your console and check that the output matches the checksum reported above:'
906
+ how_to_download: To verify an election, download its verifiable file from the table above.
907
+ how_to_run_verifier: 'Once you downloaded the file and made sure it is ok, you can proceed to run the universal verifier. Clone <a href=''https://github.com/decidim/decidim-bulletin-board''>this repository</a> and, from the root folder, run the following command:'
908
+ how_to_title: How to verify the validity of an election
909
+ not_available: Not yet avaliable
910
+ title: Elections
704
911
  polling_officers:
705
912
  create:
706
913
  invalid: There was a problem creating this polling officer
@@ -767,6 +974,7 @@ en:
767
974
  assign_missing_officers: There are Polling Stations without President and/or Managers. Please assign them from the Polling stations section
768
975
  update: Update
769
976
  form:
977
+ census_contact_information_help: This contact information is for a participant who wants to report issues with the census. It can be an email address, a contact form on another site, a Decidim survey for visitors, etc.
770
978
  select_a_voting_type: Please select a voting type
771
979
  slug_help: 'URL slugs are used to generate the URLs that point to this voting. Only accepts letters, numbers and dashes, and must start with a letter. Example: %{url}'
772
980
  title: Title
@@ -789,9 +997,84 @@ en:
789
997
  create: "%{user_name} created the %{resource_name} voting"
790
998
  publish: "%{user_name} published the %{resource_name} voting"
791
999
  unpublish: "%{user_name} unpublished the %{resource_name} voting"
1000
+ census:
1001
+ admin:
1002
+ census:
1003
+ create:
1004
+ invalid: An error occurred uploading the census, please try again later.
1005
+ invalid_csv_header: The CSV header does not have the correct number of fields - please read the instructions carefully
1006
+ creating_data:
1007
+ info_message: "<strong>Please wait</strong>, processed %{processed_count} of %{raw_count} rows from %{file} file."
1008
+ delete:
1009
+ button: Delete all census data
1010
+ confirm: Delete all the census can not be undone. Are you sure you want to continue?
1011
+ destroy:
1012
+ error: An error occurred deleting the census, please try again later.
1013
+ success: Census data deleted
1014
+ export_access_codes:
1015
+ button: Export voting Access Codes
1016
+ callout: You can now proceed to export the access codes. This can only be done once. Once you launch the exportation, you will receive an email with the instructions to <strong>%{email}</strong>
1017
+ confirm: You can only export the access codes once. Make sure you have access to the email account <strong>%{email}</strong>.
1018
+ file_not_exists: This file does not exists
1019
+ launch_error: Problem launching the access codes export
1020
+ launch_success: Access codes export launched. Shortly you will receive an email to %{email}
1021
+ exporting_access_codes:
1022
+ info_message: "<strong>Please wait</strong>, the export is being prepared, you will receive it shortly to %{email}"
1023
+ freeze:
1024
+ callout: The census is frozen and cannot be modified.
1025
+ generate_access_codes:
1026
+ button: Generate voting Access Codes
1027
+ callout: You can now proceed to generate the access codes. Mind that after generating the access codes you will not be able to modify the census anymore.
1028
+ confirm: If you continue, you will not be able to modify the census.
1029
+ info_message_all: "<strong>All rows imported successfully</strong> from %{file} file (%{raw_count} of %{data_count})."
1030
+ info_message_warn: Please check that no data is missing, because %{data_count} records were created and the uploaded file %{file} had %{raw_count} rows.
1031
+ launch_error: Problem launching the access codes generation
1032
+ launch_success: Codes generation launched.
1033
+ generating_access_codes:
1034
+ info_message: "<strong>Please wait</strong>, the voting access codes are being generated..."
1035
+ new:
1036
+ file_help:
1037
+ explanation: 'Guidance for file:'
1038
+ message_1: Only CSV (.csv) files are allowed.
1039
+ message_2: The separator between columns must be a semicolon (";").
1040
+ has_ballot_styles_message: You set up Ballot Styles. Please make sure that the "%{ballot_style_code_header}" field in the CSV corresponds to the desired Ballot Style's code.
1041
+ info_message: "<strong>There is no census yet.</strong> Please use the form below to create it importing a CSV file."
1042
+ missing_ballot_styles_message: 'There is no Ballot Style for this voting yet. If you wish to have conditional questions (i.e.: present the voter with different questions depending on, e.g., the district/region of residence), you need to set up the <a href=%{ballot_styles_admin_path}>Ballot Styles</a> <strong>before</strong> importing the census. If you want to present all voters with the same questions, you can proceed with the census import procedure.'
1043
+ submit: Submit csv
1044
+ title: Create the census
1045
+ show:
1046
+ heading: Voting space census
1047
+ upload_info:
1048
+ csv_example_with_ballot_style: 'An example of the file <strong>with</strong> ballot styles:'
1049
+ csv_example_without_ballot_style: 'An example of the file <strong>without</strong> ballot styles:'
1050
+ csv_header_after: Do not include the last field ("%{ballot_style_code_header}") if you do not need ballot styles/conditional questions
1051
+ csv_header_before: 'The census file must be a CSV file with the following header:'
1052
+ document_types:
1053
+ dni: DNI
1054
+ nie: NIE
1055
+ passport: Passport
1056
+ export_mailer:
1057
+ access_codes_export:
1058
+ click_button: 'Click the next link to download the access codes data.<br/>The file will be available until %{date}.<br/>You will need <a href="https://www.7-zip.org/">7-Zip</a> (for Windows), <a href="https://www.keka.io/en/">Keka</a> (for MacOS) or <a href="https://peazip.github.io">PeaZip</a> (for Linux) to open it. Password: %{password}'
1059
+ download: Download
1060
+ subject: The export of the voting access codes for %{voting_title} is available
1061
+ vote_flow:
1062
+ already_voted_in_person: This participant has already voted in person and is not entitled to vote.
1063
+ datum_not_found: The given data doesn't match any voter.
792
1064
  content_blocks:
793
1065
  highlighted_votings:
794
1066
  name: Highlighted votings
1067
+ landing_page:
1068
+ description:
1069
+ show_less: Read less
1070
+ show_more: Read more
1071
+ metrics:
1072
+ heading: Metrics
1073
+ polling_stations:
1074
+ heading: Polling stations
1075
+ no_polling_stations: There are no polling stations yet.
1076
+ timeline:
1077
+ heading: Timeline
795
1078
  monitoring_committee_members:
796
1079
  actions:
797
1080
  confirm_destroy: Are you sure?
@@ -805,23 +1088,124 @@ en:
805
1088
  see_all_votings: See all votings
806
1089
  votings_button_title: Link to the Votings page displaying all the votings
807
1090
  polling_officer_zone:
1091
+ closures:
1092
+ back_to_polling_stations: Back to polling stations
1093
+ certify:
1094
+ add_images: Add images
1095
+ error: An error occurred attaching the certificate, please try again.
1096
+ form_legend: Upload a picture of the Electoral Closure Certificate
1097
+ heading: Vote recount - Upload certificate
1098
+ info_text: Please upload a picture of the Electoral Closure Certificate.
1099
+ submit: Upload the certificate
1100
+ success: Certificate uploaded successfully.
1101
+ create:
1102
+ error: An error occurred creating the closure, please try again later.
1103
+ success: Closure successfully created.
1104
+ edit:
1105
+ heading: Vote recount - Answers recount
1106
+ info_text: Please introduce the total number of answers for each question.
1107
+ modal_ballots_results_count_error:
1108
+ close_modal: Close
1109
+ info_text: The total number of ballots doesn't match the total number of envelopes. Please review the total of ballots.
1110
+ title: Total of ballots do not add up
1111
+ save_recount: Save recount
1112
+ total_ballots: Total ballots
1113
+ total_blank_ballots: Total blank ballots
1114
+ total_null_ballots: Total null ballots
1115
+ total_valid_ballots: Total valid ballots
1116
+ new:
1117
+ election: 'Election:'
1118
+ heading: Vote recount
1119
+ info_text: 'Please introduce the total number of ballots (envelopes) recounted in this Polling Station:'
1120
+ modal_ballots_count_error:
1121
+ btn_validate_total: Validate total recount of ballots
1122
+ close_modal: Close
1123
+ info_explanation_text: 'Please review the total number of ballots. If the total number is correct, you must provide an explanation for the Monitoring Committee:'
1124
+ info_text: The total number of ballots (envelopes) introduced doesn't match the record of people that has voted in this Polling Station.
1125
+ message_for_monitoring_committee: Message for the Monitoring Committee
1126
+ review_recount: Review the recount
1127
+ text_area_placeholder: Please type your message
1128
+ title: Total records do not add up
1129
+ total_ballots: 'Total of ballots:'
1130
+ total_people: 'Total people:'
1131
+ polling_station: 'Polling station:'
1132
+ submit: Verify total number
1133
+ total_ballots_count: Number of ballots
1134
+ show:
1135
+ heading: Vote recount
1136
+ info_text: Polling station electoral closure.
1137
+ sign:
1138
+ cancel: Cancel
1139
+ check_box: I've reviewed this and is the same as the physical electoral closure certificate
1140
+ close_modal: Close
1141
+ confirm: Ok, continue
1142
+ error: An error occurred, please try again.
1143
+ heading: Vote recount - Sign closure
1144
+ info_text: If you continue you can no longer modify any of the information, this action can't be undone.
1145
+ submit: Sign the closure
1146
+ success: Closure signed successfully.
1147
+ title: Action can't be undone
1148
+ update:
1149
+ error: An error occurred updating the closure results, please try again later.
1150
+ success: Closure results successfully updated.
1151
+ in_person_votes:
1152
+ complete_voting:
1153
+ available_answers: 'Available answers:'
1154
+ census_verified: The participant has not voted yet.
1155
+ complete_voting: Complete voting
1156
+ identify_another: Identify another participant
1157
+ questions_title: 'She is entitled to vote in the following questions:'
1158
+ questions_title_voted: 'The participant has already voted online and is entitled to vote in the following questions:'
1159
+ voted: The participant has voted
1160
+ create:
1161
+ error: The vote was not registered. Please try again.
1162
+ in_person_form:
1163
+ census_not_present: This participant is not listed in the census.
1164
+ census_not_present_description: She must go to the census complaint office or contact support.
1165
+ date_of_birth: Date of birth
1166
+ day: Day
1167
+ day_placeholder: DD
1168
+ document_number: Document number
1169
+ document_number_placeholder: ID number
1170
+ month: Month
1171
+ month_placeholder: MM
1172
+ select: Select the type of the document
1173
+ title: 'Select the document type and enter the participant''s document number:'
1174
+ validate_document: Validate document
1175
+ year: Year
1176
+ year_placeholder: YYYY
1177
+ new:
1178
+ back: Back to polling stations
1179
+ title: Identify and verify a participant
1180
+ show:
1181
+ back: Back to polling stations
1182
+ title: Waiting for the in person vote to be registered
1183
+ update:
1184
+ error: There was an error registering the vote. Please, try again.
1185
+ success:
1186
+ accepted: The vote was registered successfully.
1187
+ rejected: The vote was not accepted by the Bulletin Board. Please, contact the system administrator.
1188
+ verify_document:
1189
+ census_present: This participant is listed in the census.
1190
+ name: Name
1191
+ title: 'Check that the following data is correct:'
1192
+ verify_document: Verify document
808
1193
  menu:
809
1194
  polling_officer_zone: Polling Officer zone
810
1195
  polling_officers:
811
- show:
812
- actions:
813
- count_votes: Count the votes in the ballot box
814
- identify_person: Identify and verify a person
1196
+ index:
815
1197
  polling_officer_role_description: You have been assigned to act as a Polling Station Officer (President or Manager) in some of the elections celebrated in this platform.
816
- polling_stations:
817
- list:
818
- actions: Actions
819
- address: Address
820
- name: Name
821
- role: Your role
822
- voting: Voting
1198
+ polling_station:
1199
+ address: Address
1200
+ count_votes: Count votes
1201
+ election: Election
1202
+ identify_person: Identify a person
1203
+ name: Name
823
1204
  no_polling_stations: You are not assigned to any Polling Station yet.
1205
+ role: Your role
1206
+ show_closure: View closure
824
1207
  title: Polling Stations
1208
+ voting: Voting
825
1209
  polling_officers:
826
1210
  actions:
827
1211
  confirm_destroy: Are you sure?
@@ -832,6 +1216,16 @@ en:
832
1216
  manager: Manager
833
1217
  president: President
834
1218
  unassigned: Unassigned
1219
+ polling_station_closure_recount:
1220
+ nota_option: Blank/ None of the above
1221
+ polling_officer_notes: 'Polling officer notes:'
1222
+ polling_officer_notes_blank: There are no notes
1223
+ recount_summary: 'Recount summary:'
1224
+ signed: Signed
1225
+ total_ballots: 'Total ballots:'
1226
+ total_blank_ballots: 'Total blank ballots:'
1227
+ total_null_ballots: 'Total null ballots:'
1228
+ total_valid_ballots: 'Total valid ballots:'
835
1229
  polling_stations:
836
1230
  actions:
837
1231
  confirm_destroy: Are you sure?
@@ -840,10 +1234,48 @@ en:
840
1234
  new: New
841
1235
  title: Actions
842
1236
  votings:
1237
+ access_code_modal:
1238
+ email: Send by email to %{email}
1239
+ info: You need an Access Code to participate. If you didn't get one by postal mail, we can send you a new one.
1240
+ no_email: No email available
1241
+ no_sms: No phone number available
1242
+ sms: Send by SMS to %{sms}
1243
+ title: Get Access Code
1244
+ check_census:
1245
+ check_status: Check status
1246
+ description: Here, you have the option to check your census data to know if you have the right to participate in this voting. You should have an access code already but if you lost it, you can ask for it again, when your data is correct.
1247
+ error:
1248
+ info: 'Please try again. If you think the data in the system is incorrect, you can report it here: %{census_contact_information}.'
1249
+ title: Your census data is incorrect!
1250
+ form_title: 'Fill the following form to check your census data:'
1251
+ invalid: There was a problem checking the census.
1252
+ success:
1253
+ access_link: via SMS or email.
1254
+ info: You should have received your Access Code by postal mail already. In case, you don't have it, you can request it here
1255
+ title: Your census data is correct!
1256
+ title: Can I vote?
1257
+ check_fields:
1258
+ date_of_birth: Date of birth
1259
+ day: Day
1260
+ day_placeholder: DD
1261
+ document_number: Document number
1262
+ document_number_placeholder: ID number
1263
+ month: Month
1264
+ month_placeholder: MM
1265
+ postal_code: Postal code
1266
+ postal_code_placeholder: Postal code number
1267
+ select: Select the type of the document
1268
+ year: Year
1269
+ year_placeholder: YYYY
843
1270
  count:
844
1271
  title:
845
1272
  one: "%{count} voting"
846
1273
  other: "%{count} votings"
1274
+ elections_log:
1275
+ bb_status: Election status
1276
+ description: The election log will show you all relevant information about each voting. For example, the status of the key ceremony or tally or if results are published already. Click on the election you want the log information about.
1277
+ election_log: Election Log
1278
+ title: Election log
847
1279
  filters:
848
1280
  active: Active
849
1281
  all: All
@@ -860,10 +1292,23 @@ en:
860
1292
  no_votings: No voting matches your search criteria.
861
1293
  only_finished: Currently, there are no scheduled votings, but here you can find the finished votings listed.
862
1294
  title: Votings
1295
+ login:
1296
+ access_code: Access code
1297
+ access_code_placeholder: Access code
1298
+ ask_for_a_new_one: Ask for a new one.
1299
+ dont_have_access_code: Don't have an access code?
1300
+ form_title: 'Fill the following form to access the voting:'
1301
+ start_voting: Start voting
1302
+ step: Identification
1303
+ title: Identify myself with my voting census data
1304
+ no_census_contact_information: There's no contact information yet
863
1305
  orders:
864
1306
  label: 'Sort votings by:'
865
1307
  random: Random
866
1308
  recent: Most recent
1309
+ send_access_code:
1310
+ invalid: There was a problem sending the Access Code
1311
+ success: Your Access Code got send successfully
867
1312
  show:
868
1313
  dates: Dates
869
1314
  votings_m:
@@ -885,6 +1330,10 @@ en:
885
1330
  decidim:
886
1331
  election_votes_header:
887
1332
  exit: Exit
1333
+ voting_navigation:
1334
+ check_census: Can I vote?
1335
+ election_log: Election log
1336
+ voting_menu_item: The voting
888
1337
  votings:
889
1338
  index:
890
1339
  promoted_votings: Highlighted votings