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 @@ cs:
16
16
  max_selections: Maximální počet výběrů
17
17
  min_selections: Žádná z výše uvedených možností
18
18
  title: Název
19
+ voting:
20
+ end_time: Hlasování končí
21
+ start_time: Hlasování začíná
19
22
  errors:
20
23
  models:
21
24
  answer:
@@ -26,7 +29,25 @@ cs:
26
29
  attributes:
27
30
  attachment:
28
31
  needs_to_be_reattached: Potřebuje být znovu připojen
32
+ trustee:
33
+ attributes:
34
+ name:
35
+ cant_be_changed: nelze změnit
36
+ public_key:
37
+ cant_be_changed: nelze změnit
29
38
  activerecord:
39
+ errors:
40
+ models:
41
+ decidim/votings/polling_officer:
42
+ attributes:
43
+ presided_polling_station:
44
+ president_and_manager: Volební komisař je již prezident/manažer volební místnosti
45
+ voting:
46
+ different_organization: Hlasování musí být ve stejné organizaci jako je uživatel
47
+ decidim/votings/polling_station:
48
+ attributes:
49
+ polling_station_president:
50
+ different_voting: Volební komisař musí být ve stejném hlasování jako volební místnost
30
51
  models:
31
52
  decidim/elections/answer:
32
53
  one: Odpověď
@@ -43,7 +64,39 @@ cs:
43
64
  few: Otázek
44
65
  many: Otázek
45
66
  other: Otázek
67
+ decidim/votings/polling_officer:
68
+ one: Volební komisař
69
+ few: Volební komisaři
70
+ many: Volebních komisařů
71
+ other: Volební komisaři
72
+ decidim/votings/polling_station:
73
+ one: Volební místnost
74
+ few: Volební místnosti
75
+ many: Volebních místností
76
+ other: Volebních místnostech
77
+ decidim/votings/voting:
78
+ one: Hlasování
79
+ few: Hlasování
80
+ many: Hlasování
81
+ other: Hlasování
46
82
  decidim:
83
+ admin:
84
+ filters:
85
+ officers_assigned_eq:
86
+ label: Úředníci
87
+ values:
88
+ assigned: Přiřazeno
89
+ unassigned: Nepřiřazeno
90
+ role_eq:
91
+ label: Role
92
+ values:
93
+ manager: Manažer
94
+ president: Předseda
95
+ unassigned: Nepřiřazeno
96
+ search_placeholder:
97
+ name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: Vyhledejte %{collection} podle jména/e-mailu/přezdívky nebo volební místnosti.
98
+ ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont
99
+ : Hledat %{collection} podle názvu, adresy nebo jména úředníka/e-mailu/přezdívky.
47
100
  components:
48
101
  elections:
49
102
  actions:
@@ -59,9 +112,11 @@ cs:
59
112
  confirm_destroy: Jste si jisti?
60
113
  destroy: Zničit
61
114
  edit: Upravit
62
- edit_answers: Upravit odpovědi
63
- edit_questions: Upravit otázky
115
+ feedback: Zpětná vazba voličů
64
116
  import: Importovat návrhy na odpovědi
117
+ manage_answers: Spravovat odpovědi
118
+ manage_questions: Spravovat otázky
119
+ manage_steps: Spravovat kroky
65
120
  new: Nový %{name}
66
121
  preview: Náhled
67
122
  publish: Publikovat
@@ -84,6 +139,14 @@ cs:
84
139
  new:
85
140
  create: Vytvořit odpověď
86
141
  title: Nová odpověď
142
+ select:
143
+ disable: Zrušit výběr odpovědi
144
+ enable: Označit odpověď jako vybranou
145
+ invalid: Při výběru této odpovědi došlo k potížím
146
+ success: Odpověď byla úspěšně vybrána
147
+ unselect:
148
+ invalid: Při zrušení výběru této odpovědi došlo k chybě
149
+ success: Odpovědi byl úspěšně zrušen výběr
87
150
  update:
88
151
  invalid: Při aktualizaci této odpovědi došlo k chybě
89
152
  success: Odpověď byla úspěšně aktualizována
@@ -98,7 +161,7 @@ cs:
98
161
  title: Upravit volbu
99
162
  update: Aktualizovat volby
100
163
  index:
101
- no_bulletin_board: Není nastaven žádný <a href="https://github.com/decidim/decidim-bulletin-board">Bulletin Board server</a>, který je potřebný pro použití tohoto modulu. Tento úkol by měl provést správce systému.
164
+ no_bulletin_board: Není nastaven žádný <a href="https://github.com/decidim/decidim-bulletin-board">server Vývěsky</a>, který je potřebný pro použití tohoto modulu. Tento úkol by měl provést správce systému.
102
165
  title: Volby
103
166
  new:
104
167
  create: Vytvořit volbu
@@ -110,6 +173,9 @@ cs:
110
173
  update:
111
174
  invalid: Při aktualizaci těchto voleb došlo k chybě
112
175
  success: Volba byla úspěšně aktualizována
176
+ exports:
177
+ elections: Volby
178
+ feedback_form_answers: Odpovědi na formulář zpětné vazby
113
179
  models:
114
180
  answer:
115
181
  name: Odpověď
@@ -117,6 +183,8 @@ cs:
117
183
  name: Volby
118
184
  question:
119
185
  name: Otázka
186
+ trustee:
187
+ name: Důvěrník
120
188
  proposals_imports:
121
189
  create:
122
190
  invalid: Při importu návrhů do odpovědí došlo k potížím
@@ -125,6 +193,7 @@ cs:
125
193
  create: Importovat návrhy na odpovědi
126
194
  no_components: V tomto participačním prostoru nejsou žádné další prvky návrhu, které by mohly do odpovědí importovat návrhy.
127
195
  select_component: Vyberte komponentu
196
+ title: Importovat návrhy
128
197
  questions:
129
198
  create:
130
199
  invalid: Při vytváření této otázky došlo k chybě
@@ -143,9 +212,107 @@ cs:
143
212
  update:
144
213
  invalid: Při aktualizaci této otázky došlo k chybě
145
214
  success: Otázka byla úspěšně aktualizována
215
+ steps:
216
+ create_election:
217
+ errors:
218
+ max_selections: Otázky nemají <strong>správnou hodnotu pro množství odpovědí</strong>
219
+ minimum_answers: Otázky musí mít <strong>alespoň dvě odpovědi</strong>.
220
+ minimum_questions: Volby <strong>musí mít alespoň jednu otázku</strong>.
221
+ published: Volby <strong>nejsou publikovány</strong>.
222
+ time_before: Počáteční čas je za <strong>méně než 3 hodiny</strong> před zahájením voleb.
223
+ trustees_number: Participační prostor <strong>musí mít alespoň %{number} důvěrníků s veřejným klíčem</strong>.
224
+ invalid: Při zřizování těchto voleb došlo k chybě
225
+ no_trustees: Pro tento participační prostor nejsou nakonfigurováni žádní důvěrníci
226
+ not_used_trustee: "(nepoužito)"
227
+ public_key:
228
+ 'false': nemá <strong>veřejný klíč</strong>
229
+ 'true': má <strong>veřejný klíč</strong>
230
+ requirements:
231
+ max_selections: Všechny otázky mají správnou hodnotu pro <strong>maximum odpovědí</strong>.
232
+ minimum_answers: Každá otázka má <strong>alespoň 2 odpovědi</strong>.
233
+ minimum_questions: Volba má <strong>alespoň jednu otázku</strong>.
234
+ published: Volby jsou <strong>publikovány</strong>.
235
+ time_before: Nastavení se provádí <strong>alespoň %{hours} hodin</strong> před zahájením voleb.
236
+ trustees_number: Participační prostor má <strong>alespoň %{number} důvěrníků s veřejným klíčem</strong>.
237
+ submit: Nastavení voleb
238
+ success: Volby byly úspěšně odeslány do Vývěsky
239
+ title: Nastavení voleb
240
+ trustees: Volební důvěrníci
241
+ created:
242
+ invalid: Vyskytl se problém při zahájení ceremoniálu
243
+ submit: Zahájit ceremoniál
244
+ success: Žádost o Úvodní ceremoniál byla úspěšně odeslána do Vývěsky
245
+ title: Volba vytvořena
246
+ trustees: Důvěrníci
247
+ key_ceremony:
248
+ title: Slavnostní ceremoniál
249
+ trustees: Důvěrníci
250
+ key_ceremony_ended:
251
+ errors:
252
+ time_before: Volby jsou připraveny k zahájení. Musíte počkat %{hours} hodin před začátkem období hlasování (%{start_time}).
253
+ invalid: Vyskytl se problém při zahájení hlasovacího období
254
+ requirements:
255
+ time_before: Volba začne brzy. Hlasovací období můžete začít ručně, nebo bude spuštěna automaticky před časem začátku v %{start_time}.
256
+ submit: Začátek doby hlasování
257
+ success: Žádost o Počátek voleb byla úspěšně odeslána do Vývěsky
258
+ title: Připraveno k zahájení
259
+ processing: Zpracovávání...
260
+ results_published:
261
+ title: Výsledky publikovány
262
+ tally:
263
+ title: Proces volebního přepočítání
264
+ trustees: Volební důvěrníci
265
+ tally_ended:
266
+ submit: Publikovat výsledky
267
+ title: Výsledky spočítány
268
+ vote:
269
+ errors:
270
+ time_after: Volby stále probíhají. Musíte počkat na ukončení hlasovacího období (%{end_time}).
271
+ invalid: Při ukončení hlasovacího období došlo k chybě
272
+ requirements:
273
+ time_after: Volba skončila. Hlasovací dobu můžete ukončit ručně, nebo bude automaticky ukončena za několik minut.
274
+ submit: Konec doby hlasování
275
+ success: Žádost o ukončení voleb byla úspěšně odeslána do Vývěsky
276
+ title: Období hlasování
277
+ vote_ended:
278
+ invalid: Vyskytl se problém při startu Volební listiny
279
+ submit: Začít Volební přepočítání
280
+ success: Požadavek zahájení Volebního přepočítání byl úspěšně odeslán do Vývěsky
281
+ title: Období hlasování skončilo
282
+ vote_stats:
283
+ no_vote_statistics_yet: Zatím žádné statistiky hlasování
284
+ title: Statistiky hlasování
285
+ voters: Voliči
286
+ votes: Hlasy
287
+ trustees_participatory_spaces:
288
+ actions:
289
+ disable: Zakázat
290
+ enable: Zvážit
291
+ create:
292
+ exists: Důvěrník existuje pro tento participační prostor
293
+ invalid: Při vytváření důvěrníka došlo k chybě
294
+ success: Důvěrník úspěšně vytvořen
295
+ delete:
296
+ invalid: Při odstraňování tohoto důvěrníka došlo k chybě
297
+ success: Důvěrník byl úspěšně odstraněn
298
+ form:
299
+ select_user: Vybrat uživatele
300
+ index:
301
+ title: Důvěrníci
302
+ new:
303
+ create: Vytvořit důvěrníka
304
+ title: Nový důvěrník
305
+ update:
306
+ invalid: Při aktualizaci důvěrníka %{trustee} došlo k chybě
307
+ success: Důvěrník %{trustee} úspěšně aktualizován
146
308
  admin_log:
147
309
  election:
310
+ end_vote: "%{user_name} ukončil hlasovací období pro volby v %{resource_name} na Vývěsce"
148
311
  publish: "%{user_name} zveřejnil volby %{resource_name}"
312
+ setup: "%{user_name} vytvořil %{resource_name} volby na Vývěsce"
313
+ start_key_ceremony: "%{user_name} zahájil Úvodní volební ceremoniál na Vývěsce %{resource_name}"
314
+ start_tally: "%{user_name} zahájil Volební přepočítání pro volby v %{resource_name} na Vývěsce"
315
+ start_vote: "%{user_name} zahájil hlasovací období pro volby %{resource_name} na Vývěsce"
149
316
  unpublish: "%{user_name} zrušil zveřejnění volby %{resource_name}"
150
317
  election_m:
151
318
  badge_name:
@@ -180,14 +347,41 @@ cs:
180
347
  filter: Filtr
181
348
  filter_by: Filtrovat podle
182
349
  unfold: Rozbalit
350
+ preview:
351
+ available_answers: Dostupné odpovědi
352
+ description: Toto jsou otázky, které najdete v procesu hlasování
353
+ title: Volební otázky
354
+ results:
355
+ description: To jsou výsledky hlasování, pro každou otázku
356
+ selected: Vybrané
357
+ title: Výsledky voleb
358
+ votes:
359
+ one: "%{count} hlas"
360
+ other: "%{count} hlasů"
361
+ zero: "%{count} hlasů"
183
362
  show:
184
- back: Všechny volby
363
+ action-button:
364
+ change-vote: Změňte svůj hlas
365
+ vote: Zahájit hlasování
366
+ vote-again: Znovu hlasovat
367
+ back: Dostupné volby
368
+ callout:
369
+ already-voted: V této volbě jste již hlasovali. Můžete změnit svůj hlas nebo jej ověřit.
370
+ vote-rejected: Nebylo možné ověřit váš hlas. Prosím, pošlete jej znovu.
185
371
  preview: Náhled
186
- vote: Hlasovat
372
+ verify:
373
+ already-voted: Již jste hlasovali?
374
+ verify-here: Zkontrolujte svůj hlas zde.
375
+ will-verify: Své hlasování budete moci ověřit hned po zahájení voleb.
187
376
  voting_period_status:
188
377
  finished: Hlasování začalo %{start_time} a skončilo %{end_time}
189
- ongoing: Hlasování končí %{end_time}
378
+ ongoing: 'Aktivní hlasování do: %{end_time}'
190
379
  upcoming: Hlasování začíná %{start_time}
380
+ feedback:
381
+ answer:
382
+ invalid: Při odesílání vaší zpětné vazby došlo k chybě.
383
+ spam_detected: Vyskytl se problém s odpovědí na formulář. Možná jste byl příliš rychlý, můžete to zkusit znovu?
384
+ success: Zpětná vazba byla úspěšně odeslána.
191
385
  models:
192
386
  answer:
193
387
  fields:
@@ -195,6 +389,7 @@ cs:
195
389
  title: Název
196
390
  election:
197
391
  fields:
392
+ bb_status: Stav Vývěsky
198
393
  end_time: Končí v
199
394
  start_time: Začíná v
200
395
  title: Název
@@ -203,10 +398,114 @@ cs:
203
398
  answers: Odpovědi
204
399
  max_selections: Max. výběr
205
400
  title: Název
401
+ trustees_participatory_space:
402
+ fields:
403
+ considered: uváženo
404
+ email: E-mail
405
+ inactive: neaktivní
406
+ name: Jméno
407
+ notification: Oznámení odesláno
408
+ public_key: Veřejný klíč
409
+ status: Stav
206
410
  orders:
207
411
  label: Seřadit volby podle
208
412
  older: Starší
209
413
  recent: Nedávné
414
+ trustee_zone:
415
+ elections:
416
+ backup_modal:
417
+ description: Tyto volby jsou vytvořeny na Vývěsce. Je velmi důležité, aby každý důvěrník, který se na něm podílí, vytvořil záložní kopii těchto klíčů a uložil je na bezpečném místě. Poté proces pokračuje.
418
+ download_election_keys: Stáhnout klíče
419
+ download_icon: Ikona, která indikuje akci ke stažení
420
+ title: Zálohovat volební klíče pro %{election}
421
+ key_ceremony_steps:
422
+ back: Zpět
423
+ description: Tyto volby jsou vytvořeny na Vývěsce. Pro dokončení tohoto procesu je nutná vaše účast jako důvěrníka.
424
+ keys:
425
+ create_election: Generování klíčů
426
+ key_ceremony:
427
+ joint_election_key: Vytvoření společného klíče
428
+ step_1: Vydávání klíčů
429
+ list:
430
+ status: Stav
431
+ task: Úkol
432
+ process_warning: Po spuštění procesu byste neměli tuto stránku ukončit, dokud proces neskončí. Trvá to několik minut, protože všichni důvěrníci by měli být k dokončení připojeni.
433
+ start: Začít
434
+ start_icon: Ikona, která označuje tlačítko pro spuštění generování volebních klíčů
435
+ status:
436
+ completed: Dokončeno
437
+ pending: Čekající
438
+ processing: Zpracovávání
439
+ title: Vytvořit volební klíče pro %{election}
440
+ restore_modal:
441
+ description: Vývěska má od vás jako důvěrníka informace o těchto volbách. Chcete-li pokračovat v procesu, nejprve nahrajte záložní soubor generovaný během předchozí relace.
442
+ title: Obnovit volební klíče pro %{election}
443
+ upload_election_keys: Nahrát volební klíče
444
+ upload_icon: Ikona, která indikuje akci ke stažení
445
+ tally_steps:
446
+ back: Zpět
447
+ description: Výsledky těchto voleb jsou vyčísleny na Vývěsce. Pro dokončení tohoto procesu je zapotřebí vaší účasti jako Důvěrníka.
448
+ keys:
449
+ end_tally: Volební přepočítání uzavřeno
450
+ tally:
451
+ cast: Obsazení volebního přepočítávání
452
+ share: Poměry volebního přepočítávání
453
+ list:
454
+ status: Stav
455
+ task: Úloha
456
+ process_warning: Po spuštění procesu byste neměli tuto stránku ukončit, dokud proces neskončí. Trvá to několik minut, protože všichni důvěrníci by měli být k dokončení připojeni.
457
+ start: Spustit
458
+ start_icon: Ikona, která označuje tlačítko pro spuštění generování volebních klíčů
459
+ status:
460
+ completed: Dokončeno
461
+ pending: Čekající
462
+ processing: Zpracovávání
463
+ title: Volební přepočítání pro %{election}
464
+ update:
465
+ error: Stav voleb nebyl aktualizován.
466
+ success: 'Stav voleb je: %{status}'
467
+ menu:
468
+ trustee_zone: Zóna důvěrníků
469
+ no_bulletin_board:
470
+ body: Konfigurovaná Vývěska je vyžadována pro tuto sekci. Pro více informací kontaktujte správce.
471
+ title: Omlouváme se, ale Vývěska ještě není nakonfigurována.
472
+ trustees:
473
+ show:
474
+ elections:
475
+ list:
476
+ action_required:
477
+ 'false': 'Ne'
478
+ name: Je vyžadována akce?
479
+ 'true': Provést akci
480
+ bb_status: Stav
481
+ election: Volby
482
+ voting_period: Hlasovací období
483
+ no_elections: Nejsou žádné volby, ve kterých byste jednal jako důvěrník.
484
+ title: Volby
485
+ identification_keys:
486
+ cancel: Zrušit
487
+ generate: Generovat identifikační klíče
488
+ generate_error: Při generování identifikačních klíčů došlo k chybě.
489
+ generate_legend: Musíte vytvořit pár identifikačních klíčů pro účast ve volbách jako důvěrník.
490
+ generate_legend_1: Po stisknutí tlačítka byste měli stáhnout soubor s vygenerovanými identifikačními klíči.
491
+ generate_legend_2: Kopírovat stažený soubor do čistého USB zařízení
492
+ generate_legend_3: Ujistěte se, že váš počítač nemá kopii souboru (např. zkontrolujte složky Stahování a plocha).
493
+ generate_legend_4: Vytvořit další kopii souboru na jiném externím zařízení a uložit jej na velmi bezpečném místě.
494
+ submit: Odeslat
495
+ submit_legend: Po splnění všech výše uvedených kroků dokončete proces odesílání veřejného identifikačního klíče na server Decidim.
496
+ submit_title: Odeslat veřejný identifikační klíč
497
+ title: Identifikační klíče důvěrníka
498
+ upload: Nahrajte své identifikační klíče
499
+ upload_error:
500
+ invalid_format: Nahraný soubor neobsahuje žádný identifikační klíč.
501
+ invalid_key: Identifikační klíče v nahraném souboru nelze načíst.
502
+ invalid_public_key: Identifikační klíče v nahraném souboru neodpovídají veřejnému identifikačnímu klíči uloženému v Decidim.
503
+ upload_legend: Decidim má vaše veřejné identifikační klíče, ale váš prohlížeč jej stále nemá. Je třeba importovat soubor s identifikačními klíči do počítače ze zálohy, kterou jste vytvořili po jejich vygenerování.
504
+ not_supported_browser_description: Vypadá to, že používáte webový prohlížeč, který nelze použít jako správce. Ujistěte se, že používáte nejnovější verzi prohlížeče, nebo zkuste použít některý z nejpopulárnějších prohlížečů, abyste mohli dokončit své úkoly správce.
505
+ not_supported_browser_title: Upgradujte prohlížeč abyste mohl fungovat jako důvěrník
506
+ trustee_role_description: Byl jste pověřen, abyste v některých volbách, které na této platformě probíhají, jednal jako důvěrník.
507
+ update:
508
+ success: Váš identifikační veřejný klíč byl úspěšně uložen.
210
509
  votes:
211
510
  confirm:
212
511
  answer: Odpověď
@@ -219,15 +518,20 @@ cs:
219
518
  question: Otázka %{count}
220
519
  confirmed:
221
520
  back: Zpět k volbám
521
+ error: Omlouváme se, došlo k chybě při potvrzení hlasování. Prosím, hlasujte znovu.
222
522
  experience: Jaká byla vaše zkušenost?
223
523
  feedback: Dejte nám zpětnou vazbu
224
524
  header: Hlasování potvrzeno
225
525
  lead: Váš hlas již byl odeslán!
226
526
  text: 'Můžete zkontrolovat, že váš hlas byl úspěšně přidán do volební urny s následujícím identifikátorem: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
227
- verify_text: Chcete-li jej zkontrolovat, zkopírujte identifikátor a vložte jej na <a href="evote-verify">stránku pro ověření hlasování</a>
527
+ verify_link: Chcete-li jej zkontrolovat, zkopírujte identifikátor a vložte jej na <a href="%{link}">stránku pro ověření hlasování</a>
228
528
  encrypting:
229
529
  header: Zakódování hlasů...
230
530
  text: Váš hlas je šifrován, abyste ho mohli anonymně posílat.
531
+ failed:
532
+ header: Hlasování se nezdařilo
533
+ lead: Váš hlas nebyl odeslán!
534
+ text: Něco se pokazilo, zkuste to prosím znovu.
231
535
  header:
232
536
  confirm: Potvrďte svůj hlas
233
537
  confirmed: Hlasování potvrzeno
@@ -244,6 +548,28 @@ cs:
244
548
  preview_alert: To je náhled hlasovacího pultu.
245
549
  question_steps: Otázka %{current_step} z %{total_steps}
246
550
  selections: "%{selected} z %{max_selections}<br> výběrů"
551
+ processing:
552
+ header: Zpracovávám hlasování...
553
+ text: Váš hlas byl přijat a právě se zpracovává. Počkejte prosím.
554
+ update:
555
+ error: Při aktualizaci stavu hlasování došlo k chybě
556
+ success: Stav hlasování byl úspěšně aktualizován
557
+ verify:
558
+ content:
559
+ heading: Ověřte svůj hlas
560
+ info: Tento ověřovatel kontroluje, že váš hlas, identifikovaný šifrovaným textovým řetězcem, byl odeslán správně a je uvnitř volební urny.
561
+ error:
562
+ header: Hlasování nenalezeno!
563
+ info: Kód hlasu nebyl nalezen v %{link} volebních urnám, zkuste to znovu.
564
+ form:
565
+ back: Zpět na Deidim
566
+ submit: Ověřit
567
+ vote_identifier: 'Identifikační kód:'
568
+ header:
569
+ title: Ověřte svůj hlas
570
+ success:
571
+ header: Hlas lokalizován!
572
+ info: Váš zašifrovaný hlas je v %{link} volebních urnách
247
573
  voting_step:
248
574
  back: Zpět
249
575
  continue: Další
@@ -257,6 +583,38 @@ cs:
257
583
  email_outro: Obdrželi jste toto oznámení, protože sledujete %{participatory_space_title}. Můžete přestat přijímat oznámení kliknutím na následující odkaz.
258
584
  email_subject: Volba %{resource_title} je nyní aktivní pro %{participatory_space_title}.
259
585
  notification_title: Volba <a href="%{resource_path}">%{resource_title}</a> je nyní aktivní pro %{participatory_space_title}.
586
+ trustees:
587
+ new_election:
588
+ email_intro: Přidali jste jako důvěrník pro volby %{resource_title}.
589
+ email_outro: Obdrželi jste toto oznámení, protože jste byli přidáni jako důvěrník pro %{resource_title} volby.
590
+ email_subject: Jste důvěrníkem pro %{resource_title} volby..
591
+ notification_title: Jste důvěrníkem volby <a href="%{resource_path}">%{resource_title}</a>.
592
+ new_trustee:
593
+ email_intro: Administrátor vás přidal jako důvěrníka pro %{resource_name}. Měli byste vytvořit váš veřejný klíč <a href='%{trustee_zone_url}'>ve vaší zóně důvěrníka</a>
594
+ email_outro: Obdrželi jste toto oznámení, protože jste byli přidáni jako důvěrník %{resource_name}.
595
+ email_subject: Jste správcem %{resource_name}.
596
+ notification_title: Jste důvěrník pro <a href="%{participatory_space_url}">%{resource_name}</a>.
597
+ votes:
598
+ accepted_votes:
599
+ email_intro: 'Váš hlas byl přijat! Pomocí tvého hlasovacího tokenu: %{encrypted_vote_hash}, můžete ověřit svůj hlas <a href="%{verify_url}">zde</a>.'
600
+ email_outro: Obdrželi jste toto oznámení, protože jste hlasovali pro hlasování %{resource_name}.
601
+ email_subject: Váš hlas pro %{resource_name} byl přijat.
602
+ notification_title: 'Váš hlas byl přijat. Ověřte svůj hlas <a href="%{verify_url}">zde</a> pomocí hlasovacího tokenu: %{encrypted_vote_hash}'
603
+ votings:
604
+ polling_officers:
605
+ polling_station_assigned:
606
+ email_intro: Byli jste přiřazeni jako %{role} volební místnosti %{polling_station_name} v <a href="%{resource_url}">%{resource_title}</a>. Můžete spravovat volební místnost z vyhrazené <a href="%{polling_officer_zone_url}">zóny volebního komisaře</a>.
607
+ email_outro: Obdrželi jste toto oznámení, protože jste byli přiřazeni jako %{role} v %{polling_station_name}.
608
+ email_subject: Jste %{role} z volební místnosti %{polling_station_name}.
609
+ notification_title: Jste %{role} z volební místnosti %{polling_station_name} při hlasování <a href="%{resource_path}">%{resource_title}</a>.
610
+ help:
611
+ participatory_spaces:
612
+ votings:
613
+ contextual: "<p> <strong>Hlasování</strong> je prostor, který vám umožňuje položit jasnou otázku všem lidem, kteří tvoří organizaci, vyzvat k účasti na hlasování, rozdmýchání a uspořádání rozpravy pro nebo proti reakci. Až nastane datum hlasování, můžete hlasovat a zveřejnit výsledky hlasování.</p> <p>Příklady: Hlasování se může týkat téměř jakéhokoliv aspektu, který ovlivňuje organizaci: některé příklady mění název nebo logo organizace nabízející několik alternativ, rozhodne, zda se stane součástí větší organizace, potvrdí nebo odmítne nový strategický plán nebo výsledek pracovní skupiny, nebo definovat, zda by pozice měly zůstat nejvýše v délce 1, 2 nebo 3 mandátů.</p>\n"
614
+ page: "<p> <strong>Hlasování</strong> je prostor, který vám umožňuje položit jasnou otázku všem lidem, kteří tvoří organizaci, vyzvat k účasti na hlasování, rozdmýchání a uspořádání rozpravy pro nebo proti reakci. Až nastane datum hlasování, můžete hlasovat a zveřejnit výsledky hlasování.</p> <p>Příklady: Hlasování se může týkat téměř jakéhokoliv aspektu, který ovlivňuje organizaci: některé příklady mění název nebo logo organizace nabízející několik alternativ, rozhodne, zda se stane součástí větší organizace, potvrdí nebo odmítne nový strategický plán nebo výsledek pracovní skupiny, nebo definovat, zda by pozice měly zůstat nejvýše v délce 1, 2 nebo 3 mandátů.</p>\n"
615
+ title: Co jsou hlasování?
616
+ menu:
617
+ votings: Hlasování
260
618
  pages:
261
619
  home:
262
620
  statistics:
@@ -264,7 +622,287 @@ cs:
264
622
  participatory_processes:
265
623
  statistics:
266
624
  elections_count: Volby
625
+ votings:
626
+ admin:
627
+ content_blocks:
628
+ highlighted_votings:
629
+ max_results: Maximální počet prvků k zobrazení
630
+ landing_page:
631
+ attachments_and_folders:
632
+ name: Přílohy a složky hlasování
633
+ description:
634
+ name: Popis hlasování
635
+ elections:
636
+ name: Hlasovací volby
637
+ header:
638
+ name: Záhlaví hlasování
639
+ html_block_1:
640
+ name: Html blok 1 hlasování
641
+ html_block_2:
642
+ name: Html blok 2 hlasování
643
+ html_block_3:
644
+ name: Html blok 3 hlasování
645
+ metrics:
646
+ name: Metriky hlasování
647
+ polling_stations:
648
+ name: Volební místnosti hlasování
649
+ stats:
650
+ name: Statistiky hlasování
651
+ timeline:
652
+ name: Časová osa hlasování
653
+ index:
654
+ not_published: Nezveřejněno
655
+ published: Zveřejněno
656
+ landing_page:
657
+ content_blocks:
658
+ edit:
659
+ update: Aktualizovat
660
+ edit:
661
+ active_content_blocks: Aktivní bloky obsahu
662
+ inactive_content_blocks: Neaktivní bloky obsahu
663
+ menu:
664
+ votings: Hlasování
665
+ votings_submenu:
666
+ attachment_collections: Složky
667
+ attachment_files: Soubory
668
+ attachments: Přílohy
669
+ components: Komponenty
670
+ info: Informace
671
+ landing_page: Vstupní stránka
672
+ monitoring_committee_members: Monitorovací výbor
673
+ polling_officers: Volební komisaři
674
+ polling_stations: Volební místnost
675
+ models:
676
+ monitoring_committee_member:
677
+ fields:
678
+ email: E-mail
679
+ name: Název
680
+ name: Člen monitorovacího výboru
681
+ polling_officer:
682
+ fields:
683
+ email: E-mail
684
+ name: Jméno
685
+ polling_station: Volební místnost (role)
686
+ name: Volební komisař
687
+ polling_station:
688
+ fields:
689
+ address: Adresa
690
+ polling_station_managers: Manažeři
691
+ polling_station_president: Předseda
692
+ title: Název
693
+ name: Volební místnost
694
+ voting:
695
+ fields:
696
+ created_at: Vytvořeno v
697
+ promoted: Zvýrazněno
698
+ published: Publikováno
699
+ title: Název
700
+ monitoring_committee_members:
701
+ create:
702
+ invalid: Při vytváření tohoto člena monitorovacího výboru došlo k potížím
703
+ success: Člen monitorovacího výboru byl úspěšně vytvořen
704
+ destroy:
705
+ invalid: Při mazání tohoto člena monitorovacího výboru došlo k potížím
706
+ success: Člen monitorovacího výboru byl úspěšně odstraněn
707
+ form:
708
+ existing_user: Existující účastník
709
+ non_user: Pozvat nového účastníka
710
+ select_user: Hledat podle jména, e-mailu nebo přezdívky
711
+ user_type: Typ účastníka
712
+ index:
713
+ title: Monitorovací výbor
714
+ new:
715
+ create: Vytvořit
716
+ title: Vytvořit člena monitorovacího výboru
717
+ polling_officers:
718
+ create:
719
+ invalid: Při vytváření tohoto volebního komisaře došlo k chybě
720
+ success: Volební komisař byla úspěšně vytvořen
721
+ destroy:
722
+ invalid: Při mazání tohoto volebního komisaře došlo k chybě
723
+ success: Volební komisař byla úspěšně smazán
724
+ form:
725
+ existing_user: Existující účastník
726
+ non_user: Pozvat nového účastníka
727
+ select_user: Hledat podle jména, e-mailu nebo přezdívky
728
+ user_type: Typ účastníka
729
+ index:
730
+ role_manager: manažer
731
+ role_president: předseda
732
+ title: Volební komisaři
733
+ new:
734
+ create: Vytvořit
735
+ title: Vytvořit volebního komisaře
736
+ polling_officers_picker:
737
+ choose_polling_officers: Vybrat volební komisaře
738
+ close: Zavřít
739
+ more_polling_officers: Existuje ještě %{number} volebních komisařů. Upřesněte vyhledávání a najděte je.
740
+ no_polling_officers: Žádní volební komisaři neodpovídají vašim kritériím vyhledávání, nebo zde není žádný volební komisař.
741
+ polling_stations:
742
+ create:
743
+ invalid: Při vytváření tohoto volebního místa došlo k chybě
744
+ success: Volební místnost byla úspěšně vytvořena
745
+ destroy:
746
+ invalid: Při mazání této volební místnosti došlo k chybě
747
+ success: Volební místnost byla úspěšně odstraněna
748
+ edit:
749
+ title: Upravit volební místnost
750
+ update: Aktualizovat volební místnost
751
+ form:
752
+ address_help: 'Adresa: použita Geocoderem k nalezení polohy'
753
+ location_help: 'Umístění: zpráva určená voličům s uvedením přesného místa volební místnosti'
754
+ location_hints_help: 'Tipy k umístění: další informace. Příklad: patro budovy, kde se nachází volební místnost.'
755
+ polling_station_managers_help: 'Manažeři volební místnosti: úředníci, kteří budou působit jako správci volebních místností. Ujistěte se, že úředníci již byli vytvořeni pro volební místnosti a zda již nejsou přiděleni do jiné volební místnosti'
756
+ polling_station_president_help: 'Komisař volební místnosti: úředník, který bude předsedat volební místnosti. Ujistěte se, že úředník již byl vytvořen ve volební místnosti a zda již není přiřazen(a) k jiné volební místnosti'
757
+ select_president: Vyberte volebního komisaře jako předsedu volební místnosti
758
+ index:
759
+ title: Volební místnosti
760
+ new:
761
+ create: Vytvořit
762
+ title: Vytvořit volební místnost
763
+ update:
764
+ invalid: Při aktualizaci této volební místnosti došlo k chybě
765
+ success: Volební místnost byla úspěšně aktualizována
766
+ titles:
767
+ votings: Hlasování
768
+ votings:
769
+ actions:
770
+ confirm_destroy: Jsi si jist?
771
+ destroy: Zničit
772
+ new_voting: Nové hlasovací místo
773
+ publish: Publikovat
774
+ unpublish: Zrušit publikování
775
+ create:
776
+ invalid: Při vytváření tohoto hlasování došlo k chybě
777
+ success: Hlasování bylo úspěšně vytvořeno
778
+ edit:
779
+ add_election_component: Pro toto hlasování nemáte nakonfigurovány žádné volby. Přidejte jej prosím do sekce Komponenty
780
+ assign_missing_officers: Existují volební místnosti bez předsedy a/nebo manažerů. Prosím, přiřaďte je ze sekce volebních místností
781
+ update: Aktualizovat
782
+ form:
783
+ select_a_voting_type: Vyberte prosím typ hlasování
784
+ slug_help: 'URL slugů se používají k generování URL, které odkazují na toto hlasování. přijímá pouze písmena, čísla a pomlčky a musí začínat písmenem. Příklad: %{url}'
785
+ title: Název
786
+ voting_type:
787
+ hybrid: Hybridní
788
+ in_person: Osobní
789
+ online: Online
790
+ new:
791
+ create: Vytvořit
792
+ title: Nové hlasování
793
+ publish:
794
+ success: Hlasování bylo úspěšně publikováno
795
+ unpublish:
796
+ success: Hlasování bylo úspěšně zrušeno
797
+ update:
798
+ invalid: Při aktualizaci tohoto hlasování došlo k chybě
799
+ success: Hlasování bylo úspěšně aktualizováno
800
+ admin_log:
801
+ voting:
802
+ create: "%{user_name} vytvořil %{resource_name} hlasování"
803
+ publish: "%{user_name} zveřejnil %{resource_name} hlasování"
804
+ unpublish: "%{user_name} zrušil publikování %{resource_name} hlasování"
805
+ content_blocks:
806
+ highlighted_votings:
807
+ name: Zvýrazněné hlasování
808
+ monitoring_committee_members:
809
+ actions:
810
+ confirm_destroy: Jste si jisti?
811
+ destroy: Smazat
812
+ new: Nový člen
813
+ title: Akce
814
+ pages:
815
+ home:
816
+ highlighted_votings:
817
+ active_votings: Aktivní hlasování
818
+ see_all_votings: Zobrazit všechna hlasování
819
+ votings_button_title: Odkaz na stránku hlasování zobrazující všechna hlasování
820
+ polling_officer_zone:
821
+ menu:
822
+ polling_officer_zone: Zóna volebního komisaře
823
+ polling_officers:
824
+ show:
825
+ actions:
826
+ count_votes: Spočítat hlasy ve volební urně
827
+ identify_person: Identifikovat a ověřit osobu
828
+ polling_officer_role_description: V některých volbách, které se na této platformě provádí, vám byly přiděleny funkce úředníka volební místnosti (předsedy nebo ředitele).
829
+ polling_stations:
830
+ list:
831
+ actions: Akce
832
+ address: Adresa
833
+ name: Název
834
+ role: Vaše role
835
+ voting: Hlasování
836
+ no_polling_stations: Zatím nejste přiřazeni k žádnému volební místnosti.
837
+ title: Volební místnosti
838
+ polling_officers:
839
+ actions:
840
+ confirm_destroy: Jste si jisti?
841
+ destroy: Smazat
842
+ new: Nový
843
+ title: Akce
844
+ roles:
845
+ manager: Manažer
846
+ president: Předseda
847
+ unassigned: Nepřiřazen
848
+ polling_stations:
849
+ actions:
850
+ confirm_destroy: Jste si jist?
851
+ destroy: Smazat
852
+ edit: Upravit
853
+ new: Nový
854
+ title: Akce
855
+ votings:
856
+ count:
857
+ title:
858
+ one: "%{count} hlasování"
859
+ few: "%{count} hlasování"
860
+ many: "%{count} hlasování"
861
+ other: "%{count} hlasů"
862
+ filters:
863
+ active: Aktivní
864
+ all: Vše
865
+ finished: Dokončeno
866
+ search: Hledat
867
+ state: Stav
868
+ upcoming: Nadcházející
869
+ filters_small_view:
870
+ close_modal: Zavřít modal
871
+ filter: Filtr
872
+ filter_by: Filtrovat podle
873
+ unfold: Rozbalit
874
+ index:
875
+ no_votings: Žádné hlasování neodpovídá vašim kritériím hledání.
876
+ only_finished: Momentálně nejsou žádné naplánované hlasování, ale zde můžete najít dokončené hlasování uvedené v seznamu.
877
+ title: Hlasování
878
+ orders:
879
+ label: 'Seřadit hlasy podle:'
880
+ random: Náhodně
881
+ recent: Nejnovější
882
+ show:
883
+ dates: Data
884
+ votings_m:
885
+ badge_name:
886
+ finished: Dokončeno
887
+ ongoing: Probíhající
888
+ upcoming: Nadcházející
889
+ footer_button_text:
890
+ participate: Účastnit se
891
+ view: Zobrazit
892
+ vote: Hlasovat
893
+ unspecified: Nespecifikováno
894
+ voting_type:
895
+ hybrid: Hybridní
896
+ in_person: Osobně
897
+ online: Online
898
+ voting_types_label: Typ hlasování
267
899
  layouts:
268
900
  decidim:
269
901
  election_votes_header:
270
902
  exit: Ukončit
903
+ votings:
904
+ index:
905
+ promoted_votings: Zvýrazněné hlasování
906
+ promoted_voting:
907
+ more_info: Více informací
908
+ vote: Hlasovat