decidim-elections 0.23.5 → 0.24.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (326) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/app/assets/config/admin/decidim_votings_manifest.css +0 -0
  4. data/app/assets/config/admin/decidim_votings_manifest.js +4 -0
  5. data/app/assets/config/decidim_elections_manifest.css +3 -0
  6. data/app/assets/config/decidim_elections_manifest.js +6 -0
  7. data/app/assets/config/decidim_votings_manifest.css +3 -0
  8. data/app/assets/config/decidim_votings_manifest.js +0 -0
  9. data/app/assets/images/decidim/votings/icon.svg +1 -0
  10. data/app/assets/javascripts/decidim/elections/admin/pending_action.js.es6 +16 -0
  11. data/app/assets/javascripts/decidim/elections/admin/vote_statistics.js.es6 +11 -0
  12. data/app/assets/javascripts/decidim/elections/trustee_zone.js.es6 +54 -0
  13. data/app/assets/javascripts/decidim/elections/trustee_zone/key_ceremony.js.es6 +126 -0
  14. data/app/assets/javascripts/decidim/elections/trustee_zone/tally.js.es6 +104 -0
  15. data/app/assets/javascripts/decidim/elections/vote.js.es6 +107 -160
  16. data/app/assets/javascripts/decidim/elections/vote_questions.component.js.es6 +129 -0
  17. data/app/assets/javascripts/decidim/elections/vote_verify.js.es6 +71 -0
  18. data/app/assets/javascripts/decidim/votings/admin/monitoring_committee_members_form.js.es6 +35 -0
  19. data/app/assets/javascripts/decidim/votings/admin/polling_officers_form.js.es6 +35 -0
  20. data/app/assets/javascripts/decidim/votings/admin/polling_officers_picker.js.es6 +35 -0
  21. data/app/assets/javascripts/decidim/votings/admin/polling_stations_form.js.es6 +5 -0
  22. data/app/assets/stylesheets/decidim/elections/elections.scss +0 -4
  23. data/app/assets/stylesheets/decidim/elections/focus/_accordion.scss +36 -0
  24. data/app/assets/stylesheets/decidim/elections/focus/_evote.scss +58 -0
  25. data/app/assets/stylesheets/decidim/elections/trustee_zone.scss +24 -0
  26. data/app/assets/stylesheets/decidim/votings/votings.scss +1 -0
  27. data/app/assets/stylesheets/decidim/votings/votings/_votings-header.scss +99 -0
  28. data/app/assets/stylesheets/decidim/votings/votings/_votings-home-banner.scss +11 -0
  29. data/app/cells/decidim/votings/content_block_cell.rb +17 -0
  30. data/app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb +30 -0
  31. data/app/cells/decidim/votings/content_blocks/highlighted_votings_cell.rb +33 -0
  32. data/app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form/show.erb +3 -0
  33. data/app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form_cell.rb +19 -0
  34. data/app/cells/decidim/votings/content_blocks/landing_page/attachments_and_folders_cell.rb +15 -0
  35. data/app/cells/decidim/votings/content_blocks/landing_page/description_cell.rb +15 -0
  36. data/app/cells/decidim/votings/content_blocks/landing_page/elections_cell.rb +15 -0
  37. data/app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb +15 -0
  38. data/app/cells/decidim/votings/content_blocks/landing_page/metrics_cell.rb +15 -0
  39. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations_cell.rb +15 -0
  40. data/app/cells/decidim/votings/content_blocks/landing_page/stats_cell.rb +15 -0
  41. data/app/cells/decidim/votings/content_blocks/landing_page/timeline_cell.rb +15 -0
  42. data/app/cells/decidim/votings/polling_officers/polling_officers_picker/polling_officers.erb +12 -0
  43. data/app/cells/decidim/votings/polling_officers/polling_officers_picker/show.erb +14 -0
  44. data/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb +73 -0
  45. data/app/cells/decidim/votings/voting_cell.rb +19 -0
  46. data/app/cells/decidim/votings/voting_m/data.erb +21 -0
  47. data/app/cells/decidim/votings/voting_m/footer.erb +5 -0
  48. data/app/cells/decidim/votings/voting_m_cell.rb +94 -0
  49. data/app/commands/decidim/elections/admin/add_user_as_trustee.rb +81 -0
  50. data/app/commands/decidim/elections/admin/create_election.rb +2 -1
  51. data/app/commands/decidim/elections/admin/end_vote.rb +63 -0
  52. data/app/commands/decidim/elections/admin/publish_results.rb +59 -0
  53. data/app/commands/decidim/elections/admin/remove_trustee_from_participatory_space.rb +37 -0
  54. data/app/commands/decidim/elections/admin/setup_election.rb +160 -0
  55. data/app/commands/decidim/elections/admin/start_key_ceremony.rb +63 -0
  56. data/app/commands/decidim/elections/admin/start_tally.rb +63 -0
  57. data/app/commands/decidim/elections/admin/start_vote.rb +63 -0
  58. data/app/commands/decidim/elections/admin/update_action_status.rb +47 -0
  59. data/app/commands/decidim/elections/admin/update_answer_selection.rb +41 -0
  60. data/app/commands/decidim/elections/admin/update_trustee_participatory_space.rb +40 -0
  61. data/app/commands/decidim/elections/trustee_zone/update_election_bulletin_board_status.rb +39 -0
  62. data/app/commands/decidim/elections/trustee_zone/update_trustee.rb +41 -0
  63. data/app/commands/decidim/elections/voter/cast_vote.rb +59 -0
  64. data/app/commands/decidim/elections/voter/update_vote_status.rb +70 -0
  65. data/app/commands/decidim/votings/admin/create_monitoring_committee_member.rb +99 -0
  66. data/app/commands/decidim/votings/admin/create_polling_officer.rb +99 -0
  67. data/app/commands/decidim/votings/admin/create_polling_station.rb +59 -0
  68. data/app/commands/decidim/votings/admin/create_voting.rb +59 -0
  69. data/app/commands/decidim/votings/admin/destroy_monitoring_committee_member.rb +51 -0
  70. data/app/commands/decidim/votings/admin/destroy_polling_officer.rb +52 -0
  71. data/app/commands/decidim/votings/admin/destroy_polling_station.rb +40 -0
  72. data/app/commands/decidim/votings/admin/manage_polling_station.rb +64 -0
  73. data/app/commands/decidim/votings/admin/publish_voting.rb +40 -0
  74. data/app/commands/decidim/votings/admin/unpublish_voting.rb +40 -0
  75. data/app/commands/decidim/votings/admin/update_polling_station.rb +50 -0
  76. data/app/commands/decidim/votings/admin/update_voting.rb +85 -0
  77. data/app/constraints/decidim/votings/current_component.rb +28 -0
  78. data/app/constraints/decidim/votings/current_voting.rb +43 -0
  79. data/app/controllers/concerns/decidim/elections/orderable.rb +2 -2
  80. data/app/controllers/concerns/decidim/polling_officers/admin/filterable.rb +58 -0
  81. data/app/controllers/concerns/decidim/polling_stations/admin/filterable.rb +57 -0
  82. data/app/controllers/concerns/decidim/votings/admin/filterable.rb +27 -0
  83. data/app/controllers/concerns/decidim/votings/admin/voting_admin.rb +48 -0
  84. data/app/controllers/concerns/decidim/votings/needs_voting.rb +44 -0
  85. data/app/controllers/concerns/decidim/votings/orderable.rb +32 -0
  86. data/app/controllers/decidim/elections/admin/answers_controller.rb +32 -0
  87. data/app/controllers/decidim/elections/admin/elections_controller.rb +2 -2
  88. data/app/controllers/decidim/elections/admin/feedback_forms_controller.rb +55 -0
  89. data/app/controllers/decidim/elections/admin/steps_controller.rb +96 -0
  90. data/app/controllers/decidim/elections/admin/trustees_participatory_spaces_controller.rb +89 -0
  91. data/app/controllers/decidim/elections/elections_controller.rb +5 -1
  92. data/app/controllers/decidim/elections/feedbacks_controller.rb +38 -0
  93. data/app/controllers/decidim/elections/trustee_zone/application_controller.rb +45 -0
  94. data/app/controllers/decidim/elections/trustee_zone/elections_controller.rb +35 -0
  95. data/app/controllers/decidim/elections/trustee_zone/trustees_controller.rb +36 -0
  96. data/app/controllers/decidim/elections/votes_controller.rb +54 -2
  97. data/app/controllers/decidim/votings/admin/application_controller.rb +26 -0
  98. data/app/controllers/decidim/votings/admin/component_permissions_controller.rb +13 -0
  99. data/app/controllers/decidim/votings/admin/components_controller.rb +15 -0
  100. data/app/controllers/decidim/votings/admin/monitoring_committee_members_controller.rb +62 -0
  101. data/app/controllers/decidim/votings/admin/polling_officers_controller.rb +66 -0
  102. data/app/controllers/decidim/votings/admin/polling_stations_controller.rb +92 -0
  103. data/app/controllers/decidim/votings/admin/voting_attachment_collections_controller.rb +22 -0
  104. data/app/controllers/decidim/votings/admin/voting_attachments_controller.rb +21 -0
  105. data/app/controllers/decidim/votings/admin/votings_controller.rb +124 -0
  106. data/app/controllers/decidim/votings/admin/votings_landing_page_content_blocks_controller.rb +44 -0
  107. data/app/controllers/decidim/votings/admin/votings_landing_page_controller.rb +46 -0
  108. data/app/controllers/decidim/votings/application_controller.rb +26 -0
  109. data/app/controllers/decidim/votings/polling_officer_zone/application_controller.rb +33 -0
  110. data/app/controllers/decidim/votings/polling_officer_zone/polling_officers_controller.rb +17 -0
  111. data/app/controllers/decidim/votings/polling_officer_zone/polling_stations_controller.rb +22 -0
  112. data/app/controllers/decidim/votings/votings_controller.rb +98 -0
  113. data/app/events/decidim/elections/trustees/notify_new_trustee_event.rb +28 -0
  114. data/app/events/decidim/elections/trustees/notify_trustee_new_election_event.rb +14 -0
  115. data/app/events/decidim/elections/votes/vote_accepted_event.rb +24 -0
  116. data/app/events/decidim/votings/polling_officers/polling_station_assigned_event.rb +44 -0
  117. data/app/forms/decidim/elections/admin/action_form.rb +34 -0
  118. data/app/forms/decidim/elections/admin/answer_form.rb +3 -2
  119. data/app/forms/decidim/elections/admin/election_form.rb +3 -2
  120. data/app/forms/decidim/elections/admin/setup_form.rb +79 -0
  121. data/app/forms/decidim/elections/admin/trustees_participatory_space_form.rb +22 -0
  122. data/app/forms/decidim/elections/admin/vote_period_form.rb +37 -0
  123. data/app/forms/decidim/elections/ballot/verify_vote_form.rb +29 -0
  124. data/app/forms/decidim/elections/trustee_zone/trustee_form.rb +26 -0
  125. data/app/forms/decidim/elections/voter/encrypted_vote_form.rb +49 -0
  126. data/app/forms/decidim/votings/admin/monitoring_committee_member_form.rb +27 -0
  127. data/app/forms/decidim/votings/admin/polling_officer_form.rb +27 -0
  128. data/app/forms/decidim/votings/admin/polling_station_form.rb +58 -0
  129. data/app/forms/decidim/votings/admin/voting_form.rb +71 -0
  130. data/app/helpers/decidim/elections/admin/answers_helper.rb +19 -0
  131. data/app/helpers/decidim/elections/admin/steps_helper.rb +23 -0
  132. data/app/helpers/decidim/elections/admin/trustees_participatory_spaces_helper.rb +31 -0
  133. data/app/helpers/decidim/elections/elections_helper.rb +29 -0
  134. data/app/helpers/decidim/votings/admin/polling_officers_picker_helper.rb +29 -0
  135. data/app/helpers/decidim/votings/votings_helper.rb +20 -0
  136. data/app/models/decidim/elections/action.rb +13 -0
  137. data/app/models/decidim/elections/election.rb +54 -3
  138. data/app/models/decidim/elections/elections_trustee.rb +11 -0
  139. data/app/models/decidim/elections/question.rb +19 -0
  140. data/app/models/decidim/elections/trustee.rb +26 -0
  141. data/app/models/decidim/elections/trustees_participatory_space.rb +13 -0
  142. data/app/models/decidim/elections/vote.rb +15 -0
  143. data/app/models/decidim/votings/monitoring_committee_member.rb +24 -0
  144. data/app/models/decidim/votings/polling_officer.rb +76 -0
  145. data/app/models/decidim/votings/polling_station.rb +64 -0
  146. data/app/models/decidim/votings/voting.rb +138 -0
  147. data/app/permissions/decidim/elections/admin/permissions.rb +50 -10
  148. data/app/permissions/decidim/elections/permissions.rb +20 -2
  149. data/app/permissions/decidim/elections/trustee_zone/permissions.rb +32 -0
  150. data/app/permissions/decidim/votings/admin/permissions.rb +127 -0
  151. data/app/permissions/decidim/votings/permissions.rb +40 -0
  152. data/app/permissions/decidim/votings/polling_officer_zone/permissions.rb +32 -0
  153. data/app/presenters/decidim/elections/admin_log/election_presenter.rb +1 -1
  154. data/app/presenters/decidim/elections/trustee_presenter.rb +24 -0
  155. data/app/presenters/decidim/votings/admin_log/voting_presenter.rb +45 -0
  156. data/app/presenters/decidim/votings/polling_station_presenter.rb +27 -0
  157. data/app/presenters/decidim/votings/voting_presenter.rb +36 -0
  158. data/app/queries/decidim/elections/admin/pending_actions.rb +20 -0
  159. data/app/queries/decidim/elections/admin/votes_for_statistics.rb +24 -0
  160. data/app/queries/decidim/elections/elections_finished_to_end.rb +19 -0
  161. data/app/queries/decidim/elections/elections_ready_to_start.rb +25 -0
  162. data/app/queries/decidim/elections/trustees/by_participatory_space.rb +24 -0
  163. data/app/queries/decidim/elections/trustees/by_participatory_space_trustee_ids.rb +24 -0
  164. data/app/queries/decidim/elections/votes/election_votes.rb +19 -0
  165. data/app/queries/decidim/elections/votes/pending_votes.rb +20 -0
  166. data/app/queries/decidim/elections/votes/user_election_last_vote.rb +26 -0
  167. data/app/queries/decidim/elections/votes/user_votes.rb +19 -0
  168. data/app/queries/decidim/votings/admin/admin_users.rb +39 -0
  169. data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations.rb +33 -0
  170. data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations_and_user.rb +34 -0
  171. data/app/queries/decidim/votings/admin/polling_officers_join_user.rb +32 -0
  172. data/app/queries/decidim/votings/organization_prioritized_votings.rb +21 -0
  173. data/app/queries/decidim/votings/organization_promoted_votings.rb +16 -0
  174. data/app/queries/decidim/votings/organization_published_votings.rb +19 -0
  175. data/app/queries/decidim/votings/organization_votings.rb +16 -0
  176. data/app/queries/decidim/votings/prioritized_votings.rb +13 -0
  177. data/app/queries/decidim/votings/published_votings.rb +12 -0
  178. data/app/services/decidim/votings/voting_search.rb +46 -0
  179. data/app/views/decidim/elections/admin/answers/index.html.erb +12 -0
  180. data/app/views/decidim/elections/admin/elections/index.html.erb +13 -1
  181. data/app/views/decidim/elections/admin/proposals_imports/new.html.erb +1 -1
  182. data/app/views/decidim/elections/admin/questions/index.html.erb +5 -1
  183. data/app/views/decidim/elections/admin/shared/_trustees_secondary_nav.html.erb +3 -0
  184. data/app/views/decidim/elections/admin/steps/_create_election.html.erb +38 -0
  185. data/app/views/decidim/elections/admin/steps/_created.html.erb +16 -0
  186. data/app/views/decidim/elections/admin/steps/_key_ceremony.html.erb +16 -0
  187. data/app/views/decidim/elections/admin/steps/_key_ceremony_ended.html.erb +15 -0
  188. data/app/views/decidim/elections/admin/steps/_tally.html.erb +17 -0
  189. data/app/views/decidim/elections/admin/steps/_tally_ended.html.erb +9 -0
  190. data/app/views/decidim/elections/admin/steps/_vote.html.erb +21 -0
  191. data/app/views/decidim/elections/admin/steps/_vote_ended.html.erb +15 -0
  192. data/app/views/decidim/elections/admin/steps/_vote_stats.html.erb +31 -0
  193. data/app/views/decidim/elections/admin/steps/index.html.erb +43 -0
  194. data/app/views/decidim/elections/admin/trustees_participatory_spaces/_form.html.erb +19 -0
  195. data/app/views/decidim/elections/admin/trustees_participatory_spaces/index.html.erb +64 -0
  196. data/app/views/decidim/elections/admin/trustees_participatory_spaces/new.html.erb +7 -0
  197. data/app/views/decidim/elections/elections/_filters_small_view.html.erb +1 -1
  198. data/app/views/decidim/elections/elections/_preview.html.erb +26 -0
  199. data/app/views/decidim/elections/elections/_results.html.erb +47 -0
  200. data/app/views/decidim/elections/elections/show.html.erb +43 -18
  201. data/app/views/decidim/elections/trustee_zone/elections/_backup_modal.html.erb +24 -0
  202. data/app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb +44 -0
  203. data/app/views/decidim/elections/trustee_zone/elections/_restore_modal.html.erb +25 -0
  204. data/app/views/decidim/elections/trustee_zone/elections/_tally_steps.html.erb +43 -0
  205. data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +38 -0
  206. data/app/views/decidim/elections/trustee_zone/elections/update.js.erb +5 -0
  207. data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +102 -0
  208. data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +38 -17
  209. data/app/views/decidim/elections/votes/_election_votes_failed.html.erb +21 -0
  210. data/app/views/decidim/elections/votes/_election_votes_question.html.erb +4 -4
  211. data/app/views/decidim/elections/votes/cast_failed.js.erb +1 -0
  212. data/app/views/decidim/elections/votes/cast_success.js.erb +1 -0
  213. data/app/views/decidim/elections/votes/new.html.erb +41 -33
  214. data/app/views/decidim/elections/votes/verify.html.erb +78 -0
  215. data/app/views/decidim/votings/admin/monitoring_committee_members/_form.html.erb +27 -0
  216. data/app/views/decidim/votings/admin/monitoring_committee_members/index.html.erb +41 -0
  217. data/app/views/decidim/votings/admin/monitoring_committee_members/new.html.erb +7 -0
  218. data/app/views/decidim/votings/admin/polling_officers/_form.html.erb +27 -0
  219. data/app/views/decidim/votings/admin/polling_officers/index.html.erb +50 -0
  220. data/app/views/decidim/votings/admin/polling_officers/new.html.erb +7 -0
  221. data/app/views/decidim/votings/admin/polling_stations/_form.html.erb +40 -0
  222. data/app/views/decidim/votings/admin/polling_stations/edit.html.erb +7 -0
  223. data/app/views/decidim/votings/admin/polling_stations/index.html.erb +55 -0
  224. data/app/views/decidim/votings/admin/polling_stations/new.html.erb +7 -0
  225. data/app/views/decidim/votings/admin/votings/_form.html.erb +63 -0
  226. data/app/views/decidim/votings/admin/votings/edit.html.erb +31 -0
  227. data/app/views/decidim/votings/admin/votings/index.html.erb +87 -0
  228. data/app/views/decidim/votings/admin/votings/new.html.erb +13 -0
  229. data/app/views/decidim/votings/admin/votings/polling_officers_picker.html.erb +2 -0
  230. data/app/views/decidim/votings/polling_officer_zone/polling_officers/show.html.erb +42 -0
  231. data/app/views/decidim/votings/polling_officer_zone/polling_stations/show.html.erb +1 -0
  232. data/app/views/decidim/votings/votings/_count.html.erb +1 -0
  233. data/app/views/decidim/votings/votings/_filters.html.erb +25 -0
  234. data/app/views/decidim/votings/votings/_filters_small_view.html.erb +23 -0
  235. data/app/views/decidim/votings/votings/_promoted_voting.html.erb +27 -0
  236. data/app/views/decidim/votings/votings/_voting_details.html.erb +7 -0
  237. data/app/views/decidim/votings/votings/_votings.html.erb +25 -0
  238. data/app/views/decidim/votings/votings/index.html.erb +42 -0
  239. data/app/views/decidim/votings/votings/index.js.erb +10 -0
  240. data/app/views/decidim/votings/votings/show.html.erb +20 -0
  241. data/app/views/layouts/decidim/_voting_header.html.erb +16 -0
  242. data/app/views/layouts/decidim/admin/voting.html.erb +101 -0
  243. data/app/views/layouts/decidim/voting.html.erb +16 -0
  244. data/config/initializers/decidim_bulletin_board.rb +23 -0
  245. data/config/locales/ca.yml +650 -20
  246. data/config/locales/cs.yml +644 -6
  247. data/config/locales/de.yml +636 -6
  248. data/config/locales/el.yml +0 -2
  249. data/config/locales/en.yml +636 -6
  250. data/config/locales/es-MX.yml +636 -6
  251. data/config/locales/es-PY.yml +636 -6
  252. data/config/locales/es.yml +646 -16
  253. data/config/locales/fi-plain.yml +636 -6
  254. data/config/locales/fi.yml +636 -6
  255. data/config/locales/fr-CA.yml +423 -6
  256. data/config/locales/fr.yml +423 -6
  257. data/config/locales/gl.yml +85 -7
  258. data/config/locales/it.yml +94 -6
  259. data/config/locales/ja.yml +8 -6
  260. data/config/locales/lv.yml +0 -2
  261. data/config/locales/nl.yml +503 -6
  262. data/config/locales/no.yml +2 -5
  263. data/config/locales/pl.yml +644 -6
  264. data/config/locales/pt.yml +0 -6
  265. data/config/locales/ro-RO.yml +176 -6
  266. data/config/locales/sv.yml +257 -6
  267. data/config/locales/tr-TR.yml +111 -6
  268. data/config/locales/zh-CN.yml +0 -6
  269. data/db/migrate/20200915142713_add_questionnaire_to_existing_elections.rb +29 -0
  270. data/db/migrate/20200918153813_create_decidim_elections_trustees_participatory_spaces.rb +13 -0
  271. data/db/migrate/20200918153824_create_decidim_elections_elections_trustees.rb +10 -0
  272. data/db/migrate/20200918153835_create_decidim_elections_trustees.rb +12 -0
  273. data/db/migrate/20201026163334_add_blocked_at_and_bb_status_to_elections.rb +8 -0
  274. data/db/migrate/20201028090110_add_votes_to_decidim_elections_answers.rb +7 -0
  275. data/db/migrate/20201028135614_add_selected_to_decidim_elections_answers.rb +7 -0
  276. data/db/migrate/20201209110653_create_decidim_elections_votes.rb +14 -0
  277. data/db/migrate/20201216091123_add_name_to_trustees.rb +7 -0
  278. data/db/migrate/20210113113818_add_message_id_to_decidim_elections_votes.rb +7 -0
  279. data/db/migrate/20210113120115_create_decidim_elections_votings.rb +20 -0
  280. data/db/migrate/20210114100749_add_published_at_to_decidim_votings_votings.rb +7 -0
  281. data/db/migrate/20210114111850_add_user_to_decidim_elections_votes.rb +7 -0
  282. data/db/migrate/20210120164634_add_promoted_to_voting.rb +7 -0
  283. data/db/migrate/20210125124801_add_voting_type_to_voting_voting.rb +7 -0
  284. data/db/migrate/20210129124956_create_decidim_elections_actions.rb +14 -0
  285. data/db/migrate/20210204132111_add_votings_polling_stations.rb +19 -0
  286. data/db/migrate/20210208090441_add_polling_officers_to_votings.rb +12 -0
  287. data/db/migrate/20210210090738_add_votings_polling_station_references_to_votings_polling_officer.rb +8 -0
  288. data/db/migrate/20210216074707_add_monitoring_committee_member.rb +12 -0
  289. data/db/migrate/20210310120708_add_followable_counter_cache_to_votings.rb +16 -0
  290. data/db/seeds/city.jpeg +0 -0
  291. data/lib/decidim/api/election_answer_type.rb +23 -0
  292. data/lib/decidim/api/election_question_type.rb +22 -0
  293. data/lib/decidim/api/election_type.rb +27 -0
  294. data/lib/decidim/api/elections_type.rb +32 -0
  295. data/lib/decidim/api/trustee_type.rb +16 -0
  296. data/lib/decidim/api/voting_type.rb +20 -0
  297. data/lib/decidim/elections.rb +19 -2
  298. data/lib/decidim/elections/admin_engine.rb +42 -1
  299. data/lib/decidim/elections/answer_serializer.rb +48 -0
  300. data/lib/decidim/elections/api.rb +11 -0
  301. data/lib/decidim/elections/component.rb +367 -24
  302. data/lib/decidim/elections/engine.rb +8 -1
  303. data/lib/decidim/elections/test/factories.rb +201 -4
  304. data/lib/decidim/elections/trustee_zone.rb +10 -0
  305. data/lib/decidim/elections/trustee_zone_engine.rb +35 -0
  306. data/lib/decidim/elections/version.rb +1 -1
  307. data/lib/decidim/votings.rb +16 -0
  308. data/lib/decidim/votings/admin.rb +10 -0
  309. data/lib/decidim/votings/admin_engine.rb +71 -0
  310. data/lib/decidim/votings/api.rb +7 -0
  311. data/lib/decidim/votings/engine.rb +147 -0
  312. data/lib/decidim/votings/participatory_space.rb +92 -0
  313. data/lib/decidim/votings/polling_officer_zone.rb +10 -0
  314. data/lib/decidim/votings/polling_officer_zone_engine.rb +33 -0
  315. data/lib/decidim/votings/query_extensions.rb +43 -0
  316. data/lib/decidim/votings/test/capybara_polling_officers_picker.rb +49 -0
  317. data/lib/decidim/votings/test/factories.rb +83 -0
  318. data/lib/decidim/votings/voting_serializer.rb +54 -0
  319. data/lib/tasks/decidim_elections.rake +68 -5
  320. metadata +303 -19
  321. data/app/types/decidim/elections/election_answer_type.rb +0 -24
  322. data/app/types/decidim/elections/election_question_type.rb +0 -25
  323. data/app/types/decidim/elections/election_type.rb +0 -27
  324. data/app/types/decidim/elections/elections_type.rb +0 -32
  325. data/config/i18n-tasks.yml +0 -10
  326. data/lib/decidim/elections/bulletin_board_client.rb +0 -35
@@ -48,8 +48,6 @@ pt:
48
48
  confirm_destroy: Tem a certeza?
49
49
  destroy: Destruir
50
50
  edit: Editar
51
- edit_answers: Editar respostas
52
- edit_questions: Editar perguntas
53
51
  import: Importar propostas para perguntas
54
52
  new: Novo %{name}
55
53
  preview: Pré-visualizar
@@ -140,12 +138,9 @@ pt:
140
138
  one: "%{count} eleição"
141
139
  other: "%{count} eleições"
142
140
  show:
143
- back: Todas as eleições
144
141
  preview: Pré-visualizar
145
- vote: Votar
146
142
  voting_period_status:
147
143
  finished: A votação começou em %{start_time} e terminou em %{end_time}
148
- ongoing: A votação termina em %{end_time}
149
144
  upcoming: A votação começa em %{start_time}
150
145
  models:
151
146
  answer:
@@ -178,7 +173,6 @@ pt:
178
173
  header: Voto confirmado
179
174
  lead: O seu voto já foi transmitido!
180
175
  text: 'Pode verificar que o seu voto foi adicionado corretamente à caixa de voto com o seguinte identificador: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
181
- verify_text: Para verificá-lo, copie o identificador e cole-o na <a href="evote-verify">página de verificação de voto</a>
182
176
  encrypting:
183
177
  header: A codificar voto...
184
178
  text: O seu voto está a ser encriptado para garantir que pode transmiti-lo anonimamente.
@@ -16,6 +16,9 @@ ro:
16
16
  max_selections: Numărul maxim de selecții
17
17
  min_selections: Niciuna dintre opțiunile de mai sus
18
18
  title: Titlu
19
+ voting:
20
+ end_time: Votarea se încheie
21
+ start_time: Votarea începe
19
22
  errors:
20
23
  models:
21
24
  answer:
@@ -26,7 +29,25 @@ ro:
26
29
  attributes:
27
30
  attachment:
28
31
  needs_to_be_reattached: Trebuie să fie reatașate
32
+ trustee:
33
+ attributes:
34
+ name:
35
+ cant_be_changed: nu poate fi schimbat
36
+ public_key:
37
+ cant_be_changed: nu poate fi schimbat
29
38
  activerecord:
39
+ errors:
40
+ models:
41
+ decidim/votings/polling_officer:
42
+ attributes:
43
+ presided_polling_station:
44
+ president_and_manager: Ofiţerul de sondare a opiniei publice este deja preşedintele/managerul secţiilor de votare
45
+ voting:
46
+ different_organization: Votul trebuie să fie în aceeași organizație ca și utilizatorul
47
+ decidim/votings/polling_station:
48
+ attributes:
49
+ polling_station_president:
50
+ different_voting: Ofiţerul de votare trebuie să se afle în acelaşi vot ca şi secţia de votare
30
51
  models:
31
52
  decidim/elections/answer:
32
53
  one: Răspuns
@@ -40,7 +61,32 @@ ro:
40
61
  one: Întrebare
41
62
  few: Întrebări
42
63
  other: Întrebări
64
+ decidim/votings/polling_officer:
65
+ one: Ofițer de sondaj
66
+ few: Ofițer de sondaj
67
+ other: Ofiţeri de votare
68
+ decidim/votings/polling_station:
69
+ one: Stație de votare
70
+ few: Stație de votare
71
+ other: Secţii de votare
72
+ decidim/votings/voting:
73
+ one: Votare
74
+ few: Votări
75
+ other: Votări
43
76
  decidim:
77
+ admin:
78
+ filters:
79
+ officers_assigned_eq:
80
+ label: Ofiţeri
81
+ values:
82
+ assigned: Atribuit
83
+ unassigned: Nu este atribuit
84
+ role_eq:
85
+ label: Rol
86
+ values:
87
+ manager: Administrator
88
+ president: Președinte
89
+ unassigned: Neatribuit
44
90
  components:
45
91
  elections:
46
92
  actions:
@@ -56,9 +102,11 @@ ro:
56
102
  confirm_destroy: Ești sigur?
57
103
  destroy: Distruge
58
104
  edit: Editare
59
- edit_answers: Editare răspunsuri
60
- edit_questions: Editare întrebări
105
+ feedback: Feedback la votare
61
106
  import: Importă propunerile pentru răspunsuri
107
+ manage_answers: Gestionare răspunsuri
108
+ manage_questions: Gestionează întrebările
109
+ manage_steps: Gestionați pașii
62
110
  new: '%{name} nou'
63
111
  preview: Previzualizare
64
112
  publish: Publică
@@ -81,6 +129,14 @@ ro:
81
129
  new:
82
130
  create: Creează răspuns
83
131
  title: Răspuns nou
132
+ select:
133
+ disable: Deselectare răspuns
134
+ enable: Marchează răspunsul ca selectat
135
+ invalid: A apărut o eroare la selectarea acestui răspuns
136
+ success: Răspuns selectat cu succes
137
+ unselect:
138
+ invalid: A apărut o eroare la selectarea acestui răspuns
139
+ success: Răspuns selectat cu succes
84
140
  update:
85
141
  invalid: A apărut o problemă la actualizarea acestui răspuns
86
142
  success: Răspuns actualizat cu succes
@@ -107,6 +163,9 @@ ro:
107
163
  update:
108
164
  invalid: A apărut o eroare la actualizarea acestei alegeri
109
165
  success: Alegerile au fost actualizate
166
+ exports:
167
+ elections: Alegeri
168
+ feedback_form_answers: Răspunsuri la formularul de feedback
110
169
  models:
111
170
  answer:
112
171
  name: Răspuns
@@ -114,6 +173,8 @@ ro:
114
173
  name: Alegeri
115
174
  question:
116
175
  name: Întrebare
176
+ trustee:
177
+ name: Împuternicit
117
178
  proposals_imports:
118
179
  create:
119
180
  invalid: A apărut o problemă la importarea propunerilor în răspunsuri
@@ -122,6 +183,7 @@ ro:
122
183
  create: Importă propunerile pentru răspunsuri
123
184
  no_components: Nu există alte componente de propunere în acest spațiu participativ pentru a se obține răspunsuri la propuneri.
124
185
  select_component: Vă rugăm să selectaţi o componentă
186
+ title: Importă propuneri
125
187
  questions:
126
188
  create:
127
189
  invalid: A apărut o problemă la crearea acestei întrebări
@@ -140,9 +202,59 @@ ro:
140
202
  update:
141
203
  invalid: A apărut o eroare la actualizarea acestei întrebări
142
204
  success: Întrebare actualizată cu succes
205
+ steps:
206
+ create_election:
207
+ errors:
208
+ max_selections: Întrebările nu au <strong>o valoare corectă pentru suma de răspunsuri</strong>
209
+ minimum_answers: Întrebările trebuie să aibă <strong>cel puţin două răspunsuri</strong>.
210
+ minimum_questions: Alegerea <strong>trebuie să aibă cel puţin o întrebare</strong>.
211
+ published: Alegerea nu este <strong>publicată</strong>.
212
+ time_before: Timpul de începere este în <strong>mai puţin de 3 ore</strong> înainte de începerea alegerilor.
213
+ trustees_number: Spațiul participativ <strong>trebuie să aibă cel puțin %{number} administratori cu cheie publică</strong>.
214
+ invalid: A apărut o eroare la organizarea acestor alegeri
215
+ no_trustees: Nu există trupe configurate pentru acest spațiu participativ
216
+ not_used_trustee: "(nu este folosit)"
217
+ public_key:
218
+ 'false': nu are <strong>o cheie publică</strong>
219
+ 'true': are o <strong>cheie publică</strong>
220
+ vote_ended:
221
+ submit: Începeți să numărați
222
+ success: Solicitarea de începere a fost trimisă cu succes la Panoul de Buletin
223
+ title: Perioada de vot s-a încheiat
224
+ vote_stats:
225
+ no_vote_statistics_yet: Încă nu există statistici despre voturi
226
+ title: Statistici Votare
227
+ voters: Votanți
228
+ votes: Voturi
229
+ trustees_participatory_spaces:
230
+ actions:
231
+ disable: Dezactivează
232
+ enable: Luați în considerare
233
+ create:
234
+ exists: Există Administrator pentru acest spațiu participativ
235
+ invalid: A apărut o problemă la crearea unui administrator
236
+ success: Administrator creat cu succes
237
+ delete:
238
+ invalid: A apărut o eroare la eliminarea acestui administrator
239
+ success: Administratorul a fost sters
240
+ form:
241
+ select_user: Selectați utilizatorul
242
+ index:
243
+ title: Administrator
244
+ new:
245
+ create: Crează Administrator
246
+ title: Administrator nou
247
+ update:
248
+ invalid: A apărut o problemă la actualizarea administratorului %{trustee}
249
+ success: Administrator %{trustee} actualizat cu succes
143
250
  admin_log:
144
251
  election:
252
+ end_vote: "%{user_name} a încheiat perioada de votare pentru %{resource_name} alegerea în Buletin Board"
145
253
  publish: "%{user_name} a publicat alegerile pentru %{resource_name}"
254
+ setup: "%{user_name} a creat alegerea %{resource_name} în Panoul de Buletin"
255
+ start_key_ceremony: "%{user_name} a început ceremonia cheii pentru alegerile %{resource_name} din Panoul de Buletin"
256
+ start_tally: "%{user_name} a început numărătoarea pentru alegerea %{resource_name} în Panoul de Buletin"
257
+ start_vote: "%{user_name} a început perioada de votare pentru %{resource_name} alegeri în Bulletin Board"
146
258
  unpublish: "%{user_name} nepublicat alegerea %{resource_name}"
147
259
  election_m:
148
260
  badge_name:
@@ -176,13 +288,12 @@ ro:
176
288
  filter: Filtrare
177
289
  filter_by: Filtrează după
178
290
  unfold: Desfășurat
291
+ preview:
292
+ title: Întrebări electorale
179
293
  show:
180
- back: Toate alegerile
181
294
  preview: Previzualizare
182
- vote: Votează
183
295
  voting_period_status:
184
296
  finished: Votarea a început la %{start_time} și s-a încheiat la %{end_time}
185
- ongoing: Votarea se termină la %{end_time}
186
297
  upcoming: Votarea începe la %{start_time}
187
298
  models:
188
299
  answer:
@@ -199,6 +310,62 @@ ro:
199
310
  answers: Răspunsuri
200
311
  max_selections: Selecții maxime
201
312
  title: Titlu
313
+ trustee_zone:
314
+ elections:
315
+ tally_steps:
316
+ process_warning: Odată ce procesul este pornit, nu ar trebui să ieșiți din această pagină până când procesul se încheie. Va dura câteva minute, deoarece toate Truste-urile ar trebui conectate pentru a o finaliza.
317
+ start: Incepe
318
+ start_icon: Pictograma care indică un buton de pornire pentru a porni generarea cheilor electorale
319
+ status:
320
+ completed: Finalizat
321
+ pending: În așteptare
322
+ processing: Se procesează
323
+ title: Corespondent pentru %{election}
324
+ update:
325
+ error: Statutul alegerilor nu a fost actualizat.
326
+ success: 'Statutul alegerilor este: %{status}'
327
+ menu:
328
+ trustee_zone: Zonă Administrator
329
+ no_bulletin_board:
330
+ body: Pentru această secţiune este necesar un Bulletin configurat. Contactaţi Administratorul pentru mai multe detalii.
331
+ title: Ne pare rău, Bulletin Board nu este configurat încă.
332
+ trustees:
333
+ show:
334
+ elections:
335
+ list:
336
+ action_required:
337
+ 'false': 'Nr'
338
+ name: Acțiune necesară?
339
+ 'true': Efectuează acțiunea
340
+ bb_status: Stare
341
+ election: Alegeri
342
+ voting_period: Perioada de vot
343
+ no_elections: Nu există alegeri unde să te comporţi ca un Administrator.
344
+ title: Alegeri
345
+ identification_keys:
346
+ cancel: Anulează
347
+ generate: Generează chei de identificare
348
+ generate_error: A apărut o eroare la generarea cheilor de identificare.
349
+ generate_legend: Trebuie să generați o pereche de chei pentru a participa la alegeri ca un Trustee.
350
+ generate_legend_1: După ce apăsați pe buton, ar trebui să descărcați fișierul cu tastele de identificare generate.
351
+ generate_legend_2: Copiaţi fişierul descărcat pe un dispozitiv USB curat
352
+ generate_legend_3: Asigurați-vă că calculatorul dvs. nu are o copie a fișierului (de exemplu, verificați dosarele Descărcări și Desktop).
353
+ generate_legend_4: Faceți o altă copie a fișierului pe un alt dispozitiv extern și păstrați-l într-un loc foarte sigur.
354
+ submit: Trimiteți
355
+ submit_legend: După urmărirea tuturor paşilor explicaţi mai sus, finalizaţi procesul de trimitere a cheii publice de identificare la serverul Decidim.
356
+ submit_title: Trimite cheia publică de identificare
357
+ title: Chei de identificare Administrator
358
+ upload: Încărcați-vă cheile de identificare
359
+ upload_error:
360
+ invalid_format: Fişierul încărcat nu conţine nici o cheie de identificare.
361
+ invalid_key: Tastele de identificare din fișierul încărcat nu pot fi încărcate.
362
+ invalid_public_key: Tastele de identificare din fişierul încărcat nu se potrivesc cu cheia de identificare publică stocată de Decidim.
363
+ upload_legend: Decidim are cheile tale de identificare publică, dar browserul tău încă nu le are. Trebuie să importați fișierul cu cheile de identificare în calculator din copia de siguranță creată după ce ați generat.
364
+ not_supported_browser_description: Se pare că folosești un browser web care nu poate fi folosit pentru a acționa ca Administrator. Asigură-te că folosești cea mai recentă versiune de browser, sau încercați să utilizați oricare dintre cele mai populare browsere pentru a putea finaliza sarcinile dvs. Administrator.
365
+ not_supported_browser_title: Actualizează browser-ul pentru a acționa ca Administrator
366
+ trustee_role_description: Ați fost desemnat să acționați ca Administrator în unele dintre alegerile celebrate în această platformă.
367
+ update:
368
+ success: Cheia publică de identificare a fost stocată cu succes.
202
369
  votes:
203
370
  confirm:
204
371
  answer: Răspuns
@@ -211,15 +378,18 @@ ro:
211
378
  question: Întrebarea %{count}
212
379
  confirmed:
213
380
  back: Înapoi la alegeri
381
+ error: Ne pare rău, a apărut o eroare la confirmarea votului. Vă rugăm să votați din nou.
214
382
  experience: Cum a fost experiența ta?
215
383
  feedback: Oferă-ne un feedback
216
384
  header: Votare confirmată
217
385
  lead: Votul tău a fost deja exprimat!
218
386
  text: 'Poți verifica dacă votul tău a fost adăugat cu succes în urna de vot cu următorul identificator: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
219
- verify_text: Pentru a verifica, copiați identificatorul și lipiți-l pe pagina <a href="evote-verify">pentru verificarea votului</a>
387
+ verify_link: Pentru a verifica, copiați identificatorul și lipiți-l pe pagina <a href="%{link}">pentru verificarea votului</a>
220
388
  encrypting:
221
389
  header: Codificarea votului...
222
390
  text: Votul tău este criptat pentru a te asigura că îl poți trimite anonim.
391
+ failed:
392
+ header: Vot eșuat
223
393
  header:
224
394
  confirm: Confirmă votul tău
225
395
  confirmed: Votare confirmată
@@ -15,6 +15,9 @@ sv:
15
15
  description: Beskrivning
16
16
  max_selections: Maximalt antal val
17
17
  title: Titel
18
+ voting:
19
+ end_time: Omröstningen avslutas
20
+ start_time: Omröstningen börjar
18
21
  errors:
19
22
  models:
20
23
  answer:
@@ -25,6 +28,10 @@ sv:
25
28
  attributes:
26
29
  attachment:
27
30
  needs_to_be_reattached: Måste bifogas igen
31
+ trustee:
32
+ attributes:
33
+ name:
34
+ cant_be_changed: kan inte ändras
28
35
  activerecord:
29
36
  models:
30
37
  decidim/elections/answer:
@@ -36,7 +43,23 @@ sv:
36
43
  decidim/elections/question:
37
44
  one: Fråga
38
45
  other: Frågor
46
+ decidim/votings/voting:
47
+ one: Omröstning
48
+ other: Omröstningar
39
49
  decidim:
50
+ admin:
51
+ filters:
52
+ officers_assigned_eq:
53
+ label: Handläggare
54
+ values:
55
+ assigned: Tilldelade
56
+ unassigned: Inte tilldelad
57
+ role_eq:
58
+ label: Roll
59
+ values:
60
+ manager: Koordinator
61
+ president: Ordförande
62
+ unassigned: Otilldelad
40
63
  components:
41
64
  elections:
42
65
  actions:
@@ -52,8 +75,6 @@ sv:
52
75
  confirm_destroy: Är du säker?
53
76
  destroy: Förstör
54
77
  edit: Redigera
55
- edit_answers: Redigera svar
56
- edit_questions: Redigera frågor
57
78
  import: Importera förslag till svar
58
79
  new: Ny %{name}
59
80
  preview: Förhandsgranska
@@ -101,6 +122,8 @@ sv:
101
122
  update:
102
123
  invalid: Det gick inte att uppdatera valet
103
124
  success: Val har uppdaterats
125
+ exports:
126
+ elections: Val
104
127
  models:
105
128
  answer:
106
129
  name: Svar
@@ -108,6 +131,8 @@ sv:
108
131
  name: Val
109
132
  question:
110
133
  name: Fråga
134
+ trustee:
135
+ name: Förvaltare
111
136
  proposals_imports:
112
137
  create:
113
138
  invalid: Det gick inte att importera förslagen till svar
@@ -134,6 +159,33 @@ sv:
134
159
  update:
135
160
  invalid: Det gick inte att uppdatera denna fråga
136
161
  success: Frågan har uppdaterats
162
+ steps:
163
+ create_election:
164
+ not_used_trustee: "(används inte)"
165
+ created:
166
+ trustees: Förvaltare
167
+ key_ceremony:
168
+ trustees: Förvaltare
169
+ processing: Bearbetar...
170
+ tally:
171
+ trustees: Förvaltare
172
+ tally_ended:
173
+ submit: Publicera resultat
174
+ vote:
175
+ title: Röstningsperiod
176
+ vote_stats:
177
+ no_vote_statistics_yet: Ingen röstningsstatistik ännu
178
+ title: Röstningsstatistik
179
+ voters: Väjare
180
+ votes: Röster
181
+ trustees_participatory_spaces:
182
+ actions:
183
+ disable: Avaktivera
184
+ enable: Tillåt
185
+ form:
186
+ select_user: Välj användare
187
+ index:
188
+ title: Förvaltare
137
189
  admin_log:
138
190
  election:
139
191
  publish: "%{user_name} publicerade valet %{resource_name}"
@@ -169,13 +221,15 @@ sv:
169
221
  filter: Filter
170
222
  filter_by: Filtrera efter
171
223
  unfold: Veckla ut
224
+ results:
225
+ selected: Valda
172
226
  show:
173
- back: Alla val
227
+ action-button:
228
+ vote: Starta omröstningen
229
+ vote-again: Rösta om
174
230
  preview: Förhandsgranska
175
- vote: Rösta
176
231
  voting_period_status:
177
232
  finished: Omröstningen började den %{start_time} och slutade den %{end_time}
178
- ongoing: Omröstningen slutar den %{end_time}
179
233
  upcoming: Omröstningen börjar den %{start_time}
180
234
  models:
181
235
  answer:
@@ -192,10 +246,57 @@ sv:
192
246
  answers: Svar
193
247
  max_selections: Max. val
194
248
  title: Titel
249
+ trustees_participatory_space:
250
+ fields:
251
+ considered: tillåten
252
+ email: E-post
253
+ inactive: inaktiv
254
+ name: Namn
255
+ public_key: Offentlig nyckel
256
+ status: Status
195
257
  orders:
196
258
  label: Sortera omröstningar efter
197
259
  older: Äldre
198
260
  recent: Senaste
261
+ trustee_zone:
262
+ elections:
263
+ backup_modal:
264
+ download_election_keys: Hämta nycklar
265
+ key_ceremony_steps:
266
+ back: Tillbaka
267
+ keys:
268
+ create_election: Nycklar generering
269
+ list:
270
+ status: Status
271
+ task: Uppgift
272
+ start: Start
273
+ status:
274
+ completed: Slutförd
275
+ pending: Avvaktande
276
+ processing: Bearbetar
277
+ tally_steps:
278
+ back: Tillbaka
279
+ list:
280
+ status: Status
281
+ task: Uppgift
282
+ start: Start
283
+ status:
284
+ completed: Slutförd
285
+ pending: Väntande
286
+ processing: Bearbetar
287
+ trustees:
288
+ show:
289
+ elections:
290
+ list:
291
+ action_required:
292
+ 'false': 'Nej'
293
+ bb_status: Status
294
+ election: Val
295
+ voting_period: Röstningsperiod
296
+ title: Omröstningar
297
+ identification_keys:
298
+ cancel: Avbryt
299
+ submit: Skicka in
199
300
  votes:
200
301
  confirm:
201
302
  answer: Svar
@@ -213,7 +314,6 @@ sv:
213
314
  header: Rösta bekräftad
214
315
  lead: Din röst har redan skickats!
215
316
  text: 'Du kan kontrollera att din röst har lagts till i röstsedeln med följande identifierare: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
216
- verify_text: För att kontrollera det, kopiera identifieraren och klistra in den på <a href="evote-verify">röstverifieringssidan</a>
217
317
  encrypting:
218
318
  header: Kodar omröstning...
219
319
  text: Din röst krypteras så att du kan skicka den anonymt.
@@ -231,6 +331,10 @@ sv:
231
331
  preview_alert: Detta är en förhandsvisning av röstlängden.
232
332
  question_steps: Fråga %{current_step} av %{total_steps}
233
333
  selections: "%{selected} av %{max_selections}<br> val"
334
+ verify:
335
+ form:
336
+ back: Tillbaka till Decidim
337
+ submit: Kontrollera
234
338
  voting_step:
235
339
  back: Tillbaka
236
340
  continue: Nästa
@@ -244,6 +348,8 @@ sv:
244
348
  email_outro: Du har fått det här meddelandet eftersom du följer %{participatory_space_title}. Du kan sluta ta emot meddelanden via föregående länk.
245
349
  email_subject: Valet %{resource_title} är nu aktivt för %{participatory_space_title}.
246
350
  notification_title: Valet <a href="%{resource_path}">%{resource_title}</a> är nu aktivt för %{participatory_space_title}.
351
+ menu:
352
+ votings: Omröstningar
247
353
  pages:
248
354
  home:
249
355
  statistics:
@@ -251,7 +357,152 @@ sv:
251
357
  participatory_processes:
252
358
  statistics:
253
359
  elections_count: Val
360
+ votings:
361
+ admin:
362
+ index:
363
+ not_published: Ej publicerade
364
+ published: Publicerad
365
+ landing_page:
366
+ content_blocks:
367
+ edit:
368
+ update: Uppdatera
369
+ menu:
370
+ votings: Omröstningar
371
+ votings_submenu:
372
+ attachment_collections: Mappar
373
+ attachment_files: Filer
374
+ attachments: Bilagor
375
+ components: Komponenter
376
+ info: Information
377
+ landing_page: Landningssida
378
+ models:
379
+ monitoring_committee_member:
380
+ fields:
381
+ email: E-post
382
+ name: Namn
383
+ polling_officer:
384
+ fields:
385
+ email: E-post
386
+ name: Namn
387
+ polling_station:
388
+ fields:
389
+ address: Adress
390
+ polling_station_managers: Koordinatorer
391
+ polling_station_president: Ordförande
392
+ title: Titel
393
+ voting:
394
+ fields:
395
+ created_at: Skapad den
396
+ promoted: Uppmärksammad
397
+ published: Publicerad
398
+ title: Titel
399
+ monitoring_committee_members:
400
+ new:
401
+ create: Skapa
402
+ polling_officers:
403
+ index:
404
+ role_manager: chef
405
+ role_president: ordförande
406
+ new:
407
+ create: Skapa
408
+ polling_officers_picker:
409
+ close: Stäng
410
+ polling_stations:
411
+ new:
412
+ create: Skapa
413
+ titles:
414
+ votings: Omröstningar
415
+ votings:
416
+ actions:
417
+ confirm_destroy: Är du säker?
418
+ destroy: Ta bort
419
+ publish: Publicera
420
+ unpublish: Avpublicera
421
+ edit:
422
+ update: Uppdatera
423
+ form:
424
+ title: Titel
425
+ voting_type:
426
+ hybrid: Hybrid
427
+ in_person: Fysisk
428
+ online: Online
429
+ new:
430
+ create: Skapa
431
+ title: Ny omröstning
432
+ monitoring_committee_members:
433
+ actions:
434
+ destroy: Radera
435
+ new: Ny medlem
436
+ title: Åtgärder
437
+ pages:
438
+ home:
439
+ highlighted_votings:
440
+ see_all_votings: Se alla omröstningar
441
+ polling_officer_zone:
442
+ polling_officers:
443
+ show:
444
+ polling_stations:
445
+ list:
446
+ actions: Åtgärder
447
+ address: Adress
448
+ name: Namn
449
+ role: Din roll
450
+ voting: Omröstning
451
+ polling_officers:
452
+ actions:
453
+ destroy: Radera
454
+ new: Ny
455
+ title: Åtgärder
456
+ roles:
457
+ manager: Koordinator
458
+ president: Ordförande
459
+ unassigned: Otilldelad
460
+ polling_stations:
461
+ actions:
462
+ confirm_destroy: Är du säker?
463
+ destroy: Radera
464
+ edit: Redigera
465
+ new: Ny
466
+ title: Åtgärder
467
+ votings:
468
+ filters:
469
+ active: Aktiva
470
+ all: Alla
471
+ finished: Avslutade
472
+ search: Sök
473
+ state: Status
474
+ upcoming: Kommande
475
+ filters_small_view:
476
+ close_modal: Stäng fönster
477
+ filter: Filtrera
478
+ filter_by: Filtrera efter
479
+ unfold: Veckla ut
480
+ index:
481
+ title: Omröstningar
482
+ orders:
483
+ random: Slumpmässig
484
+ recent: Senaste
485
+ show:
486
+ dates: Datum
487
+ votings_m:
488
+ badge_name:
489
+ finished: Avslutade
490
+ ongoing: Pågående
491
+ upcoming: Kommande
492
+ footer_button_text:
493
+ participate: Delta
494
+ view: Visa
495
+ vote: Rösta
496
+ unspecified: Ej angivet
497
+ voting_type:
498
+ hybrid: Hybrid
499
+ in_person: Fysisk
500
+ online: Online
254
501
  layouts:
255
502
  decidim:
256
503
  election_votes_header:
257
504
  exit: Avsluta
505
+ votings:
506
+ promoted_voting:
507
+ more_info: Mer information
508
+ vote: Omröstning