decidim-elections 0.23.0 → 0.24.0.rc1

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/_preview.html.erb +26 -0
  198. data/app/views/decidim/elections/elections/_results.html.erb +47 -0
  199. data/app/views/decidim/elections/elections/show.html.erb +39 -12
  200. data/app/views/decidim/elections/trustee_zone/elections/_backup_modal.html.erb +24 -0
  201. data/app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb +44 -0
  202. data/app/views/decidim/elections/trustee_zone/elections/_restore_modal.html.erb +25 -0
  203. data/app/views/decidim/elections/trustee_zone/elections/_tally_steps.html.erb +43 -0
  204. data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +38 -0
  205. data/app/views/decidim/elections/trustee_zone/elections/update.js.erb +5 -0
  206. data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +102 -0
  207. data/app/views/decidim/elections/votes/_election_votes_confirmed.html.erb +38 -17
  208. data/app/views/decidim/elections/votes/_election_votes_failed.html.erb +21 -0
  209. data/app/views/decidim/elections/votes/_election_votes_question.html.erb +4 -4
  210. data/app/views/decidim/elections/votes/cast_failed.js.erb +1 -0
  211. data/app/views/decidim/elections/votes/cast_success.js.erb +1 -0
  212. data/app/views/decidim/elections/votes/new.html.erb +41 -33
  213. data/app/views/decidim/elections/votes/verify.html.erb +78 -0
  214. data/app/views/decidim/votings/admin/monitoring_committee_members/_form.html.erb +27 -0
  215. data/app/views/decidim/votings/admin/monitoring_committee_members/index.html.erb +41 -0
  216. data/app/views/decidim/votings/admin/monitoring_committee_members/new.html.erb +7 -0
  217. data/app/views/decidim/votings/admin/polling_officers/_form.html.erb +27 -0
  218. data/app/views/decidim/votings/admin/polling_officers/index.html.erb +50 -0
  219. data/app/views/decidim/votings/admin/polling_officers/new.html.erb +7 -0
  220. data/app/views/decidim/votings/admin/polling_stations/_form.html.erb +40 -0
  221. data/app/views/decidim/votings/admin/polling_stations/edit.html.erb +7 -0
  222. data/app/views/decidim/votings/admin/polling_stations/index.html.erb +55 -0
  223. data/app/views/decidim/votings/admin/polling_stations/new.html.erb +7 -0
  224. data/app/views/decidim/votings/admin/votings/_form.html.erb +63 -0
  225. data/app/views/decidim/votings/admin/votings/edit.html.erb +31 -0
  226. data/app/views/decidim/votings/admin/votings/index.html.erb +87 -0
  227. data/app/views/decidim/votings/admin/votings/new.html.erb +13 -0
  228. data/app/views/decidim/votings/admin/votings/polling_officers_picker.html.erb +2 -0
  229. data/app/views/decidim/votings/polling_officer_zone/polling_officers/show.html.erb +42 -0
  230. data/app/views/decidim/votings/polling_officer_zone/polling_stations/show.html.erb +1 -0
  231. data/app/views/decidim/votings/votings/_count.html.erb +1 -0
  232. data/app/views/decidim/votings/votings/_filters.html.erb +25 -0
  233. data/app/views/decidim/votings/votings/_filters_small_view.html.erb +23 -0
  234. data/app/views/decidim/votings/votings/_promoted_voting.html.erb +27 -0
  235. data/app/views/decidim/votings/votings/_voting_details.html.erb +7 -0
  236. data/app/views/decidim/votings/votings/_votings.html.erb +25 -0
  237. data/app/views/decidim/votings/votings/index.html.erb +42 -0
  238. data/app/views/decidim/votings/votings/index.js.erb +10 -0
  239. data/app/views/decidim/votings/votings/show.html.erb +20 -0
  240. data/app/views/layouts/decidim/_voting_header.html.erb +16 -0
  241. data/app/views/layouts/decidim/admin/voting.html.erb +101 -0
  242. data/app/views/layouts/decidim/voting.html.erb +16 -0
  243. data/config/initializers/decidim_bulletin_board.rb +23 -0
  244. data/config/locales/ca.yml +39 -6
  245. data/config/locales/cs.yml +640 -6
  246. data/config/locales/de.yml +677 -10
  247. data/config/locales/el.yml +0 -2
  248. data/config/locales/en.yml +636 -6
  249. data/config/locales/es-MX.yml +6 -10
  250. data/config/locales/es-PY.yml +6 -10
  251. data/config/locales/es.yml +6 -10
  252. data/config/locales/fi-plain.yml +635 -6
  253. data/config/locales/fi.yml +636 -7
  254. data/config/locales/fr-CA.yml +422 -6
  255. data/config/locales/fr.yml +422 -6
  256. data/config/locales/gl.yml +168 -0
  257. data/config/locales/it.yml +107 -6
  258. data/config/locales/ja.yml +8 -6
  259. data/config/locales/lv.yml +0 -2
  260. data/config/locales/nl.yml +502 -6
  261. data/config/locales/no.yml +0 -6
  262. data/config/locales/pl.yml +580 -8
  263. data/config/locales/pt.yml +0 -6
  264. data/config/locales/ro-RO.yml +0 -6
  265. data/config/locales/si-LK.yml +1 -0
  266. data/config/locales/sv.yml +8 -7
  267. data/config/locales/sw-KE.yml +1 -0
  268. data/config/locales/tr-TR.yml +369 -0
  269. data/config/locales/zh-CN.yml +0 -6
  270. data/db/migrate/20200915142713_add_questionnaire_to_existing_elections.rb +29 -0
  271. data/db/migrate/20200918153813_create_decidim_elections_trustees_participatory_spaces.rb +13 -0
  272. data/db/migrate/20200918153824_create_decidim_elections_elections_trustees.rb +10 -0
  273. data/db/migrate/20200918153835_create_decidim_elections_trustees.rb +12 -0
  274. data/db/migrate/20201026163334_add_blocked_at_and_bb_status_to_elections.rb +8 -0
  275. data/db/migrate/20201028090110_add_votes_to_decidim_elections_answers.rb +7 -0
  276. data/db/migrate/20201028135614_add_selected_to_decidim_elections_answers.rb +7 -0
  277. data/db/migrate/20201209110653_create_decidim_elections_votes.rb +14 -0
  278. data/db/migrate/20201216091123_add_name_to_trustees.rb +7 -0
  279. data/db/migrate/20210113113818_add_message_id_to_decidim_elections_votes.rb +7 -0
  280. data/db/migrate/20210113120115_create_decidim_elections_votings.rb +20 -0
  281. data/db/migrate/20210114100749_add_published_at_to_decidim_votings_votings.rb +7 -0
  282. data/db/migrate/20210114111850_add_user_to_decidim_elections_votes.rb +7 -0
  283. data/db/migrate/20210120164634_add_promoted_to_voting.rb +7 -0
  284. data/db/migrate/20210125124801_add_voting_type_to_voting_voting.rb +7 -0
  285. data/db/migrate/20210129124956_create_decidim_elections_actions.rb +14 -0
  286. data/db/migrate/20210204132111_add_votings_polling_stations.rb +19 -0
  287. data/db/migrate/20210208090441_add_polling_officers_to_votings.rb +12 -0
  288. data/db/migrate/20210210090738_add_votings_polling_station_references_to_votings_polling_officer.rb +8 -0
  289. data/db/migrate/20210216074707_add_monitoring_committee_member.rb +12 -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 +309 -24
  321. data/app/types/decidim/elections/election_answer_type.rb +0 -24
  322. data/app/types/decidim/elections/election_question_type.rb +0 -25
  323. data/app/types/decidim/elections/election_type.rb +0 -27
  324. data/app/types/decidim/elections/elections_type.rb +0 -32
  325. data/config/i18n-tasks.yml +0 -10
  326. data/lib/decidim/elections/bulletin_board_client.rb +0 -35
@@ -48,8 +48,6 @@ pt:
48
48
  confirm_destroy: Tem a certeza?
49
49
  destroy: Destruir
50
50
  edit: Editar
51
- edit_answers: Editar respostas
52
- edit_questions: Editar perguntas
53
51
  import: Importar propostas para perguntas
54
52
  new: Novo %{name}
55
53
  preview: Pré-visualizar
@@ -140,12 +138,9 @@ pt:
140
138
  one: "%{count} eleição"
141
139
  other: "%{count} eleições"
142
140
  show:
143
- back: Todas as eleições
144
141
  preview: Pré-visualizar
145
- vote: Voto
146
142
  voting_period_status:
147
143
  finished: A votação começou em %{start_time} e terminou em %{end_time}
148
- ongoing: A votação termina em %{end_time}
149
144
  upcoming: A votação começa em %{start_time}
150
145
  models:
151
146
  answer:
@@ -178,7 +173,6 @@ pt:
178
173
  header: Voto confirmado
179
174
  lead: O seu voto já foi transmitido!
180
175
  text: 'Pode verificar que o seu voto foi adicionado corretamente à caixa de voto com o seguinte identificador: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
181
- verify_text: Para verificá-lo, copie o identificador e cole-o na <a href="evote-verify">página de verificação de voto</a>
182
176
  encrypting:
183
177
  header: A codificar voto...
184
178
  text: O seu voto está a ser encriptado para garantir que pode transmiti-lo anonimamente.
@@ -51,8 +51,6 @@ ro:
51
51
  confirm_destroy: Ești sigur?
52
52
  destroy: Distruge
53
53
  edit: Editare
54
- edit_answers: Editare răspunsuri
55
- edit_questions: Editare întrebări
56
54
  import: Importă propunerile pentru răspunsuri
57
55
  new: '%{name} nou'
58
56
  preview: Previzualizare
@@ -144,12 +142,9 @@ ro:
144
142
  few: "%{count} alegeri"
145
143
  other: "%{count} alegeri"
146
144
  show:
147
- back: Toate alegerile
148
145
  preview: Previzualizare
149
- vote: Votează
150
146
  voting_period_status:
151
147
  finished: Votarea a început la %{start_time} și s-a încheiat la %{end_time}
152
- ongoing: Votarea se termină la %{end_time}
153
148
  upcoming: Votarea începe la %{start_time}
154
149
  models:
155
150
  answer:
@@ -182,7 +177,6 @@ ro:
182
177
  header: Votare confirmată
183
178
  lead: Votul tău a fost deja exprimat!
184
179
  text: 'Poți verifica dacă votul tău a fost adăugat cu succes în urna de vot cu următorul identificator: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
185
- verify_text: Pentru a verifica, copiați identificatorul și lipiți-l pe pagina <a href="evote-verify">pentru verificarea votului</a>
186
180
  encrypting:
187
181
  header: Codificarea votului...
188
182
  text: Votul tău este criptat pentru a te asigura că îl poți trimite anonim.
@@ -0,0 +1 @@
1
+ si:
@@ -52,8 +52,6 @@ sv:
52
52
  confirm_destroy: Är du säker?
53
53
  destroy: Förstör
54
54
  edit: Redigera
55
- edit_answers: Redigera svar
56
- edit_questions: Redigera frågor
57
55
  import: Importera förslag till svar
58
56
  new: Ny %{name}
59
57
  preview: Förhandsgranska
@@ -101,6 +99,8 @@ sv:
101
99
  update:
102
100
  invalid: Det gick inte att uppdatera valet
103
101
  success: Val har uppdaterats
102
+ exports:
103
+ elections: Val
104
104
  models:
105
105
  answer:
106
106
  name: Svar
@@ -134,6 +134,11 @@ sv:
134
134
  update:
135
135
  invalid: Det gick inte att uppdatera denna fråga
136
136
  success: Frågan har uppdaterats
137
+ steps:
138
+ vote_stats:
139
+ no_vote_statistics_yet: Ingen röstningsstatistik ännu
140
+ title: Röstningsstatistik
141
+ votes: Röster
137
142
  admin_log:
138
143
  election:
139
144
  publish: "%{user_name} publicerade valet %{resource_name}"
@@ -170,12 +175,9 @@ sv:
170
175
  filter_by: Filtrera efter
171
176
  unfold: Veckla ut
172
177
  show:
173
- back: Alla val
174
178
  preview: Förhandsgranska
175
- vote: Rösta
176
179
  voting_period_status:
177
180
  finished: Omröstningen började den %{start_time} och slutade den %{end_time}
178
- ongoing: Omröstningen slutar den %{end_time}
179
181
  upcoming: Omröstningen börjar den %{start_time}
180
182
  models:
181
183
  answer:
@@ -212,7 +214,6 @@ sv:
212
214
  header: Rösta bekräftad
213
215
  lead: Din röst har redan skickats!
214
216
  text: 'Du kan kontrollera att din röst har lagts till i röstsedeln med följande identifierare: <strong class="evote__poll-id">%{e_vote_poll_id}</strong>'
215
- verify_text: För att kontrollera det, kopiera identifieraren och klistra in den på <a href="evote-verify">röstverifieringssidan</a>
216
217
  encrypting:
217
218
  header: Kodar omröstning...
218
219
  text: Din röst krypteras så att du kan skicka den anonymt.
@@ -245,7 +246,7 @@ sv:
245
246
  notification_title: Valet <a href="%{resource_path}">%{resource_title}</a> är nu aktivt för %{participatory_space_title}.
246
247
  participatory_processes:
247
248
  statistics:
248
- elections_count: Val
249
+ elections_count: Omröstningar
249
250
  layouts:
250
251
  decidim:
251
252
  election_votes_header:
@@ -0,0 +1 @@
1
+ sw:
@@ -1 +1,370 @@
1
1
  tr:
2
+ activemodel:
3
+ attributes:
4
+ answer:
5
+ description: Açıklama
6
+ image: Resim
7
+ proposals: İlgili teklifler
8
+ title: Başlık
9
+ election:
10
+ description: Açıklama
11
+ end_time: Oylama bitişi
12
+ start_time: Oylama başlangıcı
13
+ title: Başlık
14
+ question:
15
+ description: Açıklama
16
+ max_selections: Maksimum seçim sayısı
17
+ min_selections: Yukarıdakilerden hiçbiri
18
+ title: Başlık
19
+ errors:
20
+ models:
21
+ answer:
22
+ attributes:
23
+ attachment:
24
+ needs_to_be_reattached: Yeniden bağlanması gerekiyor
25
+ election:
26
+ attributes:
27
+ attachment:
28
+ needs_to_be_reattached: Yeniden bağlanması gerekiyor
29
+ trustee:
30
+ attributes:
31
+ public_key:
32
+ cant_be_changed: değiştirilemez
33
+ activerecord:
34
+ models:
35
+ decidim/elections/answer:
36
+ one: Cevap
37
+ other: Cevaplar
38
+ decidim/elections/election:
39
+ one: Seçim
40
+ other: Seçimler
41
+ decidim/elections/question:
42
+ one: Soru
43
+ other: Sorular
44
+ decidim:
45
+ components:
46
+ elections:
47
+ actions:
48
+ vote: Oy ver
49
+ name: Seçimler
50
+ settings:
51
+ global:
52
+ announcement: Duyuru
53
+ step:
54
+ announcement: Duyuru
55
+ elections:
56
+ actions:
57
+ confirm_destroy: Emin misin?
58
+ destroy: Yok et
59
+ edit: Düzenle
60
+ feedback: Seçmen geri bildirimi
61
+ import: Teklifleri yanıtlara aktarın
62
+ manage_answers: Cevapları yönet
63
+ manage_questions: Soruları yönet
64
+ new: Yeni %{name}
65
+ preview: Önizleme
66
+ publish: Yayınla
67
+ title: Eylemler
68
+ unpublish: Yayımdan Kaldır
69
+ admin:
70
+ answers:
71
+ create:
72
+ invalid: Bu cevabı oluştururken bir sorunla karşılaştım
73
+ success: Cevap başarıyla oluşturuldu
74
+ destroy:
75
+ invalid: Bu cevabı silerken bir sorun oluştu
76
+ success: Yanıt başarıyla silindi
77
+ edit:
78
+ title: Cevabı düzenle
79
+ update: Cevabı güncelle
80
+ index:
81
+ invalid_max_selections: Maksimum seçimi eşleştirmek için %{missing_answers} yanıt(lar)a daha ihtiyacınız var
82
+ title: Cevaplar
83
+ new:
84
+ create: Cevap oluştur
85
+ title: Yeni cevap
86
+ select:
87
+ disable: Cevabın seçimini kaldır
88
+ enable: Cevabı seçildi olarak işaretle
89
+ invalid: Bu cevabı seçerken bir sorun oluştu
90
+ success: Cevap başarıyla seçildi
91
+ unselect:
92
+ invalid: Bu cevabın seçimi kaldırılırken bir sorun oluştu
93
+ success: Cevabın seçimi başarıyla kaldırıldı
94
+ update:
95
+ invalid: Bu klasör güncellenirken bir hata oluştu
96
+ success: Cevap başarıyla güncellendi
97
+ elections:
98
+ create:
99
+ invalid: Bu seçim oluşturulurken bir sorun meydana geldi
100
+ success: Seçim başarıyla oluşturuldu
101
+ destroy:
102
+ invalid: Bu seçim silinirken bir sorun oluştu
103
+ success: Seçim başarıyla silindi
104
+ edit:
105
+ title: Seçimi düzenle
106
+ update: Seçimi güncelle
107
+ index:
108
+ no_bulletin_board: Bu modülü kullanmak için gerekli olan yapılandırılmış bir <a href="https://github.com/decidim/decidim-bulletin-board"> Bulletin Board sunucusu </a> yok. Bu görev Sistem Yöneticisi tarafından yapılmalıdır.
109
+ title: Seçimler
110
+ new:
111
+ create: Seçim oluştur
112
+ title: Yeni seçim
113
+ publish:
114
+ success: Seçim başarıyla yayınlandı.
115
+ unpublish:
116
+ success: Seçim başarılı bir şekilde yayınlanmadı.
117
+ update:
118
+ invalid: Bu seçim güncellenirken bir sorun oluştu
119
+ success: Seçim başarıyla güncellendi
120
+ exports:
121
+ elections: Seçimler
122
+ feedback_form_answers: Cevapların geri bildirimi
123
+ models:
124
+ answer:
125
+ name: Cevap
126
+ election:
127
+ name: Seçim
128
+ question:
129
+ name: Soru
130
+ trustee:
131
+ name: Vekil
132
+ proposals_imports:
133
+ create:
134
+ invalid: Teklifleri cevaplara aktarırken bir sorun oluştu
135
+ success: "%{number} teklif başarıyla yanıtlara aktarıldı"
136
+ new:
137
+ create: Teklifleri yanıtlara aktarın
138
+ no_components: Bu katılımcı alanda, teklifleri yanıtlara aktarmak için başka teklif bileşeni yoktur.
139
+ select_component: Lütfen modülü bileşeni seçin
140
+ title: Teklifleri içe aktar
141
+ questions:
142
+ create:
143
+ invalid: Yeni bir soru oluşturulurken bir hata oluştu
144
+ success: Soru başarıyla oluşturuldu
145
+ destroy:
146
+ invalid: Bu soru silinirken bir sorun oluştu
147
+ success: Soru başarıyla silindi
148
+ edit:
149
+ title: Soruyu Düzenle
150
+ update: Soruyu güncelle
151
+ index:
152
+ title: Sorular
153
+ new:
154
+ create: Soru Oluştur
155
+ title: Yeni soru
156
+ update:
157
+ invalid: Bu soru güncellenirken bir hata oluştu
158
+ success: Soru başarıyla güncellendi
159
+ trustees_participatory_spaces:
160
+ actions:
161
+ disable: Devre dışı
162
+ enable: Dikkate al
163
+ create:
164
+ exists: Bu katılımcı alan için vekil var
165
+ invalid: Vekil oluşturulurken bir sorun meydana geldi
166
+ success: Vekil başarıyla oluşturuldu
167
+ delete:
168
+ invalid: Bu vekili kaldırırken bir sorun oluştu
169
+ success: Vekil başarıyla kaldırıldı
170
+ form:
171
+ select_user: Kullanıcı seçin
172
+ index:
173
+ title: Vekiller
174
+ new:
175
+ create: Vekil Oluşturun
176
+ title: Yeni Vekil
177
+ update:
178
+ invalid: '%{trustee} vekili güncellenirken bir sorun oluştu'
179
+ success: Vekil %{trustee} başarıyla güncellendi
180
+ admin_log:
181
+ election:
182
+ publish: "%{user_name}, %{resource_name} seçimini yayınladı"
183
+ unpublish: "%{user_name}, %{resource_name} seçimini yayından kaldırdı"
184
+ election_m:
185
+ badge_name:
186
+ finished: Bitti
187
+ ongoing: Aktif
188
+ upcoming: Yakında
189
+ end_date: Son
190
+ footer:
191
+ view: Görünüm
192
+ vote: Seçim
193
+ label:
194
+ date: Tarihler
195
+ questions: '%{count} soru'
196
+ start_date: Başlangıç
197
+ unspecified: Belirtilmemiş
198
+ elections:
199
+ count:
200
+ elections_count:
201
+ one: "%{count} seçim"
202
+ other: "%{count} seçim"
203
+ filters:
204
+ active: Aktif
205
+ all: Tümü
206
+ finished: Bitti
207
+ search: Arama
208
+ state: Statü
209
+ upcoming: Yakında
210
+ filters_small_view:
211
+ close_modal: Pencereyi kapat
212
+ filter: Filtrele
213
+ filter_by: Şuna göre filtrele
214
+ unfold: Aç
215
+ preview:
216
+ available_answers: Mevcut cevaplar
217
+ description: Oylama sürecinde bulacağınız sorular bunlar
218
+ title: Seçim soruları
219
+ results:
220
+ description: Bunlar, her soru için oylamanın sonuçlarıdır
221
+ selected: Seçili
222
+ title: Seçim sonuçları
223
+ votes:
224
+ one: "%{count} oy"
225
+ other: "%{count} oy"
226
+ show:
227
+ back: Mevcut seçimler
228
+ preview: Önizleme
229
+ voting_period_status:
230
+ finished: Oylama %{start_time} tarihinde başladı ve %{end_time} tarihinde sona erdi
231
+ upcoming: Oylama %{start_time} tarihinde başlıyor
232
+ feedback:
233
+ answer:
234
+ invalid: Geri bildiriminizi gönderirken bir sorun oluştu.
235
+ spam_detected: Formu yanıtlarken bir sorun oluştu. Belki çok hızlı davrandın, tekrar deneyebilir misin?
236
+ success: Geri bildirim başarıyla gönderildi.
237
+ models:
238
+ answer:
239
+ fields:
240
+ proposals: Teklifler
241
+ title: Başlık
242
+ election:
243
+ fields:
244
+ end_time: Bitiyor
245
+ start_time: Başlıyor
246
+ title: Başlık
247
+ question:
248
+ fields:
249
+ answers: Cevaplar
250
+ max_selections: Maks. Alan sayısı seçimler
251
+ title: Başlık
252
+ trustees_participatory_space:
253
+ fields:
254
+ considered: dikkate al
255
+ email: E-posta
256
+ inactive: aktif değil
257
+ name: Adı
258
+ notification: Bildirim gönderildi
259
+ public_key: Herkese açık anahtar
260
+ status: Statü
261
+ orders:
262
+ label: Seçimleri şuna göre sırala
263
+ older: Daha eski
264
+ recent: En son
265
+ trustee_zone:
266
+ menu:
267
+ trustee_zone: Vekil bölgesi
268
+ trustees:
269
+ show:
270
+ elections:
271
+ list:
272
+ election: Seçim
273
+ voting_period: Oylama süresi
274
+ no_elections: Vekil olarak hareket ettiğiniz hiçbir seçim yoktur.
275
+ title: Seçimler
276
+ identification_keys:
277
+ cancel: İptal Et
278
+ generate: Kimlik anahtarları oluşturun
279
+ generate_error: Kimlik anahtarları oluşturulurken bir hata meydana geldi.
280
+ generate_legend: Vekil olarak seçimlere katılmak için bir kimlik anahtarı çifti oluşturmanız gerekir.
281
+ generate_legend_1: Düğmeye bastıktan sonra, oluşturulan tanımlama anahtarları ile dosyayı indirmelisiniz.
282
+ generate_legend_2: İndirilen dosyayı temiz bir USB cihazına kopyalayın
283
+ generate_legend_3: Bilgisayarınızda dosyanın bir kopyası olmadığından emin olun (ör. İndirilenler ve Masaüstü klasörlerini kontrol edin).
284
+ generate_legend_4: Dosyanın başka bir kopyasını farklı bir harici cihazda oluşturun ve çok güvenli bir yerde saklayın.
285
+ submit: Gönder
286
+ submit_legend: Yukarıda açıklanan tüm adımları izledikten sonra, açık kimlik anahtarını Decidim sunucusuna gönderme işlemini tamamlayın.
287
+ submit_title: Genel kimlik anahtarını gönderin
288
+ title: Vekil kimlik anahtarları
289
+ upload: Kimlik anahtarlarınızı yükleyin
290
+ upload_error:
291
+ invalid_format: Yüklenen dosya herhangi bir kimlik anahtarı içermiyor.
292
+ invalid_key: Yüklenen dosyadaki kimlik anahtarları yüklenemez.
293
+ invalid_public_key: Yüklenen dosyadaki tanımlama anahtarları, Decidim tarafından saklanan genel tanımlama anahtarıyla eşleşmiyor.
294
+ upload_legend: Decidim'de sizin genel kimlik anahtarlarınız var, ancak tarayıcınızda hala bu anahtarlar yok. Kimlik anahtarlarınızın olduğu dosyayı, oluşturduktan sonra oluşturduğunuz yedekten bilgisayarınıza aktarmanız gerekir.
295
+ not_supported_browser_description: Vekil olarak hareket etmek için kullanılamayan bir web tarayıcısı kullanıyorsunuz gibi görünüyor. Vekil görevlerinizi tamamlayabilmek için tarayıcınızın en son sürümünü kullandığınızdan emin olun veya en popüler tarayıcılardan herhangi birini kullanmayı deneyin.
296
+ not_supported_browser_title: Vekil kişi olarak hareket etmek için tarayıcıyı yükseltin
297
+ trustee_role_description: Bu platformda kutlanan bazı seçimlerde Vekil olarak görev yapmakla görevlendirildiniz.
298
+ update:
299
+ success: Tanımlama genel anahtarınız başarıyla saklandı.
300
+ votes:
301
+ confirm:
302
+ answer: Cevap
303
+ answer_number: '%{number} cevap'
304
+ confirm: Onayla
305
+ edit: düzenle
306
+ header: Oyunu onayla
307
+ intro: İşte kullanmak üzere olduğunuz oyların bir özeti. <br> Lütfen oyunuzu onaylayın veya yanıtlarınızı düzenleyin.
308
+ nota_option: Boş
309
+ question: '%{count} soru'
310
+ confirmed:
311
+ back: Seçimlere dön
312
+ experience: Şu ana kadarki deneyiminiz nasıl?
313
+ feedback: Bize geri bildirim verin
314
+ header: Oy onaylandı
315
+ lead: Oyunuz çoktan verildi!
316
+ text: 'Aşağıdaki tanımlayıcıyla oyunuzun başarıyla oy sandığına eklenip eklenmediğini kontrol edebilirsiniz: <strong class = "evote__poll-id">%{e_vote_poll_id} </strong>'
317
+ encrypting:
318
+ header: Oy kodlanıyor...
319
+ text: Anonim olarak kullanabilmeniz için oyunuz şifreleniyor.
320
+ header:
321
+ confirm: Oyunu onayla
322
+ confirmed: Oy onaylandı
323
+ encrypting: Onaylanan oy
324
+ messages:
325
+ not_allowed: Şu anda bu seçim için oy kullanmanıza izin verilmiyor.
326
+ modal:
327
+ close: Kapat
328
+ proposal_header: 'Teklifler:'
329
+ new:
330
+ answer_choices: En fazla %{choices} cevap seçebilirsiniz
331
+ more_information: Daha fazla bilgi
332
+ nota_option: Yukarıdakilerin hiçbiri
333
+ preview_alert: Bu, oylama kabininin bir önizlemesidir.
334
+ question_steps: Soru %{current_step}/%{total_steps}
335
+ selections: "%{selected}/%{max_selections} <br> seçim"
336
+ voting_step:
337
+ back: Geri
338
+ continue: Sonraki
339
+ warnings:
340
+ no_elections_warning: Arama kriterlerinize uyan seçim yok veya planlanmış bir seçim yok.
341
+ no_scheduled_elections_warning: Şu anda planlanmış bir seçim yok, ancak burada listelenen tüm geçmiş seçimleri bulabilirsiniz.
342
+ events:
343
+ elections:
344
+ election_published:
345
+ email_intro: '%{resource_title} seçimi artık %{participatory_space_title} için aktif. Bu sayfadan görebilirsiniz:'
346
+ email_outro: Bu bildirimi, %{participatory_space_title} adlı kişiyi takip ettiğiniz için aldınız. Önceki bağlantıyı izleyerek bildirim almayı durdurabilirsiniz.
347
+ email_subject: '%{resource_title} seçimi artık %{participatory_space_title} için aktif.'
348
+ notification_title: <a href="%{resource_path}">%{resource_title} </a> seçimi artık %{participatory_space_title} için aktif.
349
+ trustees:
350
+ new_election:
351
+ email_intro: '%{resource_title} seçimi için vekil olarak eklendiniz.'
352
+ email_outro: Bu bildirimi, %{resource_title} seçiminde vekil kişi olarak eklendiğiniz için aldınız.
353
+ email_subject: '%{resource_title} seçimi için vekil olarak eklendiniz..'
354
+ notification_title: <a href="%{resource_path}">%{resource_title} </a> seçimi için bir vekilsiniz.
355
+ new_trustee:
356
+ email_intro: Bir yönetici sizi %{resource_name} için güvenilen kişi olarak ekledi. Genel anahtarınızı <a href='%{trustee_zone_url}'> güvenilen bölgenizde </a> oluşturmalısınız
357
+ email_outro: Bu bildirimi, %{resource_name} için vekil kişi olarak eklendiğiniz için aldınız.
358
+ email_subject: '%{resource_name} için vekil birisiniz.'
359
+ notification_title: <a href="%{participatory_space_url}">%{resource_name} </a> için vekil birisiniz.
360
+ pages:
361
+ home:
362
+ statistics:
363
+ elections_count: Seçimler
364
+ participatory_processes:
365
+ statistics:
366
+ elections_count: Seçimler
367
+ layouts:
368
+ decidim:
369
+ election_votes_header:
370
+ exit: Çıkış