decidim-elections 0.23.2 → 0.24.0

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