decidim-elections 0.23.3 → 0.24.1

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 +636 -6
  246. data/config/locales/cs.yml +645 -7
  247. data/config/locales/de.yml +636 -6
  248. data/config/locales/el.yml +4 -2
  249. data/config/locales/en.yml +636 -6
  250. data/config/locales/es-MX.yml +637 -7
  251. data/config/locales/es-PY.yml +637 -7
  252. data/config/locales/es.yml +637 -7
  253. data/config/locales/fi-plain.yml +637 -7
  254. data/config/locales/fi.yml +638 -8
  255. data/config/locales/fr-CA.yml +423 -6
  256. data/config/locales/fr.yml +423 -6
  257. data/config/locales/gl.yml +85 -5
  258. data/config/locales/it.yml +98 -6
  259. data/config/locales/ja.yml +12 -6
  260. data/config/locales/lv.yml +4 -2
  261. data/config/locales/nl.yml +503 -6
  262. data/config/locales/no.yml +2 -5
  263. data/config/locales/pl.yml +655 -10
  264. data/config/locales/pt.yml +4 -6
  265. data/config/locales/ro-RO.yml +214 -6
  266. data/config/locales/sv.yml +258 -7
  267. data/config/locales/tr-TR.yml +111 -6
  268. data/config/locales/zh-CN.yml +4 -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
@@ -16,6 +16,9 @@ de:
16
16
  max_selections: Maximale Anzahl Antworten
17
17
  min_selections: Nichts davon
18
18
  title: Titel
19
+ voting:
20
+ end_time: Abstimmung endet
21
+ start_time: Abstimmung beginnt
19
22
  errors:
20
23
  models:
21
24
  answer:
@@ -26,7 +29,25 @@ de:
26
29
  attributes:
27
30
  attachment:
28
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
29
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
30
51
  models:
31
52
  decidim/elections/answer:
32
53
  one: Antwort
@@ -37,7 +58,33 @@ de:
37
58
  decidim/elections/question:
38
59
  one: Frage
39
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
40
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.
41
88
  components:
42
89
  elections:
43
90
  actions:
@@ -53,9 +100,11 @@ de:
53
100
  confirm_destroy: Sind Sie sicher?
54
101
  destroy: Löschen
55
102
  edit: Bearbeiten
56
- edit_answers: Antworten bearbeiten
57
- edit_questions: Fragen bearbeiten
103
+ feedback: Feedback der Wähler
58
104
  import: Importieren Sie Vorschläge in Projekte
105
+ manage_answers: Antworten verwalten
106
+ manage_questions: Fragen verwalten
107
+ manage_steps: Schritte verwalten
59
108
  new: Neue(r/s) %{name}
60
109
  preview: Vorschau
61
110
  publish: Veröffentlichen
@@ -78,6 +127,14 @@ de:
78
127
  new:
79
128
  create: Antwort erstellen
80
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
81
138
  update:
82
139
  invalid: Beim Aktualisieren dieser Antwort ist ein Fehler aufgetreten
83
140
  success: Antwort wurde erfolgreich aktualisiert
@@ -104,6 +161,9 @@ de:
104
161
  update:
105
162
  invalid: Beim Aktualisieren dieser Wahl ist ein Fehler aufgetreten
106
163
  success: Wahl wurde erfolgreich aktualisiert
164
+ exports:
165
+ elections: Wahlen
166
+ feedback_form_answers: Antworten auf Feedback-Formular
107
167
  models:
108
168
  answer:
109
169
  name: Antwort
@@ -111,6 +171,8 @@ de:
111
171
  name: Wahl
112
172
  question:
113
173
  name: Frage
174
+ trustee:
175
+ name: Wahlhelfer
114
176
  proposals_imports:
115
177
  create:
116
178
  invalid: Beim Importieren der Vorschläge in Projekte ist ein Problem aufgetreten
@@ -119,6 +181,7 @@ de:
119
181
  create: Importieren Sie Vorschläge in Projekte
120
182
  no_components: Es gibt keine weiteren Vorschlagskomponenten in diesem partizipativen Raum, um die Vorschläge in Projekte zu importieren.
121
183
  select_component: Bitte wählen Sie ein Objekt
184
+ title: Vorschläge importieren
122
185
  questions:
123
186
  create:
124
187
  invalid: Beim Erstellen dieser Frage ist ein Fehler aufgetreten
@@ -137,9 +200,107 @@ de:
137
200
  update:
138
201
  invalid: Beim Aktualisieren dieser Frage ist ein Fehler aufgetreten
139
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
140
296
  admin_log:
141
297
  election:
298
+ end_vote: "%{user_name} hat die Abstimmungsperiode für die Wahl %{resource_name} im Bulletin Board beendet"
142
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"
143
304
  unpublish: "%{user_name} hat die %{resource_name} Wahl zurückgezogen"
144
305
  election_m:
145
306
  badge_name:
@@ -172,14 +333,41 @@ de:
172
333
  filter: Filter
173
334
  filter_by: Filtern nach
174
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: "%{count} Stimme"
346
+ other: "%{count} Stimmen"
347
+ zero: "%{count} Stimmen"
175
348
  show:
176
- back: Alle Wahlen
349
+ action-button:
350
+ change-vote: Stimme ändern
351
+ vote: Jetzt abstimmen
352
+ vote-again: Erneut abstimmen
353
+ back: Verfügbare Wahlen
354
+ callout:
355
+ already-voted: Sie haben bei dieser Wahl bereits abgestimmt. Sie können Ihre Stimme ändern oder sie verifizieren.
356
+ vote-rejected: Es war nicht möglich, Ihre Stimme zu verifizieren. Bitte geben Sie ihre Stimme erneut ab.
177
357
  preview: Vorschau
178
- vote: Abstimmung
358
+ verify:
359
+ already-voted: Bereits abgestimmt?
360
+ verify-here: Stimme hier verifizieren.
361
+ will-verify: Sie können ihre Stimme nach dem Start der Wahl verifizieren.
179
362
  voting_period_status:
180
363
  finished: Die Abstimmung begann am %{start_time} und endete am %{end_time}
181
- ongoing: Die Abstimmung endet am %{end_time}
364
+ ongoing: 'Abstimmung aktiv bis: %{end_time}'
182
365
  upcoming: Die Abstimmung beginnt am %{start_time}
366
+ feedback:
367
+ answer:
368
+ invalid: Beim Senden Ihrer Meldung ist ein Fehler aufgetreten.
369
+ spam_detected: Bei der Beantwortung des Fragebogens ist ein Fehler aufgetreten. Möglicherweise waren Sie zu schnell. Versuchen Sie es vielleicht erneut.
370
+ success: Feedback erfolgreich versand.
183
371
  models:
184
372
  answer:
185
373
  fields:
@@ -187,6 +375,7 @@ de:
187
375
  title: Titel
188
376
  election:
189
377
  fields:
378
+ bb_status: Bulletin Board Status
190
379
  end_time: Endet um
191
380
  start_time: Beginnt um
192
381
  title: Titel
@@ -195,10 +384,114 @@ de:
195
384
  answers: Antworten
196
385
  max_selections: Max. Antworten
197
386
  title: Titel
387
+ trustees_participatory_space:
388
+ fields:
389
+ considered: berücksichtigt
390
+ email: E-Mail
391
+ inactive: inaktiv
392
+ name: Name
393
+ notification: Benachrichtigung versendet um
394
+ public_key: Öffentlicher Schlüssel
395
+ status: Status
198
396
  orders:
199
397
  label: Wahlen ordnen nach
200
398
  older: Chronologisch
201
399
  recent: Kürzlich hinzugefügt
400
+ trustee_zone:
401
+ elections:
402
+ backup_modal:
403
+ 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.
404
+ download_election_keys: Schlüssel herunterladen
405
+ download_icon: Symbol, das eine Download-Aktion anzeigt
406
+ title: Wahl-Schlüssel für %{election} sichern
407
+ key_ceremony_steps:
408
+ back: Zurück
409
+ description: Diese Wahl wird im Bulletin Board erstellt. Um diesen Prozess abzuschliessen, ist Ihre Teilnahme als Wahlhelfer nötig.
410
+ keys:
411
+ create_election: Schlüssel erstellen
412
+ key_ceremony:
413
+ joint_election_key: Gemeinsame Schlüssel erstellen
414
+ step_1: Schlüssel veröffentlichen
415
+ list:
416
+ status: Status
417
+ task: Aufgabe
418
+ 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.
419
+ start: Start
420
+ start_icon: Symbol, das einen Startknopf anzeigt, um die Erzeugung der Wahl-Schlüssel zu starten
421
+ status:
422
+ completed: Abgeschlossen
423
+ pending: Ausstehend
424
+ processing: In Verarbeitung
425
+ title: Wahl-Schlüssel für %{election} erstellen
426
+ restore_modal:
427
+ 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.
428
+ title: Wahl-Schlüssel für %{election} wiederherstellen
429
+ upload_election_keys: Wahl-Schlüssel hochladen
430
+ upload_icon: Symbol, das eine Download-Aktion anzeigt
431
+ tally_steps:
432
+ back: Zurück
433
+ description: Die Ergebnisse dieser Wahl werden im Bulletin Board berechnet. Um diesen Prozess abzuschließen ist Ihre Teilnahme als Wahlhelfer erforderlich.
434
+ keys:
435
+ end_tally: Stimmenzählung abgeschloßen
436
+ tally:
437
+ cast: Stimmzählung abgeben
438
+ share: Stimmzählung austauschen
439
+ list:
440
+ status: Status
441
+ task: Aufgabe
442
+ 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.
443
+ start: Beginnen
444
+ start_icon: Symbol, das einen Startknopf anzeigt, um die Erzeugung der Wahl-Schlüssel zu starten
445
+ status:
446
+ completed: Abgeschlossen
447
+ pending: Ausstehend
448
+ processing: In Verarbeitung
449
+ title: Stimmenzählung für %{election}
450
+ update:
451
+ error: Der Wahlstatus wurde nicht aktualisiert.
452
+ success: 'Der Wahlstatus ist: %{status}'
453
+ menu:
454
+ trustee_zone: Wahlhelfer Zone
455
+ no_bulletin_board:
456
+ body: Ein konfiguriertes Bulletin-Board ist für diesen Bereich erforderlich. Kontaktieren Sie den Administrator für weitere Informationen.
457
+ title: Leider ist das Bulletin Board noch nicht eingerichtet.
458
+ trustees:
459
+ show:
460
+ elections:
461
+ list:
462
+ action_required:
463
+ 'false': 'Nein'
464
+ name: Aktion erforderlich?
465
+ 'true': Aktion ausführen
466
+ bb_status: Status
467
+ election: Wahl
468
+ voting_period: Abstimmungsperiode
469
+ no_elections: Es gibt keine Wahlen, bei denen Sie als Wahlhelfer agieren.
470
+ title: Wahlen
471
+ identification_keys:
472
+ cancel: Abbrechen
473
+ generate: Identifikationsschlüssel generieren
474
+ generate_error: Beim Generieren der Identifikationsschlüssel ist ein Fehler aufgetreten.
475
+ generate_legend: Sie müssen ein Schlüsselpaar generieren, um an Wahlen als Wahlhelfer teilzunehmen.
476
+ generate_legend_1: Nach Drücken des Buttons sollten Sie die Datei mit den generierten Identifikationsschlüssel herunterladen.
477
+ generate_legend_2: Kopiere die heruntergeladene Datei auf ein sauberen USB-Stick
478
+ generate_legend_3: Stellen Sie sicher, dass Ihr Computer keine Kopie der Datei hat (z.B. überprüfen Sie die Download- und Desktop-Ordner).
479
+ 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.
480
+ submit: Einreichen
481
+ 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.
482
+ submit_title: Öffentlichen Identifikationsschlüssel einreichen
483
+ title: Wahlhelfer-Identifikationsschlüssel
484
+ upload: Lade deine Identifikationsschlüssel hoch
485
+ upload_error:
486
+ invalid_format: Die hochgeladene Datei enthält keinen Identifikationsschlüssel.
487
+ invalid_key: Die Identifikationsschlüssel in der hochgeladenen Datei können nicht geladen werden.
488
+ invalid_public_key: Die Identifikationsschlüssel in der hochgeladenen Datei stimmen nicht mit dem öffentlichen Identifikationsschlüssel überein, der von Decidim gespeichert wird.
489
+ 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.
490
+ 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.
491
+ not_supported_browser_title: Browser aktualisieren, um als Wahlhelfer zu agieren
492
+ trustee_role_description: Sie wurden beauftragt, bei einigen der auf dieser Plattform gehaltenen Wahlen als Wahlhelfer zu agieren.
493
+ update:
494
+ success: Ihr öffentlicher Identifikationsschlüssel wurde erfolgreich gespeichert.
202
495
  votes:
203
496
  confirm:
204
497
  answer: Antwort
@@ -211,15 +504,20 @@ de:
211
504
  question: Frage %{count}
212
505
  confirmed:
213
506
  back: Zurück zu den Wahlen
507
+ error: Leider ist ein Fehler bei der Bestätigung der Abstimmung aufgetreten. Bitte erneut abstimmen.
214
508
  experience: Wie war Ihre Erfahrung mit uns?
215
509
  feedback: Gib uns dein Feedback
216
510
  header: Abstimmung bestätigt
217
511
  lead: Deine Stimme wurde bereits abgegeben!
218
512
  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>'
219
- 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
513
+ 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
220
514
  encrypting:
221
515
  header: Abstimmung wird verschlüsselt...
222
516
  text: Deine Stimme wird verschlüsselt, um sicherzustellen, dass du sie anonym abgeben kannst.
517
+ failed:
518
+ header: Abstimmung fehlgeschlagen
519
+ lead: Ihre Stimme wurde nicht abgegeben!
520
+ text: Ein Fehler ist aufgetreten. Bitte versuchen Sie es erneut.
223
521
  header:
224
522
  confirm: Bestätige deine Stimme
225
523
  confirmed: Abstimmung bestätigt
@@ -236,6 +534,28 @@ de:
236
534
  preview_alert: Dies ist eine Vorschau des Abstimmungsstandes.
237
535
  question_steps: Frage %{current_step} von %{total_steps}
238
536
  selections: "%{selected} von %{max_selections}<br> ausgewählt"
537
+ processing:
538
+ header: Stimme wird verarbeitet...
539
+ text: Ihre Stimme wurde empfangen und wird verarbeitet. Bitte warten.
540
+ update:
541
+ error: Beim Aktualisieren dieses Status ist ein Problem aufgetreten
542
+ success: Abstimmung erfolgreich aktualisiert
543
+ verify:
544
+ content:
545
+ heading: Stimme verifizieren
546
+ 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.
547
+ error:
548
+ header: Stimme nicht gefunden!
549
+ info: Diese Kennung wurde nicht in der Wahlurne %{link} gefunden. Versuchen Sie es erneut.
550
+ form:
551
+ back: Zurück zu Decidim
552
+ submit: Überprüfen
553
+ vote_identifier: 'Kennung:'
554
+ header:
555
+ title: Stimme verifizieren
556
+ success:
557
+ header: Stimme gefunden!
558
+ info: Ihre verschlüsselte Stimme ist in der Wahlurne %{link}
239
559
  voting_step:
240
560
  back: Zurück
241
561
  continue: Weiter
@@ -249,6 +569,38 @@ de:
249
569
  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.
250
570
  email_subject: Die Wahl %{resource_title} ist jetzt aktiv für %{participatory_space_title}.
251
571
  notification_title: Die Wahl <a href="%{resource_path}">%{resource_title}</a> ist jetzt aktiv für %{participatory_space_title}.
572
+ trustees:
573
+ new_election:
574
+ email_intro: Sie sind Wahlhelfer für die %{resource_title} -Wahl.
575
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie als Wahlhelfer bei der Wahl %{resource_title} hinzugefügt wurden.
576
+ email_subject: Sie sind Wahlhelfer für die %{resource_title} -Wahl..
577
+ notification_title: Sie sind Wahlhelfer für die Wahl <a href="%{resource_path}">%{resource_title}</a>.
578
+ new_trustee:
579
+ 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>
580
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie als Wahlhelfer für %{resource_name} hinzugefügt wurden.
581
+ email_subject: Sie sind Wahlhelfer für %{resource_name}.
582
+ notification_title: Sie sind Wahlhelfer für <a href="%{participatory_space_url}">%{resource_name}</a>.
583
+ votes:
584
+ accepted_votes:
585
+ email_intro: 'Deine Stimme wurde angenommen! Benutze deinen Stimm-Token: %{encrypted_vote_hash}, du kannst deine Stimme <a href="%{verify_url}">hier verifizieren</a>.'
586
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie für die %{resource_name} -Wahl gestimmt haben.
587
+ email_subject: Deine Stimme für %{resource_name} wurde angenommen.
588
+ notification_title: 'Deine Stimme wurde akzeptiert. Verifiziere deine Stimme <a href="%{verify_url}">hier</a> mit deinem Voting-Token: %{encrypted_vote_hash}'
589
+ votings:
590
+ polling_officers:
591
+ polling_station_assigned:
592
+ 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.
593
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Ihnen die Rolle %{role} in %{polling_station_name} zugewiesen wurde.
594
+ email_subject: Sie haben die Rolle %{role} im Wahllokal %{polling_station_name}.
595
+ notification_title: Sie haben die Rolle %{role} im Wahllokal %{polling_station_name} der Abstimmung <a href="%{resource_path}">%{resource_title}</a>.
596
+ help:
597
+ participatory_spaces:
598
+ votings:
599
+ 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"
600
+ 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"
601
+ title: Was sind Abstimmungen?
602
+ menu:
603
+ votings: Abstimmungen
252
604
  pages:
253
605
  home:
254
606
  statistics:
@@ -256,7 +608,285 @@ de:
256
608
  participatory_processes:
257
609
  statistics:
258
610
  elections_count: Wahlen
611
+ votings:
612
+ admin:
613
+ content_blocks:
614
+ highlighted_votings:
615
+ max_results: Maximale Anzahl angezeigte Elemente
616
+ landing_page:
617
+ attachments_and_folders:
618
+ name: Materialien und Verzeichnisse zur Abstimmung
619
+ description:
620
+ name: Beschreibung der Abstimmung
621
+ elections:
622
+ name: Wahlen
623
+ header:
624
+ name: Überschrift
625
+ html_block_1:
626
+ name: Abstimmung HTML Block 1
627
+ html_block_2:
628
+ name: Abstimmung HTML Block 2
629
+ html_block_3:
630
+ name: Abstimmung HTML Block 3
631
+ metrics:
632
+ name: Abstimmungsmetriken
633
+ polling_stations:
634
+ name: Wahllokale
635
+ stats:
636
+ name: Abstimmungsstatistiken
637
+ timeline:
638
+ name: Abstimmungs-Timeline
639
+ index:
640
+ not_published: Unveröffentlicht
641
+ published: Veröffentlicht
642
+ landing_page:
643
+ content_blocks:
644
+ edit:
645
+ update: Aktualisieren
646
+ edit:
647
+ active_content_blocks: Aktive Inhaltsblöcke
648
+ inactive_content_blocks: Inaktive Inhaltsblöcke
649
+ menu:
650
+ votings: Abstimmungen
651
+ votings_submenu:
652
+ attachment_collections: Ordner
653
+ attachment_files: Dateien
654
+ attachments: Dateianhänge
655
+ components: Komponenten
656
+ info: Information
657
+ landing_page: Landing-Page
658
+ monitoring_committee_members: Überwachungskomitee
659
+ polling_officers: Wahllokal-Mitarbeitende
660
+ polling_stations: Wahllokale
661
+ models:
662
+ monitoring_committee_member:
663
+ fields:
664
+ email: E-Mail
665
+ name: Name
666
+ name: Mitglied des Überwachungskomitees
667
+ polling_officer:
668
+ fields:
669
+ email: E-Mail
670
+ name: Name
671
+ polling_station: Wahllokal (Rolle)
672
+ name: Wahllokal-Mitarbeitender
673
+ polling_station:
674
+ fields:
675
+ address: Adresse
676
+ polling_station_managers: Manager
677
+ polling_station_president: Präsident
678
+ title: Titel
679
+ name: Wahllokal
680
+ voting:
681
+ fields:
682
+ created_at: Erstellt am
683
+ promoted: Hervorgehoben
684
+ published: Veröffentlicht
685
+ title: Titel
686
+ monitoring_committee_members:
687
+ create:
688
+ invalid: Beim Erfassen dieses Überwachungskomitee-Mitglieds ist ein Fehler aufgetreten
689
+ success: Überwachungskomitee-Mitglied erfolgreich erfasst
690
+ destroy:
691
+ invalid: Beim Löschen dieses Überwachungskomitee-Mitglieds ist ein Fehler aufgetreten
692
+ success: Überwachungskomitee-Mitglied erfolgreich entfernt
693
+ form:
694
+ existing_user: Existierender Benutzer
695
+ non_user: Neuen Benutzer einladen
696
+ select_user: Suchen nach Name, E-Mail oder Benutzername
697
+ user_type: Benutzertyp
698
+ index:
699
+ title: Überwachungskomitee
700
+ new:
701
+ create: Hinzufügen
702
+ title: Überwachungskomitee-Mitglied erfassen
703
+ polling_officers:
704
+ create:
705
+ invalid: Beim Erfassen dieses Wahllokal-Mitarbeiters ist ein Fehler aufgetreten
706
+ success: Wahllokal-Mitarbeitender wurde erfolgreich erfasst
707
+ destroy:
708
+ invalid: Beim Entfernen dieses Wahllokal-Mitarbeitenden ist ein Fehler aufgetreten
709
+ success: Wahllokal-Mitarbeitender wurde erfolgreich entfernt
710
+ form:
711
+ existing_user: Existierender Benutzer
712
+ non_user: Neuen Benutzer einladen
713
+ select_user: Suchen nach Name, E-Mail oder Benutzername
714
+ user_type: Benutzertyp
715
+ index:
716
+ role_manager: Manager
717
+ role_president: Präsident
718
+ title: Wahllokal-Mitarbeitende
719
+ new:
720
+ create: Erfassen
721
+ title: Wahllokal-Mitarbeiter erfassen
722
+ polling_officers_picker:
723
+ choose_polling_officers: Wahllokal-Mitarbeitende auswählen
724
+ close: Schließen
725
+ more_polling_officers: Es gibt %{number} weitere Wahllokal-Mitarbeitende. Verfeinern Sie Ihre Suche um sie zu finden.
726
+ no_polling_officers: Keine Wahllokal-Mitarbeitenden passen zu Ihren Suchkriterien, oder es gibt keine Wahllokal-Mitarbeitenden.
727
+ polling_stations:
728
+ create:
729
+ invalid: Beim Erstellen dieses Wahllokals ist ein Fehler aufgetreten
730
+ success: Wahllokal erfolgreich erfasst
731
+ destroy:
732
+ invalid: Beim Löschen dieses Wahllokals ist ein Fehler aufgetreten
733
+ success: Wahllokal erfolgreich gelöscht
734
+ edit:
735
+ title: Wahllokal bearbeiten
736
+ update: Wahllokal aktualisieren
737
+ form:
738
+ address_help: 'Adresse: Wird vom Geocoder zur Lokalisierung verwendet'
739
+ location_help: 'Ort: Beschreibung des genauen Orts des Wahllokals für die Wähler'
740
+ location_hints_help: 'Ortshinweise: Zusätzliche Informationen. Beispiel: Das Stockwerk des Gebäudes in dem sich das Wahllokal befindet.'
741
+ 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'
742
+ 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'
743
+ select_president: Wählen Sie einen Wahllokal-Mitarbeiter als Präsident für das Wahllokal
744
+ index:
745
+ title: Wahllokale
746
+ new:
747
+ create: Erstellen
748
+ title: Wahllokal erstellen
749
+ update:
750
+ invalid: Beim Aktualisieren dieses Wahllokals ist ein Fehler aufgetreten
751
+ success: Wahllokal erfolgreich aktualisiert
752
+ titles:
753
+ votings: Abstimmungen
754
+ votings:
755
+ actions:
756
+ confirm_destroy: Sind Sie sicher?
757
+ destroy: Löschen
758
+ new_voting: Neue Abstimmung
759
+ publish: Veröffentlichen
760
+ unpublish: Veröffentlichung rückgängig machen
761
+ create:
762
+ invalid: Beim Erstellen dieser Abstimmung ist ein Problem aufgetreten
763
+ success: Abstimmung erfolgreich erstellt
764
+ edit:
765
+ add_election_component: Sie haben keine Wahl für diese Abstimmung konfiguriert. Bitte fügen Sie sie im Abschnitt Komponenten hinzu
766
+ assign_missing_officers: Es gibt noch Wahllokale ohne Präsident und/oder Wahlleiter. Bitte ordnen Sie diese im Wahllokal-Abschnitt zu
767
+ update: Aktualisieren
768
+ form:
769
+ select_a_voting_type: Bitte einen Abstimmungs-Typ auswählen
770
+ 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}'
771
+ title: Titel
772
+ voting_type:
773
+ hybrid: Hybrid
774
+ in_person: Persönlich
775
+ online: Online
776
+ new:
777
+ create: Erstellen
778
+ title: Neue Abstimmung
779
+ publish:
780
+ success: Abstimmung erfolgreich veröffentlicht
781
+ unpublish:
782
+ success: Veröffentlichung der Abstimmung erfolgreich rückgängig gemacht
783
+ update:
784
+ invalid: Beim Aktualisieren dieser Abstimmung ist ein Problem aufgetreten
785
+ success: Abstimmung erfolgreich aktualisiert
786
+ admin_log:
787
+ voting:
788
+ create: "%{user_name} hat die Abstimmung %{resource_name} erstellt"
789
+ publish: "%{user_name} hat die Abstimmung %{resource_name} veröffentlicht"
790
+ unpublish: "%{user_name} hat die Abstimmung %{resource_name} auf \"unveröffentlicht\" gesetzt"
791
+ content_blocks:
792
+ highlighted_votings:
793
+ name: Hervorgehobene Abstimmungen
794
+ monitoring_committee_members:
795
+ actions:
796
+ confirm_destroy: Sind Sie sicher?
797
+ destroy: Entfernen
798
+ new: Neues Mitglied
799
+ title: Aktionen
800
+ pages:
801
+ home:
802
+ highlighted_votings:
803
+ active_votings: Aktive Abstimmungen
804
+ see_all_votings: Alle Abstimmungen ansehen
805
+ votings_button_title: Link zur Seite die alle Abstimmungen anzeigt
806
+ polling_officer_zone:
807
+ menu:
808
+ polling_officer_zone: Wahllokal-Mitarbeiter-Bereich
809
+ polling_officers:
810
+ show:
811
+ actions:
812
+ count_votes: Stimmen in der Wahlurne zählen
813
+ identify_person: Eine Person identifizieren und verifizieren
814
+ polling_officer_role_description: Ihnen wurde eine Rolle als Wahlhelfer (Präsident oder Manager) in Wahlen dieser Plattform zugewiesen.
815
+ polling_stations:
816
+ list:
817
+ actions: Aktionen
818
+ address: Adresse
819
+ name: Name
820
+ role: Ihre Rolle
821
+ voting: Abstimmung
822
+ no_polling_stations: Sie sind noch zu keinem Wahllokal zugewiesen.
823
+ title: Wahllokale
824
+ polling_officers:
825
+ actions:
826
+ confirm_destroy: Sind Sie sicher?
827
+ destroy: Entfernen
828
+ new: Neu
829
+ title: Aktionen
830
+ roles:
831
+ manager: Manager
832
+ president: Präsident
833
+ unassigned: Nicht zugewiesen
834
+ polling_stations:
835
+ actions:
836
+ confirm_destroy: Sind Sie sicher?
837
+ destroy: Löschen
838
+ edit: Bearbeiten
839
+ new: Neu
840
+ title: Aktionen
841
+ votings:
842
+ count:
843
+ title:
844
+ one: "%{count} Abstimmung"
845
+ other: "%{count} Abstimmungen"
846
+ filters:
847
+ active: Aktiv
848
+ all: Alle
849
+ finished: Abgeschlossen
850
+ search: Suchen
851
+ state: Status
852
+ upcoming: Zukünftig
853
+ filters_small_view:
854
+ close_modal: Dialog schließen
855
+ filter: Filter
856
+ filter_by: Filtern nach
857
+ unfold: Aufklappen
858
+ index:
859
+ no_votings: Keine Abstimmung gefunden, die Ihren Suchkriterien entspricht.
860
+ only_finished: Momentan gibt es keine geplanten Abstimmungen, aber hier finden Sie alle abgeschlossenen Abstimmungen.
861
+ title: Abstimmungen
862
+ orders:
863
+ label: 'Abstimmungen sortieren nach:'
864
+ random: Zufällig
865
+ recent: Neueste zuerst
866
+ show:
867
+ dates: Daten
868
+ votings_m:
869
+ badge_name:
870
+ finished: Abgeschlossen
871
+ ongoing: Aktuell
872
+ upcoming: Zukünftig
873
+ footer_button_text:
874
+ participate: Mitmachen
875
+ view: Anzeigen
876
+ vote: Abstimmen
877
+ unspecified: Keine Angabe
878
+ voting_type:
879
+ hybrid: Hybrid
880
+ in_person: Persönlich
881
+ online: Online
882
+ voting_types_label: Abstimmungsart
259
883
  layouts:
260
884
  decidim:
261
885
  election_votes_header:
262
886
  exit: Beenden
887
+ votings:
888
+ index:
889
+ promoted_votings: Hervorgehobene Abstimmungen
890
+ promoted_voting:
891
+ more_info: Mehr Informationen
892
+ vote: Abstimmen