decidim-elections 0.23.1 → 0.24.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (327) 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 +39 -12
  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 +635 -6
  246. data/config/locales/cs.yml +635 -6
  247. data/config/locales/de.yml +677 -10
  248. data/config/locales/el.yml +4 -2
  249. data/config/locales/en.yml +636 -6
  250. data/config/locales/es-MX.yml +636 -7
  251. data/config/locales/es-PY.yml +636 -7
  252. data/config/locales/es.yml +636 -7
  253. data/config/locales/fi-plain.yml +636 -7
  254. data/config/locales/fi.yml +637 -8
  255. data/config/locales/fr-CA.yml +419 -6
  256. data/config/locales/fr.yml +419 -6
  257. data/config/locales/gl.yml +168 -0
  258. data/config/locales/it.yml +108 -6
  259. data/config/locales/ja.yml +12 -6
  260. data/config/locales/lv.yml +4 -2
  261. data/config/locales/nl.yml +502 -6
  262. data/config/locales/no.yml +0 -6
  263. data/config/locales/pl.yml +657 -9
  264. data/config/locales/pt.yml +4 -6
  265. data/config/locales/ro-RO.yml +4 -6
  266. data/config/locales/si-LK.yml +1 -0
  267. data/config/locales/sv.yml +11 -6
  268. data/config/locales/sw-KE.yml +1 -0
  269. data/config/locales/tr-TR.yml +366 -0
  270. data/config/locales/zh-CN.yml +4 -6
  271. data/db/migrate/20200915142713_add_questionnaire_to_existing_elections.rb +29 -0
  272. data/db/migrate/20200918153813_create_decidim_elections_trustees_participatory_spaces.rb +13 -0
  273. data/db/migrate/20200918153824_create_decidim_elections_elections_trustees.rb +10 -0
  274. data/db/migrate/20200918153835_create_decidim_elections_trustees.rb +12 -0
  275. data/db/migrate/20201026163334_add_blocked_at_and_bb_status_to_elections.rb +8 -0
  276. data/db/migrate/20201028090110_add_votes_to_decidim_elections_answers.rb +7 -0
  277. data/db/migrate/20201028135614_add_selected_to_decidim_elections_answers.rb +7 -0
  278. data/db/migrate/20201209110653_create_decidim_elections_votes.rb +14 -0
  279. data/db/migrate/20201216091123_add_name_to_trustees.rb +7 -0
  280. data/db/migrate/20210113113818_add_message_id_to_decidim_elections_votes.rb +7 -0
  281. data/db/migrate/20210113120115_create_decidim_elections_votings.rb +20 -0
  282. data/db/migrate/20210114100749_add_published_at_to_decidim_votings_votings.rb +7 -0
  283. data/db/migrate/20210114111850_add_user_to_decidim_elections_votes.rb +7 -0
  284. data/db/migrate/20210120164634_add_promoted_to_voting.rb +7 -0
  285. data/db/migrate/20210125124801_add_voting_type_to_voting_voting.rb +7 -0
  286. data/db/migrate/20210129124956_create_decidim_elections_actions.rb +14 -0
  287. data/db/migrate/20210204132111_add_votings_polling_stations.rb +19 -0
  288. data/db/migrate/20210208090441_add_polling_officers_to_votings.rb +12 -0
  289. data/db/migrate/20210210090738_add_votings_polling_station_references_to_votings_polling_officer.rb +8 -0
  290. data/db/migrate/20210216074707_add_monitoring_committee_member.rb +12 -0
  291. data/db/seeds/city.jpeg +0 -0
  292. data/lib/decidim/api/election_answer_type.rb +23 -0
  293. data/lib/decidim/api/election_question_type.rb +22 -0
  294. data/lib/decidim/api/election_type.rb +27 -0
  295. data/lib/decidim/api/elections_type.rb +32 -0
  296. data/lib/decidim/api/trustee_type.rb +16 -0
  297. data/lib/decidim/api/voting_type.rb +20 -0
  298. data/lib/decidim/elections.rb +19 -2
  299. data/lib/decidim/elections/admin_engine.rb +42 -1
  300. data/lib/decidim/elections/answer_serializer.rb +48 -0
  301. data/lib/decidim/elections/api.rb +11 -0
  302. data/lib/decidim/elections/component.rb +367 -24
  303. data/lib/decidim/elections/engine.rb +8 -1
  304. data/lib/decidim/elections/test/factories.rb +201 -4
  305. data/lib/decidim/elections/trustee_zone.rb +10 -0
  306. data/lib/decidim/elections/trustee_zone_engine.rb +35 -0
  307. data/lib/decidim/elections/version.rb +1 -1
  308. data/lib/decidim/votings.rb +16 -0
  309. data/lib/decidim/votings/admin.rb +10 -0
  310. data/lib/decidim/votings/admin_engine.rb +71 -0
  311. data/lib/decidim/votings/api.rb +7 -0
  312. data/lib/decidim/votings/engine.rb +147 -0
  313. data/lib/decidim/votings/participatory_space.rb +92 -0
  314. data/lib/decidim/votings/polling_officer_zone.rb +10 -0
  315. data/lib/decidim/votings/polling_officer_zone_engine.rb +33 -0
  316. data/lib/decidim/votings/query_extensions.rb +43 -0
  317. data/lib/decidim/votings/test/capybara_polling_officers_picker.rb +49 -0
  318. data/lib/decidim/votings/test/factories.rb +83 -0
  319. data/lib/decidim/votings/voting_serializer.rb +54 -0
  320. data/lib/tasks/decidim_elections.rake +68 -5
  321. metadata +309 -24
  322. data/app/types/decidim/elections/election_answer_type.rb +0 -24
  323. data/app/types/decidim/elections/election_question_type.rb +0 -25
  324. data/app/types/decidim/elections/election_type.rb +0 -27
  325. data/app/types/decidim/elections/elections_type.rb +0 -32
  326. data/config/i18n-tasks.yml +0 -10
  327. data/lib/decidim/elections/bulletin_board_client.rb +0 -35
@@ -13,15 +13,41 @@ de:
13
13
  title: Titel
14
14
  question:
15
15
  description: Beschreibung
16
- max_selections: Maximale Anzahl von Auswahlen
16
+ max_selections: Maximale Anzahl Antworten
17
+ min_selections: Nichts davon
17
18
  title: Titel
19
+ voting:
20
+ end_time: Abstimmung endet
21
+ start_time: Abstimmung beginnt
18
22
  errors:
19
23
  models:
20
24
  answer:
21
25
  attributes:
22
26
  attachment:
23
- needs_to_be_reattached: Muss erneut angehängt werden
27
+ needs_to_be_reattached: Der Anhang muss erneut angehängt werden
28
+ election:
29
+ attributes:
30
+ attachment:
31
+ needs_to_be_reattached: Der Anhang muss erneut angehängt werden
32
+ trustee:
33
+ attributes:
34
+ name:
35
+ cant_be_changed: kann nicht geändert werden
36
+ public_key:
37
+ cant_be_changed: kann nicht geändert werden
24
38
  activerecord:
39
+ errors:
40
+ models:
41
+ decidim/votings/polling_officer:
42
+ attributes:
43
+ presided_polling_station:
44
+ president_and_manager: Wahllokal-Mitarbeitender ist bereits Präsident/Manager eines Wahllokals
45
+ voting:
46
+ different_organization: Die Abstimmung muss in der selben Organisation wie der Benutzer sein
47
+ decidim/votings/polling_station:
48
+ attributes:
49
+ polling_station_president:
50
+ different_voting: Der Wahllokal-Mitarbeiter und das Wahllokal müssen in der gleichen Abstimmung sein
25
51
  models:
26
52
  decidim/elections/answer:
27
53
  one: Antwort
@@ -32,7 +58,33 @@ de:
32
58
  decidim/elections/question:
33
59
  one: Frage
34
60
  other: Fragen
61
+ decidim/votings/polling_officer:
62
+ one: Wahllokal-Mitarbeiter
63
+ other: Wahllokal-Mitarbeitende
64
+ decidim/votings/polling_station:
65
+ one: Wahllokal
66
+ other: Wahllokale
67
+ decidim/votings/voting:
68
+ one: Abstimmung
69
+ other: Abstimmungen
35
70
  decidim:
71
+ admin:
72
+ filters:
73
+ officers_assigned_eq:
74
+ label: Wahlvorstand
75
+ values:
76
+ assigned: Zugewiesen
77
+ unassigned: Nicht zugewiesen
78
+ role_eq:
79
+ label: Rolle
80
+ values:
81
+ manager: Manager
82
+ president: Präsident
83
+ unassigned: Nicht zugewiesen
84
+ search_placeholder:
85
+ name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: In %{collection} nach Name/E-Mail/Nickname oder Wahllokal suchen.
86
+ ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont
87
+ : In %{collection} suchen nach Titel, Adresse oder Wahllokal-Mitarbeiter.
36
88
  components:
37
89
  elections:
38
90
  actions:
@@ -48,9 +100,11 @@ de:
48
100
  confirm_destroy: Sind Sie sicher?
49
101
  destroy: Löschen
50
102
  edit: Bearbeiten
51
- edit_answers: Antworten bearbeiten
52
- edit_questions: Fragen bearbeiten
103
+ feedback: Feedback der Wähler
53
104
  import: Importieren Sie Vorschläge in Projekte
105
+ manage_answers: Antworten verwalten
106
+ manage_questions: Fragen verwalten
107
+ manage_steps: Schritte verwalten
54
108
  new: Neue(r/s) %{name}
55
109
  preview: Vorschau
56
110
  publish: Veröffentlichen
@@ -73,6 +127,14 @@ de:
73
127
  new:
74
128
  create: Antwort erstellen
75
129
  title: Neue Antwort
130
+ select:
131
+ disable: Antwort abwählen
132
+ enable: Antwort als ausgewählt markieren
133
+ invalid: Beim Auswählen dieser Antwort ist ein Fehler aufgetreten
134
+ success: Antwort erfolgreich ausgewählt
135
+ unselect:
136
+ invalid: Beim Abwählen dieser Antwort ist ein Fehler aufgetreten
137
+ success: Antwort erfolgreich abgwählt
76
138
  update:
77
139
  invalid: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten
78
140
  success: Antwort wurde erfolgreich aktualisiert
@@ -87,6 +149,7 @@ de:
87
149
  title: Wahl bearbeiten
88
150
  update: Wahl aktualisieren
89
151
  index:
152
+ no_bulletin_board: Es ist kein <a href="https://github.com/decidim/decidim-bulletin-board">Bulletin Board Server</a> konfiguriert, das benötigt wird, um dieses Modul zu verwenden. Diese Aufgabe sollte vom Systemadministrator erledigt werden.
90
153
  title: Wahlen
91
154
  new:
92
155
  create: Wahl erstellen
@@ -98,6 +161,9 @@ de:
98
161
  update:
99
162
  invalid: Beim Aktualisieren dieser Wahl ist ein Fehler aufgetreten
100
163
  success: Wahl wurde erfolgreich aktualisiert
164
+ exports:
165
+ elections: Wahlen
166
+ feedback_form_answers: Antworten auf Feedback-Formular
101
167
  models:
102
168
  answer:
103
169
  name: Antwort
@@ -105,6 +171,8 @@ de:
105
171
  name: Wahl
106
172
  question:
107
173
  name: Frage
174
+ trustee:
175
+ name: Wahlhelfer
108
176
  proposals_imports:
109
177
  create:
110
178
  invalid: Beim Importieren der Vorschläge in Projekte ist ein Problem aufgetreten
@@ -113,6 +181,7 @@ de:
113
181
  create: Importieren Sie Vorschläge in Projekte
114
182
  no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren.
115
183
  select_component: Bitte wählen Sie ein Objekt
184
+ title: Vorschläge importieren
116
185
  questions:
117
186
  create:
118
187
  invalid: Beim Erstellen dieser Frage ist ein Fehler aufgetreten
@@ -131,27 +200,173 @@ de:
131
200
  update:
132
201
  invalid: Beim Aktualisieren dieser Frage ist ein Fehler aufgetreten
133
202
  success: Frage wurde erfolgreich aktualisiert
203
+ steps:
204
+ create_election:
205
+ errors:
206
+ max_selections: Die <strong>maximale Anzahl Antworten</strong> für die Fragen ist inkorrekt
207
+ minimum_answers: Fragen müssen <strong>mindestens zwei Antworten</strong> haben.
208
+ minimum_questions: Die Wahl <strong>muss mindestens eine Frage</strong> haben.
209
+ published: Die Wahl ist <strong>nicht veröffentlicht</strong>.
210
+ time_before: Die Startzeit ist in <strong>weniger als 3 Stunden</strong> vor Beginn der Wahl.
211
+ trustees_number: <strong>Mindestens %{number} Wahlhelfer mit Public Key</strong> werden benötigt.
212
+ invalid: Beim Erstellen dieser Wahl ist ein Fehler aufgetreten
213
+ no_trustees: Es sind keine Wahlhelfer eingetragen
214
+ not_used_trustee: "(nicht verwendet)"
215
+ public_key:
216
+ 'false': hat keinen <strong>Public Key</strong>
217
+ 'true': hat einen <strong>Public Key</strong>
218
+ requirements:
219
+ max_selections: Die <strong>maximale Anzahl Antworten</strong> aller Fragen sind korrekt.
220
+ minimum_answers: Jede Frage hat <strong>mindestens 2 Antworten</strong>.
221
+ minimum_questions: Die Wahl hat <strong>mindestens 1 Frage</strong>.
222
+ published: Die Wahl ist <strong>veröffentlicht</strong>.
223
+ time_before: Die Wahl wird <strong>mindestens %{hours} Stunden</strong> vor Beginn eingerichtet.
224
+ trustees_number: <strong>Mindestens %{number} Wahlhelfer mit Public Key</strong> sind vorhanden.
225
+ submit: Wahl einrichten
226
+ success: Wahl erfolgreich an das Bulletin Board gesendet
227
+ title: Wahl einrichten
228
+ trustees: Wahlhelfer
229
+ created:
230
+ invalid: Beim Starten der Schlüssel-Zeremonie ist ein Fehler aufgetreten
231
+ submit: Schlüssel-Zeremonie starten
232
+ success: Die Anfrage zum Starten der Schlüssel-Zeremonie wurde erfolgreich ans Bulletin Board gesendet
233
+ title: Wahl erstellt
234
+ trustees: Wahlhelfer
235
+ key_ceremony:
236
+ title: Schlüsselzeremonie
237
+ trustees: Wahlhelfer
238
+ key_ceremony_ended:
239
+ errors:
240
+ time_before: Die Wahl ist startbereit. Sie können die Abstimmungsperiode frühestens %{hours} Stunden vor der Startzeit (%{start_time}) eröffnen.
241
+ invalid: Beim Starten der Abstimmungsperiode ist ein Fehler aufgetreten
242
+ requirements:
243
+ time_before: Die Wahl wird bald beginnen. Sie können die Abstimmungsperiode manuell eröffnen, oder sie wird automatisch zur Startzeit um %{start_time} eröffnet.
244
+ submit: Abstimmungsperiode eröffnen
245
+ success: Die Anfrage zum Starten der Abstimmungsperiode wurde erfolgreich ans Bulletin Board gesendet
246
+ title: Startbereit
247
+ processing: In Verarbeitung...
248
+ results_published:
249
+ title: Ergebnisse veröffentlicht
250
+ tally:
251
+ title: Stimmenzähl-Prozess
252
+ trustees: Wahlhelfer
253
+ tally_ended:
254
+ submit: Resultate veröffentlichen
255
+ title: Resultate berechnet
256
+ vote:
257
+ errors:
258
+ time_after: Die Wahl läuft noch. Sie müssen bis zum Ende (%{end_time}) warten, um die Abstimmungsperiode zu schließen.
259
+ invalid: Beim Schließen der Abstimmungsperiode ist ein Fehler aufgetreten
260
+ requirements:
261
+ time_after: Die Wahl ist beendet. Sie können die Abstimmungsperiode manuell schließen, oder sie wird in wenigen Minuten automatisch geschlossen.
262
+ submit: Abstimmungsperiode schließen
263
+ success: Die Anfrage zum Schließen der Abstimmungsperiode wurde erfolgreich ans Bulletin Board gesendet
264
+ title: Abstimmungsperiode
265
+ vote_ended:
266
+ invalid: Beim Starten der Stimmenzählung ist ein Fehler aufgetreten
267
+ submit: Stimmenzählung starten
268
+ success: Die Anfrage zum Starten der Stimmenzählung wurde erfolgreich ans Bulletin Board gesendet
269
+ title: Abstimmungsperiode abgeschlossen
270
+ vote_stats:
271
+ no_vote_statistics_yet: Noch keine Statistiken zur Abstimmung
272
+ title: Statistiken zur Abstimmung
273
+ voters: Wähler
274
+ votes: Stimmen
275
+ trustees_participatory_spaces:
276
+ actions:
277
+ disable: Deaktivieren
278
+ enable: Berücksichtigen
279
+ create:
280
+ exists: Ein Wahlhelfer existiert für diesen partizipativen Raum
281
+ invalid: Es ist ein Problem beim erstellen des Wahlhelfers aufgetreten
282
+ success: Wahlhelfer erfolgreich erstellt
283
+ delete:
284
+ invalid: Es ist ein Problem beim entfernen des Wahlhelfers aufgetreten
285
+ success: Wahlhelfer erfolgreich entfernt
286
+ form:
287
+ select_user: Nutzer wählen
288
+ index:
289
+ title: Wahlhelfer
290
+ new:
291
+ create: Wahlhelfer erstellen
292
+ title: Neuer Wahlhelfer
293
+ update:
294
+ invalid: Es ist ein Problem beim Aktualisieren des Wahlhelfers %{trustee} aufgetreten
295
+ success: Wahlhelfer %{trustee} erfolgreich aktualisiert
134
296
  admin_log:
135
297
  election:
298
+ end_vote: "%{user_name} hat die Abstimmungsperiode für die Wahl %{resource_name} im Bulletin Board beendet"
136
299
  publish: "%{user_name} hat die %{resource_name} Wahl veröffentlicht"
300
+ setup: "%{user_name} hat die Wahl %{resource_name} auf dem Bulletin Board erstellt"
301
+ start_key_ceremony: "%{user_name} hat die Schlüssel-Zeremonie für die Wahl %{resource_name} im Bulletin Board eröffnet"
302
+ start_tally: "%{user_name} hat die Stimmenzählung für die Wahl %{resource_name} im Bulletin Board eröffnet"
303
+ start_vote: "%{user_name} hat die Abstimmungsperiode für die Wahl %{resource_name} im Bulletin Board eröffnet"
137
304
  unpublish: "%{user_name} hat die %{resource_name} Wahl zurückgezogen"
138
305
  election_m:
139
306
  badge_name:
140
307
  finished: Abgeschlossen
141
308
  ongoing: Aktiv
309
+ upcoming: Anstehend
310
+ end_date: Endet am
311
+ footer:
312
+ view: Ansicht
313
+ vote: Abstimmung
314
+ label:
315
+ date: Daten
316
+ questions: Fragen %{count}
317
+ start_date: Startet am
318
+ unspecified: Nicht angegeben
142
319
  elections:
143
320
  count:
144
321
  elections_count:
145
322
  one: "%{count} Wahlen"
146
323
  other: "%{count} Wahlen"
324
+ filters:
325
+ active: Aktiv
326
+ all: Alle
327
+ finished: Abgeschlossen
328
+ search: Suche
329
+ state: Status
330
+ upcoming: Anstehend
331
+ filters_small_view:
332
+ close_modal: Dialog schließen
333
+ filter: Filter
334
+ filter_by: Filtern nach
335
+ unfold: Aufklappen
336
+ preview:
337
+ available_answers: Verfügbare Antworten
338
+ description: Dies sind die Fragen, die Sie im Abstimmungsverfahren finden werden
339
+ title: Wahlfragen
340
+ results:
341
+ description: Dies sind die Abstimmungsergebnisse für jede Frage
342
+ selected: Ausgewählt
343
+ title: Wahlergebnisse
344
+ votes:
345
+ one: ""
346
+ other: ""
147
347
  show:
148
- back: Alle Wahlen
348
+ action-button:
349
+ change-vote: Stimme ändern
350
+ vote: Jetzt abstimmen
351
+ vote-again: Erneut abstimmen
352
+ back: Verfügbare Wahlen
353
+ callout:
354
+ already-voted: Sie haben bei dieser Wahl bereits abgestimmt. Sie können Ihre Stimme ändern oder sie verifizieren.
355
+ vote-rejected: Es war nicht möglich, Ihre Stimme zu verifizieren. Bitte geben Sie ihre Stimme erneut ab.
149
356
  preview: Vorschau
150
- vote: Stimmen
357
+ verify:
358
+ already-voted: Bereits abgestimmt?
359
+ verify-here: Stimme hier verifizieren.
360
+ will-verify: Sie können ihre Stimme nach dem Start der Wahl verifizieren.
151
361
  voting_period_status:
152
362
  finished: Die Abstimmung begann am %{start_time} und endete am %{end_time}
153
- ongoing: Die Abstimmung endet am %{end_time}
363
+ ongoing: 'Abstimmung aktiv bis: %{end_time}'
154
364
  upcoming: Die Abstimmung beginnt am %{start_time}
365
+ feedback:
366
+ answer:
367
+ invalid: Beim Senden Ihrer Meldung ist ein Fehler aufgetreten.
368
+ spam_detected: Bei der Beantwortung des Fragebogens ist ein Fehler aufgetreten. Möglicherweise waren Sie zu schnell. Versuchen Sie es vielleicht erneut.
369
+ success: Feedback erfolgreich versand.
155
370
  models:
156
371
  answer:
157
372
  fields:
@@ -159,14 +374,123 @@ de:
159
374
  title: Titel
160
375
  election:
161
376
  fields:
377
+ bb_status: Bulletin Board Status
162
378
  end_time: Endet um
163
379
  start_time: Beginnt um
164
380
  title: Titel
165
381
  question:
166
382
  fields:
167
383
  answers: Antworten
168
- max_selections: Maximale Auswahl
384
+ max_selections: Max. Antworten
169
385
  title: Titel
386
+ trustees_participatory_space:
387
+ fields:
388
+ considered: berücksichtigt
389
+ email: E-Mail
390
+ inactive: inaktiv
391
+ name: Name
392
+ notification: Benachrichtigung versendet um
393
+ public_key: Öffentlicher Schlüssel
394
+ status: Status
395
+ orders:
396
+ label: Wahlen ordnen nach
397
+ older: Chronologisch
398
+ recent: Kürzlich hinzugefügt
399
+ trustee_zone:
400
+ elections:
401
+ backup_modal:
402
+ description: Diese Wahl wird im Bulletin Board erstellt. Es ist sehr wichtig dass alle Wahlhelfer, welche daran teilnehmen, eine Sicherungskopie dieser Schlüssel erstellen und sie an einem sicheren Ort speichern. Danach wird der Prozess fortgesetzt.
403
+ download_election_keys: Schlüssel herunterladen
404
+ download_icon: Symbol, das eine Download-Aktion anzeigt
405
+ title: Wahl-Schlüssel für %{election} sichern
406
+ key_ceremony_steps:
407
+ back: Zurück
408
+ description: Diese Wahl wird im Bulletin Board erstellt. Um diesen Prozess abzuschliessen, ist Ihre Teilnahme als Wahlhelfer nötig.
409
+ keys:
410
+ create_election: Schlüssel erstellen
411
+ key_ceremony:
412
+ joint_election_key: Gemeinsame Schlüssel erstellen
413
+ step_1: Schlüssel veröffentlichen
414
+ list:
415
+ status: Status
416
+ task: Aufgabe
417
+ process_warning: Sobald der Prozess gestartet ist, sollten Sie diese Seite nicht verlassen, bis der Prozess endet. Dies kann einige Minuten dauern, da alle Wahlhelfer verbunden sein müssen um den Prozess abzuschliessen.
418
+ start: Start
419
+ start_icon: Symbol, das einen Startknopf anzeigt, um die Erzeugung der Wahl-Schlüssel zu starten
420
+ status:
421
+ completed: Abgeschlossen
422
+ pending: Ausstehend
423
+ processing: In Verarbeitung
424
+ title: Wahl-Schlüssel für %{election} erstellen
425
+ restore_modal:
426
+ description: Das Bulletin Board hat Informationen von Ihnen als Wahlhelfer zu dieser Wahl. Um den Vorgang fortzusetzen, laden Sie zuerst die Sicherungsdatei hoch, die während der vorherigen Sitzung erstellt wurde.
427
+ title: Wahl-Schlüssel für %{election} wiederherstellen
428
+ upload_election_keys: Wahl-Schlüssel hochladen
429
+ upload_icon: Symbol, das eine Download-Aktion anzeigt
430
+ tally_steps:
431
+ back: Zurück
432
+ description: Die Ergebnisse dieser Wahl werden im Bulletin Board berechnet. Um diesen Prozess abzuschließen ist Ihre Teilnahme als Wahlhelfer erforderlich.
433
+ keys:
434
+ end_tally: Stimmenzählung abgeschloßen
435
+ tally:
436
+ cast: Stimmzählung abgeben
437
+ share: Stimmzählung austauschen
438
+ list:
439
+ status: Status
440
+ task: Aufgabe
441
+ process_warning: Sobald der Prozess gestartet ist, sollten Sie diese Seite nicht verlassen, bis der Prozess endet. Dies kann einige Minuten dauern, da alle Wahlhelfer verbunden sein müssen um den Prozess abzuschliessen.
442
+ start: Beginnen
443
+ start_icon: Symbol, das einen Startknopf anzeigt, um die Erzeugung der Wahl-Schlüssel zu starten
444
+ status:
445
+ completed: Abgeschlossen
446
+ pending: Ausstehend
447
+ processing: In Verarbeitung
448
+ title: Stimmenzählung für %{election}
449
+ update:
450
+ error: Der Wahlstatus wurde nicht aktualisiert.
451
+ success: 'Der Wahlstatus ist: %{status}'
452
+ menu:
453
+ trustee_zone: Wahlhelfer Zone
454
+ no_bulletin_board:
455
+ body: Ein konfiguriertes Bulletin-Board ist für diesen Bereich erforderlich. Kontaktieren Sie den Administrator für weitere Informationen.
456
+ title: Leider ist das Bulletin Board noch nicht eingerichtet.
457
+ trustees:
458
+ show:
459
+ elections:
460
+ list:
461
+ action_required:
462
+ 'false': 'Nein'
463
+ name: Aktion erforderlich?
464
+ 'true': Aktion ausführen
465
+ bb_status: Status
466
+ election: Wahl
467
+ voting_period: Abstimmungsperiode
468
+ no_elections: Es gibt keine Wahlen, bei denen Sie als Wahlhelfer agieren.
469
+ title: Wahlen
470
+ identification_keys:
471
+ cancel: Abbrechen
472
+ generate: Identifikationsschlüssel generieren
473
+ generate_error: Beim Generieren der Identifikationsschlüssel ist ein Fehler aufgetreten.
474
+ generate_legend: Sie müssen ein Schlüsselpaar generieren, um an Wahlen als Wahlhelfer teilzunehmen.
475
+ generate_legend_1: Nach Drücken des Buttons sollten Sie die Datei mit den generierten Identifikationsschlüssel herunterladen.
476
+ generate_legend_2: Kopiere die heruntergeladene Datei auf ein sauberen USB-Stick
477
+ generate_legend_3: Stellen Sie sicher, dass Ihr Computer keine Kopie der Datei hat (z.B. überprüfen Sie die Download- und Desktop-Ordner).
478
+ generate_legend_4: Machen Sie eine weitere Kopie der Datei auf einem anderen externen Gerät und speichern Sie sie an einem sehr sicheren Ort.
479
+ submit: Einreichen
480
+ submit_legend: Nachdem Sie alle oben beschriebenen Schritte befolgt haben, führen Sie den Prozess durch, der den öffentlichen Identifikationsschlüssel an den Decidim-Server sendet.
481
+ submit_title: Öffentlichen Identifikationsschlüssel einreichen
482
+ title: Wahlhelfer-Identifikationsschlüssel
483
+ upload: Lade deine Identifikationsschlüssel hoch
484
+ upload_error:
485
+ invalid_format: Die hochgeladene Datei enthält keinen Identifikationsschlüssel.
486
+ invalid_key: Die Identifikationsschlüssel in der hochgeladenen Datei können nicht geladen werden.
487
+ invalid_public_key: Die Identifikationsschlüssel in der hochgeladenen Datei stimmen nicht mit dem öffentlichen Identifikationsschlüssel überein, der von Decidim gespeichert wird.
488
+ upload_legend: Decidim hat Ihren öffentlichen Identifikationsschlüssel, aber Ihr Browser hat ihn immer noch nicht. Sie müssen die Datei mit Ihren Identifikationsschlüssel aus dem Backup auf Ihren Computer importieren, das Sie nach der Generierung erstellt haben.
489
+ not_supported_browser_description: Es sieht so aus, als ob Sie einen Webbrowser verwenden, der als Wahlhelfer nicht verwendet werden kann. Stellen Sie sicher, dass Sie die neueste Version Ihres Browsers verwenden, oder versuchen Sie, einen der üblichen Browser zu verwenden, um Ihre Wahlhelfer-Aufgaben zu erfüllen.
490
+ not_supported_browser_title: Browser aktualisieren, um als Wahlhelfer zu agieren
491
+ trustee_role_description: Sie wurden beauftragt, bei einigen der auf dieser Plattform gehaltenen Wahlen als Wahlhelfer zu agieren.
492
+ update:
493
+ success: Ihr öffentlicher Identifikationsschlüssel wurde erfolgreich gespeichert.
170
494
  votes:
171
495
  confirm:
172
496
  answer: Antwort
@@ -175,18 +499,24 @@ de:
175
499
  edit: bearbeiten
176
500
  header: Bestätige deine Stimme
177
501
  intro: Hier ist eine Zusammenfassung der Wahl, die Sie abgeben möchten. <br> Bitte bestätigen Sie Ihre Stimme oder bearbeiten Sie Ihre Antworten.
502
+ nota_option: Leer
178
503
  question: Frage %{count}
179
504
  confirmed:
180
505
  back: Zurück zu den Wahlen
506
+ error: Leider ist ein Fehler bei der Bestätigung der Abstimmung aufgetreten. Bitte erneut abstimmen.
181
507
  experience: Wie war Ihre Erfahrung mit uns?
182
508
  feedback: Gib uns dein Feedback
183
509
  header: Abstimmung bestätigt
184
510
  lead: Deine Stimme wurde bereits abgegeben!
185
511
  text: 'Sie können überprüfen, ob Ihre Stimme erfolgreich zur Wahlurne mit folgendem Identifikator hinzugefügt wurde: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
186
- verify_text: Um dies zu überprüfen, kopieren Sie die Kennung und fügen Sie sie auf der <a href="evote-verify">Bestätigungsseite</a> ein
512
+ verify_link: Um dies zu überprüfen, kopieren Sie die Kennung und fügen Sie sie auf der <a href="%{link}">Bestätigungsseite</a> ein
187
513
  encrypting:
188
514
  header: Abstimmung wird verschlüsselt...
189
515
  text: Deine Stimme wird verschlüsselt, um sicherzustellen, dass du sie anonym abgeben kannst.
516
+ failed:
517
+ header: Abstimmung fehlgeschlagen
518
+ lead: Ihre Stimme wurde nicht abgegeben!
519
+ text: Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
190
520
  header:
191
521
  confirm: Bestätige deine Stimme
192
522
  confirmed: Abstimmung bestätigt
@@ -197,20 +527,79 @@ de:
197
527
  close: Schließen
198
528
  proposal_header: 'Vorschläge:'
199
529
  new:
530
+ answer_choices: Sie können bis zu %{choices} Antworten auswählen
200
531
  more_information: Weitere Informationen
532
+ nota_option: Nichts davon
201
533
  preview_alert: Dies ist eine Vorschau des Abstimmungsstandes.
202
534
  question_steps: Frage %{current_step} von %{total_steps}
203
535
  selections: "%{selected} von %{max_selections}<br> ausgewählt"
536
+ processing:
537
+ header: Stimme wird verarbeitet...
538
+ text: Ihre Stimme wurde empfangen und wird verarbeitet. Bitte warten.
539
+ update:
540
+ error: Beim Aktualisieren dieses Status ist ein Problem aufgetreten
541
+ success: Abstimmung erfolgreich aktualisiert
542
+ verify:
543
+ content:
544
+ heading: Stimme verifizieren
545
+ info: Dieser Verifikator prüft, dass Ihre Stimme, welche durch eine verschlüsselte Kennung identifiziert wird, korrekt abgegeben wurde und sich in der Wahlurne befindet.
546
+ error:
547
+ header: Stimme nicht gefunden!
548
+ info: Diese Kennung wurde nicht in der Wahlurne %{link} gefunden. Versuchen Sie es erneut.
549
+ form:
550
+ back: Zurück zu Decidim
551
+ submit: Überprüfen
552
+ vote_identifier: 'Kennung:'
553
+ header:
554
+ title: Stimme verifizieren
555
+ success:
556
+ header: Stimme gefunden!
557
+ info: Ihre verschlüsselte Stimme ist in der Wahlurne %{link}
204
558
  voting_step:
205
559
  back: Zurück
206
560
  continue: Weiter
561
+ warnings:
562
+ no_elections_warning: Keine Wahlen entsprechen Ihren Suchkriterien oder es ist keine Wahl geplant.
563
+ no_scheduled_elections_warning: Derzeit sind keine Wahlen geplant, aber hier finden Sie alle vergangenen Wahlen aufgelistet.
207
564
  events:
208
565
  elections:
209
566
  election_published:
210
567
  email_intro: 'Die Wahl %{resource_title} ist jetzt für %{participatory_space_title} aktiv. Sie können es von dieser Seite sehen:'
211
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Über den vorherigen Link können Sie die Benachrichtigungen deaktivieren.
568
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
212
569
  email_subject: Die Wahl %{resource_title} ist jetzt aktiv für %{participatory_space_title}.
213
570
  notification_title: Die Wahl <a href="%{resource_path}">%{resource_title}</a> ist jetzt aktiv für %{participatory_space_title}.
571
+ trustees:
572
+ new_election:
573
+ email_intro: Sie sind Wahlhelfer für die %{resource_title} -Wahl.
574
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie als Wahlhelfer bei der Wahl %{resource_title} hinzugefügt wurden.
575
+ email_subject: Sie sind Wahlhelfer für die %{resource_title} -Wahl..
576
+ notification_title: Sie sind Wahlhelfer für die Wahl <a href="%{resource_path}">%{resource_title}</a>.
577
+ new_trustee:
578
+ email_intro: Ein Administrator hat Sie als Wahlhelfer für %{resource_name} hinzugefügt. Sie sollten Ihren öffentlichen Schlüssel <a href='%{trustee_zone_url}'> in Ihrer Wahlhelfer Zone anlegen</a>
579
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie als Wahlhelfer für %{resource_name} hinzugefügt wurden.
580
+ email_subject: Sie sind Wahlhelfer für %{resource_name}.
581
+ notification_title: Sie sind Wahlhelfer für <a href="%{participatory_space_url}">%{resource_name}</a>.
582
+ votes:
583
+ accepted_votes:
584
+ email_intro: 'Deine Stimme wurde angenommen! Benutze deinen Stimm-Token: %{encrypted_vote_hash}, du kannst deine Stimme <a href="%{verify_url}">hier verifizieren</a>.'
585
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie für die %{resource_name} -Wahl gestimmt haben.
586
+ email_subject: Deine Stimme für %{resource_name} wurde angenommen.
587
+ notification_title: 'Deine Stimme wurde akzeptiert. Verifiziere deine Stimme <a href="%{verify_url}">hier</a> mit deinem Voting-Token: %{encrypted_vote_hash}'
588
+ votings:
589
+ polling_officers:
590
+ polling_station_assigned:
591
+ email_intro: Ihnen wurde die Rolle %{role} im Wahllokal %{polling_station_name} in <a href="%{resource_url}">%{resource_title}</a> zugewiesen. Sie können das Wahllokal im dazu vorgesehenen <a href="%{polling_officer_zone_url}">Bereich</a> verwalten.
592
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihnen die Rolle %{role} in %{polling_station_name} zugewiesen wurde.
593
+ email_subject: Sie haben die Rolle %{role} im Wahllokal %{polling_station_name}.
594
+ notification_title: Sie haben die Rolle %{role} im Wahllokal %{polling_station_name} der Abstimmung <a href="%{resource_path}">%{resource_title}</a>.
595
+ help:
596
+ participatory_spaces:
597
+ votings:
598
+ contextual: "<p>Eine <strong>Abstimmung</strong> erlaubt es Ihnen, eine klare Frage an alle Personen einer Organisation zu stellen, zur Teilnahme an der Abstimmung aufzurufen und die Debatte für oder gegen eine Antwort zu eröffnen. Am Abstimmungsdatum können Sie abstimmen und die Resultate der Abstimmung veröffentlichen.</p> <p>Beispiele: Die Abstimmungen können fast beliebige Aspekte einer Organisation betreffen. Zum Beispiel kann über verschiedene Varianten des Namens oder des Logos der Organisation abgestimmt werden, Sie können sich dafür oder dagegen entscheiden, Teil einer grösseren Organisation zu werden, eine neue Strategie oder das Resultat einer Arbeitsgruppe bestätigen oder ablehnen oder die Anzahl Mandate in der Organisation definieren.</p>\n"
599
+ page: "<p>Eine <strong>Abstimmung</strong> erlaubt es Ihnen, eine klare Frage an alle Personen einer Organisation zu stellen, zur Teilnahme an der Abstimmung aufzurufen und die Debatte für oder gegen eine Antwort zu eröffnen. Am Abstimmungsdatum können Sie abstimmen und die Resultate der Abstimmung veröffentlichen.</p> <p>Beispiele: Die Abstimmungen können fast beliebige Aspekte einer Organisation betreffen. Zum Beispiel kann über verschiedene Varianten des Namens oder des Logos der Organisation abgestimmt werden, Sie können sich dafür oder dagegen entscheiden, Teil einer grösseren Organisation zu werden, eine neue Strategie oder das Resultat einer Arbeitsgruppe bestätigen oder ablehnen oder die Anzahl Mandate in der Organisation definieren.</p>\n"
600
+ title: Was sind Abstimmungen?
601
+ menu:
602
+ votings: Abstimmungen
214
603
  pages:
215
604
  home:
216
605
  statistics:
@@ -218,7 +607,285 @@ de:
218
607
  participatory_processes:
219
608
  statistics:
220
609
  elections_count: Wahlen
610
+ votings:
611
+ admin:
612
+ content_blocks:
613
+ highlighted_votings:
614
+ max_results: Maximale Anzahl angezeigte Elemente
615
+ landing_page:
616
+ attachments_and_folders:
617
+ name: Materialien und Verzeichnisse zur Abstimmung
618
+ description:
619
+ name: Beschreibung der Abstimmung
620
+ elections:
621
+ name: Wahlen
622
+ header:
623
+ name: Überschrift
624
+ html_block_1:
625
+ name: Abstimmung HTML Block 1
626
+ html_block_2:
627
+ name: Abstimmung HTML Block 2
628
+ html_block_3:
629
+ name: Abstimmung HTML Block 3
630
+ metrics:
631
+ name: Abstimmungsmetriken
632
+ polling_stations:
633
+ name: Wahllokale
634
+ stats:
635
+ name: Abstimmungsstatistiken
636
+ timeline:
637
+ name: Abstimmungs-Timeline
638
+ index:
639
+ not_published: Unveröffentlicht
640
+ published: Veröffentlicht
641
+ landing_page:
642
+ content_blocks:
643
+ edit:
644
+ update: Aktualisieren
645
+ edit:
646
+ active_content_blocks: Aktive Inhaltsblöcke
647
+ inactive_content_blocks: Inaktive Inhaltsblöcke
648
+ menu:
649
+ votings: Abstimmungen
650
+ votings_submenu:
651
+ attachment_collections: Ordner
652
+ attachment_files: Dateien
653
+ attachments: Dateianhänge
654
+ components: Komponenten
655
+ info: Information
656
+ landing_page: Landing-Page
657
+ monitoring_committee_members: Überwachungskomitee
658
+ polling_officers: Wahllokal-Mitarbeitende
659
+ polling_stations: Wahllokale
660
+ models:
661
+ monitoring_committee_member:
662
+ fields:
663
+ email: E-Mail
664
+ name: Name
665
+ name: Mitglied des Überwachungskomitees
666
+ polling_officer:
667
+ fields:
668
+ email: E-Mail
669
+ name: Name
670
+ polling_station: Wahllokal (Rolle)
671
+ name: Wahllokal-Mitarbeitender
672
+ polling_station:
673
+ fields:
674
+ address: Adresse
675
+ polling_station_managers: Manager
676
+ polling_station_president: Präsident
677
+ title: Titel
678
+ name: Wahllokal
679
+ voting:
680
+ fields:
681
+ created_at: Erstellt am
682
+ promoted: Hervorgehoben
683
+ published: Veröffentlicht
684
+ title: Titel
685
+ monitoring_committee_members:
686
+ create:
687
+ invalid: Beim Erfassen dieses Überwachungskomitee-Mitglieds ist ein Fehler aufgetreten
688
+ success: Überwachungskomitee-Mitglied erfolgreich erfasst
689
+ destroy:
690
+ invalid: Beim Löschen dieses Überwachungskomitee-Mitglieds ist ein Fehler aufgetreten
691
+ success: Überwachungskomitee-Mitglied erfolgreich entfernt
692
+ form:
693
+ existing_user: Existierender Benutzer
694
+ non_user: Neuen Benutzer einladen
695
+ select_user: Suchen nach Name, E-Mail oder Benutzername
696
+ user_type: Benutzertyp
697
+ index:
698
+ title: Überwachungskomitee
699
+ new:
700
+ create: Hinzufügen
701
+ title: Überwachungskomitee-Mitglied erfassen
702
+ polling_officers:
703
+ create:
704
+ invalid: Beim Erfassen dieses Wahllokal-Mitarbeiters ist ein Fehler aufgetreten
705
+ success: Wahllokal-Mitarbeitender wurde erfolgreich erfasst
706
+ destroy:
707
+ invalid: Beim Entfernen dieses Wahllokal-Mitarbeitenden ist ein Fehler aufgetreten
708
+ success: Wahllokal-Mitarbeitender wurde erfolgreich entfernt
709
+ form:
710
+ existing_user: Existierender Benutzer
711
+ non_user: Neuen Benutzer einladen
712
+ select_user: Suchen nach Name, E-Mail oder Benutzername
713
+ user_type: Benutzertyp
714
+ index:
715
+ role_manager: Manager
716
+ role_president: Präsident
717
+ title: Wahllokal-Mitarbeitende
718
+ new:
719
+ create: Erfassen
720
+ title: Wahllokal-Mitarbeiter erfassen
721
+ polling_officers_picker:
722
+ choose_polling_officers: Wahllokal-Mitarbeitende auswählen
723
+ close: Schließen
724
+ more_polling_officers: Es gibt %{number} weitere Wahllokal-Mitarbeitende. Verfeinern Sie Ihre Suche um sie zu finden.
725
+ no_polling_officers: Keine Wahllokal-Mitarbeitenden passen zu Ihren Suchkriterien, oder es gibt keine Wahllokal-Mitarbeitenden.
726
+ polling_stations:
727
+ create:
728
+ invalid: Beim Erstellen dieses Wahllokals ist ein Fehler aufgetreten
729
+ success: Wahllokal erfolgreich erfasst
730
+ destroy:
731
+ invalid: Beim Löschen dieses Wahllokals ist ein Fehler aufgetreten
732
+ success: Wahllokal erfolgreich gelöscht
733
+ edit:
734
+ title: Wahllokal bearbeiten
735
+ update: Wahllokal aktualisieren
736
+ form:
737
+ address_help: 'Adresse: Wird vom Geocoder zur Lokalisierung verwendet'
738
+ location_help: 'Ort: Beschreibung des genauen Orts des Wahllokals für die Wähler'
739
+ location_hints_help: 'Ortshinweise: Zusätzliche Informationen. Beispiel: Das Stockwerk des Gebäudes in dem sich das Wahllokal befindet.'
740
+ polling_station_managers_help: 'Wahllokal-Manager: Die Mitarbeitenden die als Verwalter des Wahllokals agieren werden. Stellen Sie sicher dass diese Personen bereits als Wahllokal-Mitarbeitende erfasst wurden, und dass sie nicht bereits zu einem anderen Wahllokal zugewiesen sind'
741
+ polling_station_president_help: 'Wahllokal-Mitarbeiter: Der Mitarbeiter der als Präsident des Wahllokals agiert. Stellen Sie sicher dass diese Person bereits als Wahllokal-Mitarbeitender erfasst wurde, und dass sie nicht bereits zu einem anderen Wahllokal zugewiesen ist'
742
+ select_president: Wählen Sie einen Wahllokal-Mitarbeiter als Präsident für das Wahllokal
743
+ index:
744
+ title: Wahllokale
745
+ new:
746
+ create: Erstellen
747
+ title: Wahllokal erstellen
748
+ update:
749
+ invalid: Beim Aktualisieren dieses Wahllokals ist ein Fehler aufgetreten
750
+ success: Wahllokal erfolgreich aktualisiert
751
+ titles:
752
+ votings: Abstimmungen
753
+ votings:
754
+ actions:
755
+ confirm_destroy: Sind Sie sicher?
756
+ destroy: Löschen
757
+ new_voting: Neue Abstimmung
758
+ publish: Veröffentlichen
759
+ unpublish: Veröffentlichung rückgängig machen
760
+ create:
761
+ invalid: Beim Erstellen dieser Abstimmung ist ein Problem aufgetreten
762
+ success: Abstimmung erfolgreich erstellt
763
+ edit:
764
+ add_election_component: Sie haben keine Wahl für diese Abstimmung konfiguriert. Bitte fügen Sie sie im Abschnitt Komponenten hinzu
765
+ assign_missing_officers: Es gibt noch Wahllokale ohne Präsident und/oder Wahlleiter. Bitte ordnen Sie diese im Wahllokal-Abschnitt zu
766
+ update: Aktualisieren
767
+ form:
768
+ select_a_voting_type: Bitte einen Abstimmungs-Typ auswählen
769
+ slug_help: 'URL-Slugs werden zum Generieren der URLs verwendet, die auf diese Abstimmung verweisen. Akzeptiert nur Buchstaben, Zahlen und Bindestriche und muss mit einem Buchstaben beginnen. Beispiel: %{url}'
770
+ title: Titel
771
+ voting_type:
772
+ hybrid: Hybrid
773
+ in_person: Persönlich
774
+ online: Online
775
+ new:
776
+ create: Erstellen
777
+ title: Neue Abstimmung
778
+ publish:
779
+ success: Abstimmung erfolgreich veröffentlicht
780
+ unpublish:
781
+ success: Veröffentlichung der Abstimmung erfolgreich rückgängig gemacht
782
+ update:
783
+ invalid: Beim Aktualisieren dieser Abstimmung ist ein Problem aufgetreten
784
+ success: Abstimmung erfolgreich aktualisiert
785
+ admin_log:
786
+ voting:
787
+ create: "%{user_name} hat die Abstimmung %{resource_name} erstellt"
788
+ publish: "%{user_name} hat die Abstimmung %{resource_name} veröffentlicht"
789
+ unpublish: "%{user_name} hat die Abstimmung %{resource_name} auf \"unveröffentlicht\" gesetzt"
790
+ content_blocks:
791
+ highlighted_votings:
792
+ name: Hervorgehobene Abstimmungen
793
+ monitoring_committee_members:
794
+ actions:
795
+ confirm_destroy: Sind Sie sicher?
796
+ destroy: Entfernen
797
+ new: Neues Mitglied
798
+ title: Aktionen
799
+ pages:
800
+ home:
801
+ highlighted_votings:
802
+ active_votings: Aktive Abstimmungen
803
+ see_all_votings: Alle Abstimmungen ansehen
804
+ votings_button_title: Link zur Seite die alle Abstimmungen anzeigt
805
+ polling_officer_zone:
806
+ menu:
807
+ polling_officer_zone: Wahllokal-Mitarbeiter-Bereich
808
+ polling_officers:
809
+ show:
810
+ actions:
811
+ count_votes: Stimmen in der Wahlurne zählen
812
+ identify_person: Eine Person identifizieren und verifizieren
813
+ polling_officer_role_description: Ihnen wurde eine Rolle als Wahlhelfer (Präsident oder Manager) in Wahlen dieser Plattform zugewiesen.
814
+ polling_stations:
815
+ list:
816
+ actions: Aktionen
817
+ address: Adresse
818
+ name: Name
819
+ role: Ihre Rolle
820
+ voting: Abstimmung
821
+ no_polling_stations: Sie sind noch zu keinem Wahllokal zugewiesen.
822
+ title: Wahllokale
823
+ polling_officers:
824
+ actions:
825
+ confirm_destroy: Sind Sie sicher?
826
+ destroy: Entfernen
827
+ new: Neu
828
+ title: Aktionen
829
+ roles:
830
+ manager: Manager
831
+ president: Präsident
832
+ unassigned: Nicht zugewiesen
833
+ polling_stations:
834
+ actions:
835
+ confirm_destroy: Sind Sie sicher?
836
+ destroy: Löschen
837
+ edit: Bearbeiten
838
+ new: Neu
839
+ title: Aktionen
840
+ votings:
841
+ count:
842
+ title:
843
+ one: "%{count} Abstimmung"
844
+ other: "%{count} Abstimmungen"
845
+ filters:
846
+ active: Aktiv
847
+ all: Alle
848
+ finished: Abgeschlossen
849
+ search: Suchen
850
+ state: Status
851
+ upcoming: Zukünftig
852
+ filters_small_view:
853
+ close_modal: Dialog schließen
854
+ filter: Filter
855
+ filter_by: Filtern nach
856
+ unfold: Aufklappen
857
+ index:
858
+ no_votings: Keine Abstimmung gefunden, die Ihren Suchkriterien entspricht.
859
+ only_finished: Momentan gibt es keine geplanten Abstimmungen, aber hier finden Sie alle abgeschlossenen Abstimmungen.
860
+ title: Abstimmungen
861
+ orders:
862
+ label: 'Abstimmungen sortieren nach:'
863
+ random: Zufällig
864
+ recent: Neueste zuerst
865
+ show:
866
+ dates: Daten
867
+ votings_m:
868
+ badge_name:
869
+ finished: Abgeschlossen
870
+ ongoing: Aktuell
871
+ upcoming: Zukünftig
872
+ footer_button_text:
873
+ participate: Mitmachen
874
+ view: Anzeigen
875
+ vote: Abstimmen
876
+ unspecified: Keine Angabe
877
+ voting_type:
878
+ hybrid: Hybrid
879
+ in_person: Persönlich
880
+ online: Online
881
+ voting_types_label: Abstimmungsart
221
882
  layouts:
222
883
  decidim:
223
884
  election_votes_header:
224
885
  exit: Beenden
886
+ votings:
887
+ index:
888
+ promoted_votings: Hervorgehobene Abstimmungen
889
+ promoted_voting:
890
+ more_info: Mehr Informationen
891
+ vote: Abstimmen