decidim-elections 0.27.7 → 0.28.0.rc4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (459) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -3
  3. data/app/cells/decidim/elections/content_blocks/related_elections_cell.rb +13 -0
  4. data/app/cells/decidim/elections/election_cell.rb +7 -2
  5. data/app/cells/decidim/elections/election_g_cell.rb +23 -0
  6. data/app/cells/decidim/elections/election_metadata_cell.rb +57 -0
  7. data/app/cells/decidim/elections/election_preview/show.erb +24 -24
  8. data/app/cells/decidim/elections/election_results/progress_bar.erb +6 -7
  9. data/app/cells/decidim/elections/election_results/show.erb +36 -33
  10. data/app/cells/decidim/elections/election_s_cell.rb +10 -0
  11. data/app/cells/decidim/elections/election_vote_cta/show.erb +14 -26
  12. data/app/cells/decidim/elections/election_vote_cta_cell.rb +0 -9
  13. data/app/cells/decidim/elections/highlighted_elections_for_component/show.erb +18 -0
  14. data/app/cells/decidim/elections/highlighted_elections_for_component_cell.rb +50 -0
  15. data/app/cells/decidim/elections/remaining_time_callout/show.erb +1 -3
  16. data/app/cells/decidim/elections/voting_step_navigation/show.erb +21 -25
  17. data/app/cells/decidim/elections/voting_step_navigation_cell.rb +2 -2
  18. data/app/cells/decidim/votings/content_block_cell.rb +5 -1
  19. data/app/cells/decidim/votings/content_blocks/hero_cell.rb +53 -0
  20. data/app/cells/decidim/votings/content_blocks/hero_settings_form_cell.rb +15 -0
  21. data/app/cells/decidim/votings/content_blocks/highlighted_votings_cell.rb +12 -21
  22. data/app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form/show.erb +1 -1
  23. data/app/cells/decidim/votings/content_blocks/main_data_cell.rb +34 -0
  24. data/app/cells/decidim/votings/content_blocks/metrics_cell.rb +17 -0
  25. data/app/cells/decidim/votings/content_blocks/polling_stations/show.erb +21 -0
  26. data/app/cells/decidim/votings/content_blocks/polling_stations_cell.rb +31 -0
  27. data/app/cells/decidim/votings/content_blocks/statistics_cell.rb +18 -0
  28. data/app/cells/decidim/votings/polling_officers/polling_officers_picker/show.erb +14 -13
  29. data/app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb +19 -16
  30. data/app/cells/decidim/votings/polling_station_closure_certificate/show.erb +5 -7
  31. data/app/cells/decidim/votings/polling_station_closure_recount/show.erb +55 -59
  32. data/app/cells/decidim/votings/voting_cell.rb +7 -2
  33. data/app/cells/decidim/votings/voting_dropdown_metadata_cell.rb +19 -0
  34. data/app/cells/decidim/votings/voting_g_cell.rb +19 -0
  35. data/app/cells/decidim/votings/voting_map/show.erb +16 -0
  36. data/app/cells/decidim/votings/voting_map_cell.rb +28 -0
  37. data/app/cells/decidim/votings/voting_metadata_cell.rb +66 -0
  38. data/app/cells/decidim/votings/voting_s_cell.rb +10 -0
  39. data/app/commands/decidim/elections/admin/add_user_as_trustee.rb +5 -5
  40. data/app/commands/decidim/elections/admin/create_answer.rb +0 -1
  41. data/app/commands/decidim/elections/admin/create_election.rb +0 -1
  42. data/app/commands/decidim/elections/admin/destroy_answer.rb +0 -1
  43. data/app/commands/decidim/elections/admin/destroy_election.rb +0 -1
  44. data/app/commands/decidim/elections/admin/end_vote.rb +2 -2
  45. data/app/commands/decidim/elections/admin/import_proposals_to_elections.rb +1 -1
  46. data/app/commands/decidim/elections/admin/publish_election.rb +1 -1
  47. data/app/commands/decidim/elections/admin/publish_results.rb +2 -2
  48. data/app/commands/decidim/elections/admin/report_missing_trustee.rb +2 -2
  49. data/app/commands/decidim/elections/admin/setup_election.rb +2 -2
  50. data/app/commands/decidim/elections/admin/start_key_ceremony.rb +2 -2
  51. data/app/commands/decidim/elections/admin/start_tally.rb +2 -2
  52. data/app/commands/decidim/elections/admin/start_vote.rb +2 -2
  53. data/app/commands/decidim/elections/admin/unpublish_election.rb +1 -1
  54. data/app/commands/decidim/elections/admin/update_answer.rb +0 -1
  55. data/app/commands/decidim/elections/admin/update_answer_selection.rb +1 -1
  56. data/app/commands/decidim/elections/admin/update_election.rb +0 -1
  57. data/app/commands/decidim/elections/trustee_zone/update_election_bulletin_board_status.rb +3 -3
  58. data/app/commands/decidim/elections/voter/cast_vote.rb +1 -1
  59. data/app/commands/decidim/elections/voter/update_vote_status.rb +2 -2
  60. data/app/commands/decidim/votings/admin/create_ballot_style.rb +1 -1
  61. data/app/commands/decidim/votings/admin/create_monitoring_committee_member.rb +4 -4
  62. data/app/commands/decidim/votings/admin/create_polling_officer.rb +4 -4
  63. data/app/commands/decidim/votings/admin/create_polling_station.rb +1 -1
  64. data/app/commands/decidim/votings/admin/create_voting.rb +1 -1
  65. data/app/commands/decidim/votings/admin/destroy_ballot_style.rb +1 -1
  66. data/app/commands/decidim/votings/admin/destroy_monitoring_committee_member.rb +1 -1
  67. data/app/commands/decidim/votings/admin/destroy_polling_officer.rb +1 -1
  68. data/app/commands/decidim/votings/admin/manage_polling_station.rb +1 -1
  69. data/app/commands/decidim/votings/admin/monitoring_committee_validate_polling_station_closure.rb +1 -1
  70. data/app/commands/decidim/votings/admin/update_ballot_style.rb +1 -1
  71. data/app/commands/decidim/votings/admin/update_voting.rb +1 -1
  72. data/app/commands/decidim/votings/census/admin/create_dataset.rb +2 -2
  73. data/app/commands/decidim/votings/census/admin/create_datum.rb +3 -3
  74. data/app/commands/decidim/votings/census/admin/destroy_dataset.rb +1 -1
  75. data/app/commands/decidim/votings/census/admin/increment_dataset_processed_rows.rb +1 -1
  76. data/app/commands/decidim/votings/census/admin/launch_access_codes_generation.rb +1 -1
  77. data/app/commands/decidim/votings/census/admin/update_dataset.rb +1 -1
  78. data/app/commands/decidim/votings/certify_polling_station_closure.rb +1 -2
  79. data/app/commands/decidim/votings/create_polling_station_closure.rb +1 -1
  80. data/app/commands/decidim/votings/create_polling_station_results.rb +1 -1
  81. data/app/commands/decidim/votings/send_access_code.rb +5 -1
  82. data/app/commands/decidim/votings/sign_polling_station_closure.rb +2 -2
  83. data/app/commands/decidim/votings/voter/in_person_vote.rb +1 -1
  84. data/app/constraints/decidim/votings/current_voting.rb +1 -1
  85. data/app/controllers/concerns/decidim/elections/content_security_policy.rb +23 -0
  86. data/app/controllers/concerns/decidim/elections/has_vote_flow.rb +2 -2
  87. data/app/controllers/concerns/decidim/votings/admin/voting_admin.rb +1 -1
  88. data/app/controllers/concerns/decidim/votings/needs_voting.rb +1 -1
  89. data/app/controllers/decidim/elections/admin/answers_controller.rb +9 -10
  90. data/app/controllers/decidim/elections/admin/application_controller.rb +1 -0
  91. data/app/controllers/decidim/elections/admin/elections_controller.rb +7 -7
  92. data/app/controllers/decidim/elections/admin/feedback_forms_controller.rb +2 -2
  93. data/app/controllers/decidim/elections/admin/proposals_imports_controller.rb +3 -3
  94. data/app/controllers/decidim/elections/admin/questions_controller.rb +7 -7
  95. data/app/controllers/decidim/elections/admin/steps_controller.rb +4 -4
  96. data/app/controllers/decidim/elections/admin/trustees_participatory_spaces_controller.rb +2 -2
  97. data/app/controllers/decidim/elections/application_controller.rb +1 -0
  98. data/app/controllers/decidim/elections/elections_controller.rb +5 -2
  99. data/app/controllers/decidim/elections/trustee_zone/application_controller.rb +1 -0
  100. data/app/controllers/decidim/elections/trustee_zone/elections_controller.rb +2 -2
  101. data/app/controllers/decidim/elections/trustee_zone/trustees_controller.rb +3 -3
  102. data/app/controllers/decidim/elections/votes_controller.rb +19 -13
  103. data/app/controllers/decidim/votings/admin/monitoring_committee_election_results_controller.rb +11 -3
  104. data/app/controllers/decidim/votings/admin/monitoring_committee_members_controller.rb +3 -3
  105. data/app/controllers/decidim/votings/admin/monitoring_committee_polling_station_closures_controller.rb +3 -3
  106. data/app/controllers/decidim/votings/admin/polling_officers_controller.rb +3 -3
  107. data/app/controllers/decidim/votings/admin/polling_stations_controller.rb +3 -4
  108. data/app/controllers/decidim/votings/admin/voting_attachment_collections_controller.rb +5 -0
  109. data/app/controllers/decidim/votings/admin/voting_attachments_controller.rb +5 -0
  110. data/app/controllers/decidim/votings/admin/voting_publications_controller.rb +25 -0
  111. data/app/controllers/decidim/votings/admin/votings_controller.rb +2 -26
  112. data/app/controllers/decidim/votings/admin/votings_landing_page_content_blocks_controller.rb +1 -5
  113. data/app/controllers/decidim/votings/admin/votings_landing_page_controller.rb +4 -7
  114. data/app/controllers/decidim/votings/census/admin/census_controller.rb +2 -2
  115. data/app/controllers/decidim/votings/polling_officer_zone/closures_controller.rb +12 -12
  116. data/app/controllers/decidim/votings/polling_officer_zone/in_person_votes_controller.rb +17 -10
  117. data/app/controllers/decidim/votings/polling_officer_zone/polling_officers_controller.rb +1 -1
  118. data/app/controllers/decidim/votings/votings_controller.rb +7 -9
  119. data/app/events/decidim/elections/election_published_event.rb +1 -1
  120. data/app/events/decidim/elections/trustees/notify_new_trustee_event.rb +1 -1
  121. data/app/events/decidim/elections/trustees/notify_trustee_new_election_event.rb +1 -1
  122. data/app/events/decidim/elections/votes/vote_accepted_event.rb +1 -1
  123. data/app/events/decidim/votings/polling_officers/polling_station_assigned_event.rb +1 -1
  124. data/app/forms/decidim/elections/admin/answer_form.rb +1 -1
  125. data/app/forms/decidim/elections/admin/election_form.rb +1 -1
  126. data/app/forms/decidim/votings/admin/publish_results_form.rb +5 -5
  127. data/app/forms/decidim/votings/admin/voting_form.rb +1 -1
  128. data/app/forms/decidim/votings/admin/{polling_officer_form.rb → voting_user_role_form.rb} +1 -1
  129. data/app/forms/decidim/votings/census/frontend_fields.rb +1 -1
  130. data/app/forms/decidim/votings/census/in_person_fields.rb +8 -4
  131. data/app/forms/decidim/votings/closure_result_form.rb +2 -2
  132. data/app/helpers/decidim/elections/admin/trustees_participatory_spaces_helper.rb +4 -2
  133. data/app/helpers/decidim/elections/application_helper.rb +8 -0
  134. data/app/helpers/decidim/votings/map_helper.rb +22 -0
  135. data/app/helpers/decidim/votings/votings_helper.rb +33 -0
  136. data/app/jobs/decidim/votings/census/admin/create_datum_job.rb +1 -1
  137. data/app/jobs/decidim/votings/census/admin/generate_access_codes_job.rb +2 -2
  138. data/app/mailers/decidim/votings/access_code_mailer.rb +1 -1
  139. data/app/mailers/decidim/votings/census/export_mailer.rb +1 -1
  140. data/app/models/decidim/elections/trustee.rb +2 -2
  141. data/app/models/decidim/votings/ballot_style.rb +1 -1
  142. data/app/models/decidim/votings/polling_officer.rb +2 -2
  143. data/app/models/decidim/votings/polling_station.rb +1 -1
  144. data/app/packs/entrypoints/decidim_elections.js +12 -0
  145. data/app/packs/entrypoints/decidim_elections_admin.js +6 -0
  146. data/app/packs/entrypoints/decidim_votings.js +11 -0
  147. data/app/packs/entrypoints/decidim_votings_admin.js +10 -0
  148. data/app/packs/src/decidim/elections/admin/pending_action.js +10 -7
  149. data/app/packs/src/decidim/elections/admin/trustees_process.js +107 -104
  150. data/app/packs/src/decidim/elections/admin/vote_statistics.js +6 -3
  151. data/app/packs/src/decidim/elections/broken_promises_handler.js +9 -7
  152. data/app/packs/src/decidim/elections/election_log.js +126 -128
  153. data/app/packs/src/decidim/elections/trustee/key_ceremony.js +138 -139
  154. data/app/packs/src/decidim/elections/trustee/tally.js +122 -118
  155. data/app/packs/src/decidim/elections/trustee/trustee_zone.js +9 -7
  156. data/app/packs/src/decidim/elections/voter/casting-vote.js +9 -7
  157. data/app/packs/src/decidim/elections/voter/new-vote.js +92 -71
  158. data/app/packs/src/decidim/elections/voter/setup-preview.js +0 -4
  159. data/app/packs/src/decidim/elections/voter/setup-vote.js +0 -4
  160. data/app/packs/src/decidim/elections/voter/verify-vote.js +11 -6
  161. data/app/packs/src/decidim/elections/voter/vote_questions.component.js +74 -28
  162. data/app/packs/src/decidim/votings/admin/polling_officers_picker.js +16 -31
  163. data/app/packs/src/decidim/votings/admin/polling_stations_form.js +4 -1
  164. data/app/packs/src/decidim/votings/admin/{polling_officers_form.js → voting_user_role_form.js} +1 -1
  165. data/app/packs/src/decidim/votings/in-person-vote.js +4 -4
  166. data/app/packs/src/decidim/votings/polling_officer_zone/edit-closure.js +4 -4
  167. data/app/packs/src/decidim/votings/polling_officer_zone/in-person-vote.js +1 -1
  168. data/app/packs/src/decidim/votings/polling_officer_zone/new-closure.js +6 -8
  169. data/app/packs/stylesheets/decidim/elections/elections.scss +200 -6
  170. data/app/packs/stylesheets/decidim/votings/admin/votings/_ballot-styles.scss +3 -3
  171. data/app/packs/stylesheets/decidim/votings/admin/votings/_monitoring-committee-polling-station-closures.scss +2 -2
  172. data/app/packs/stylesheets/decidim/votings/admin/votings/_results.scss +1 -1
  173. data/app/packs/stylesheets/decidim/votings/admin/votings.scss +20 -0
  174. data/app/packs/stylesheets/decidim/votings/votings.scss +53 -2
  175. data/app/permissions/decidim/votings/admin/permissions.rb +2 -2
  176. data/app/presenters/decidim/elections/admin_log/election_presenter.rb +2 -2
  177. data/app/presenters/decidim/elections/admin_log/trustee_presenter.rb +2 -2
  178. data/app/presenters/decidim/elections/trustee_presenter.rb +1 -1
  179. data/app/presenters/decidim/votings/admin_log/ballot_style_presenter.rb +2 -2
  180. data/app/presenters/decidim/votings/admin_log/monitoring_committee_member_presenter.rb +2 -2
  181. data/app/presenters/decidim/votings/admin_log/polling_officer_presenter.rb +2 -2
  182. data/app/presenters/decidim/votings/admin_log/polling_station_presenter.rb +2 -2
  183. data/app/presenters/decidim/votings/admin_log/voting_presenter.rb +2 -2
  184. data/app/presenters/decidim/votings/census/admin_log/dataset_presenter.rb +2 -2
  185. data/app/presenters/decidim/votings/voting_stats_presenter.rb +3 -42
  186. data/app/services/decidim/votings/census/access_codes_exporter.rb +1 -1
  187. data/app/services/decidim/votings/census_vote_flow.rb +3 -3
  188. data/app/views/decidim/elections/admin/answers/_form.html.erb +16 -18
  189. data/app/views/decidim/elections/admin/answers/edit.html.erb +21 -5
  190. data/app/views/decidim/elections/admin/answers/index.html.erb +33 -18
  191. data/app/views/decidim/elections/admin/answers/new.html.erb +21 -5
  192. data/app/views/decidim/elections/admin/elections/_form.html.erb +20 -19
  193. data/app/views/decidim/elections/admin/elections/edit.html.erb +16 -6
  194. data/app/views/decidim/elections/admin/elections/index.html.erb +72 -70
  195. data/app/views/decidim/elections/admin/elections/new.html.erb +16 -6
  196. data/app/views/decidim/elections/admin/proposals_imports/new.html.erb +36 -21
  197. data/app/views/decidim/elections/admin/questions/_form.html.erb +18 -20
  198. data/app/views/decidim/elections/admin/questions/edit.html.erb +20 -6
  199. data/app/views/decidim/elections/admin/questions/index.html.erb +50 -49
  200. data/app/views/decidim/elections/admin/questions/new.html.erb +20 -5
  201. data/app/views/decidim/elections/admin/steps/_create_election.html.erb +41 -36
  202. data/app/views/decidim/elections/admin/steps/_created.html.erb +2 -2
  203. data/app/views/decidim/elections/admin/steps/_key_ceremony.html.erb +7 -7
  204. data/app/views/decidim/elections/admin/steps/_key_ceremony_ended.html.erb +2 -2
  205. data/app/views/decidim/elections/admin/steps/_results_published.html.erb +4 -4
  206. data/app/views/decidim/elections/admin/steps/_tally_ended.html.erb +4 -4
  207. data/app/views/decidim/elections/admin/steps/_tally_started.html.erb +11 -11
  208. data/app/views/decidim/elections/admin/steps/_vote.html.erb +3 -3
  209. data/app/views/decidim/elections/admin/steps/_vote_ended.html.erb +2 -2
  210. data/app/views/decidim/elections/admin/steps/_vote_stats.html.erb +2 -2
  211. data/app/views/decidim/elections/admin/steps/index.html.erb +44 -37
  212. data/app/views/decidim/elections/admin/trustees_participatory_spaces/_form.html.erb +10 -14
  213. data/app/views/decidim/elections/admin/trustees_participatory_spaces/index.html.erb +57 -60
  214. data/app/views/decidim/elections/admin/trustees_participatory_spaces/new.html.erb +16 -5
  215. data/app/views/decidim/elections/elections/_elections.html.erb +9 -16
  216. data/app/views/decidim/elections/elections/election_log.html.erb +171 -179
  217. data/app/views/decidim/elections/elections/index.html.erb +18 -21
  218. data/app/views/decidim/elections/elections/index.js.erb +0 -5
  219. data/app/views/decidim/elections/elections/show.html.erb +63 -39
  220. data/app/views/decidim/elections/shared/_broken_promises_modal.html.erb +18 -27
  221. data/app/views/decidim/elections/trustee_zone/elections/_backup_modal.html.erb +10 -20
  222. data/app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb +32 -27
  223. data/app/views/decidim/elections/trustee_zone/elections/_restore_modal.html.erb +11 -21
  224. data/app/views/decidim/elections/trustee_zone/elections/_tally_started_steps.html.erb +46 -41
  225. data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +4 -6
  226. data/app/views/decidim/elections/trustee_zone/trustees/_no_public_keys.html.erb +30 -0
  227. data/app/views/decidim/elections/trustee_zone/trustees/_public_keys.html.erb +17 -0
  228. data/app/views/decidim/elections/trustee_zone/trustees/_table.html.erb +28 -0
  229. data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +21 -96
  230. data/app/views/decidim/elections/votes/_new_ballot_decision_step.html.erb +22 -26
  231. data/app/views/decidim/elections/votes/_new_confirm_step.html.erb +59 -47
  232. data/app/views/decidim/elections/votes/_new_encrypting_step.html.erb +8 -19
  233. data/app/views/decidim/elections/votes/_new_question.html.erb +12 -28
  234. data/app/views/decidim/elections/votes/_new_question_modal.html.erb +20 -23
  235. data/app/views/decidim/elections/votes/_onboarding_modal.html.erb +14 -22
  236. data/app/views/decidim/elections/votes/_show_casted.html.erb +28 -30
  237. data/app/views/decidim/elections/votes/_show_casting.html.erb +12 -19
  238. data/app/views/decidim/elections/votes/_show_failed.html.erb +20 -17
  239. data/app/views/decidim/elections/votes/new.html.erb +78 -61
  240. data/app/views/decidim/elections/votes/show.html.erb +12 -11
  241. data/app/views/decidim/elections/votes/verify.html.erb +40 -61
  242. data/app/views/decidim/votings/admin/ballot_styles/_form.html.erb +19 -19
  243. data/app/views/decidim/votings/admin/ballot_styles/edit.html.erb +16 -6
  244. data/app/views/decidim/votings/admin/ballot_styles/index.html.erb +50 -54
  245. data/app/views/decidim/votings/admin/ballot_styles/new.html.erb +16 -6
  246. data/app/views/decidim/votings/admin/monitoring_committee_election_results/_results.html.erb +43 -46
  247. data/app/views/decidim/votings/admin/monitoring_committee_election_results/index.html.erb +23 -25
  248. data/app/views/decidim/votings/admin/monitoring_committee_election_results/show.html.erb +5 -5
  249. data/app/views/decidim/votings/admin/monitoring_committee_members/_form.html.erb +19 -20
  250. data/app/views/decidim/votings/admin/monitoring_committee_members/index.html.erb +32 -34
  251. data/app/views/decidim/votings/admin/monitoring_committee_members/new.html.erb +17 -6
  252. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_closure_certificate_results.erb +1 -1
  253. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_closures.html.erb +53 -56
  254. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/_elections.html.erb +22 -25
  255. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/edit.html.erb +12 -11
  256. data/app/views/decidim/votings/admin/monitoring_committee_polling_station_closures/show.html.erb +1 -1
  257. data/app/views/decidim/votings/admin/monitoring_committee_verify_elections/index.html.erb +37 -39
  258. data/app/views/decidim/votings/admin/polling_officers/_form.html.erb +19 -20
  259. data/app/views/decidim/votings/admin/polling_officers/index.html.erb +40 -41
  260. data/app/views/decidim/votings/admin/polling_officers/new.html.erb +17 -6
  261. data/app/views/decidim/votings/admin/polling_stations/_form.html.erb +25 -31
  262. data/app/views/decidim/votings/admin/polling_stations/edit.html.erb +17 -6
  263. data/app/views/decidim/votings/admin/polling_stations/index.html.erb +46 -47
  264. data/app/views/decidim/votings/admin/polling_stations/new.html.erb +17 -6
  265. data/app/views/decidim/votings/admin/votings/_form.html.erb +49 -52
  266. data/app/views/decidim/votings/admin/votings/edit.html.erb +35 -28
  267. data/app/views/decidim/votings/admin/votings/index.html.erb +58 -82
  268. data/app/views/decidim/votings/admin/votings/new.html.erb +16 -9
  269. data/app/views/decidim/votings/census/admin/census/_creating_data.html.erb +4 -4
  270. data/app/views/decidim/votings/census/admin/census/_export_codes.html.erb +3 -3
  271. data/app/views/decidim/votings/census/admin/census/_generate_codes.html.erb +8 -8
  272. data/app/views/decidim/votings/census/admin/census/_new_census.html.erb +8 -7
  273. data/app/views/decidim/votings/census/admin/census/_upload_info.html.erb +5 -5
  274. data/app/views/decidim/votings/census/admin/census/show.html.erb +7 -7
  275. data/app/views/decidim/votings/polling_officer_zone/closures/_answer_results_form_fields.html.erb +2 -3
  276. data/app/views/decidim/votings/polling_officer_zone/closures/_ballot_results_form_fields.html.erb +24 -35
  277. data/app/views/decidim/votings/polling_officer_zone/closures/_certify_form.html.erb +5 -9
  278. data/app/views/decidim/votings/polling_officer_zone/closures/_modal_ballots_count_error.html.erb +34 -48
  279. data/app/views/decidim/votings/polling_officer_zone/closures/_modal_ballots_results_count_error.html.erb +18 -18
  280. data/app/views/decidim/votings/polling_officer_zone/closures/_question_results_form_fields.html.erb +12 -17
  281. data/app/views/decidim/votings/polling_officer_zone/closures/_sign_form.html.erb +34 -49
  282. data/app/views/decidim/votings/polling_officer_zone/closures/edit.html.erb +50 -37
  283. data/app/views/decidim/votings/polling_officer_zone/closures/new.html.erb +57 -51
  284. data/app/views/decidim/votings/polling_officer_zone/closures/show.html.erb +44 -34
  285. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_complete_voting.html.erb +40 -57
  286. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_in_person_form.html.erb +34 -47
  287. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_verify_document.html.erb +19 -22
  288. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/new.html.erb +12 -12
  289. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/show.html.erb +22 -21
  290. data/app/views/decidim/votings/polling_officer_zone/polling_officers/_polling_station.html.erb +34 -41
  291. data/app/views/decidim/votings/polling_officer_zone/polling_officers/index.html.erb +9 -5
  292. data/app/views/decidim/votings/votings/_access_code_modal.html.erb +26 -31
  293. data/app/views/decidim/votings/votings/_check_fields.html.erb +19 -28
  294. data/app/views/decidim/votings/votings/_polling_officers_picker.html.erb +4 -0
  295. data/app/views/decidim/votings/votings/_votings.html.erb +5 -11
  296. data/app/views/decidim/votings/votings/check_census.html.erb +53 -53
  297. data/app/views/decidim/votings/votings/elections_log.html.erb +25 -22
  298. data/app/views/decidim/votings/votings/index.html.erb +24 -25
  299. data/app/views/decidim/votings/votings/index.js.erb +0 -5
  300. data/app/views/decidim/votings/votings/login.html.erb +51 -44
  301. data/app/views/decidim/votings/votings/show.html.erb +5 -7
  302. data/app/views/layouts/decidim/admin/voting.html.erb +11 -11
  303. data/app/views/layouts/decidim/admin/votings.html.erb +16 -0
  304. data/app/views/layouts/decidim/votings.html.erb +10 -14
  305. data/config/assets.rb +3 -28
  306. data/config/locales/ar.yml +0 -6
  307. data/config/locales/bg.yml +0 -1431
  308. data/config/locales/ca.yml +169 -223
  309. data/config/locales/cs.yml +157 -210
  310. data/config/locales/de.yml +161 -215
  311. data/config/locales/el.yml +164 -108
  312. data/config/locales/en.yml +183 -237
  313. data/config/locales/es-MX.yml +164 -218
  314. data/config/locales/es-PY.yml +163 -217
  315. data/config/locales/es.yml +168 -222
  316. data/config/locales/eu.yml +165 -222
  317. data/config/locales/fi-plain.yml +154 -208
  318. data/config/locales/fi.yml +157 -211
  319. data/config/locales/fr-CA.yml +168 -223
  320. data/config/locales/fr.yml +171 -226
  321. data/config/locales/ga-IE.yml +0 -40
  322. data/config/locales/gl.yml +2 -79
  323. data/config/locales/hu.yml +0 -62
  324. data/config/locales/it.yml +6 -243
  325. data/config/locales/ja.yml +173 -227
  326. data/config/locales/lt.yml +135 -204
  327. data/config/locales/lv.yml +0 -34
  328. data/config/locales/nl.yml +2 -211
  329. data/config/locales/no.yml +1 -131
  330. data/config/locales/pl.yml +3 -407
  331. data/config/locales/pt-BR.yml +4 -374
  332. data/config/locales/pt.yml +4 -245
  333. data/config/locales/ro-RO.yml +2 -143
  334. data/config/locales/ru.yml +0 -5
  335. data/config/locales/sk.yml +0 -5
  336. data/config/locales/sv.yml +11 -108
  337. data/config/locales/tr-TR.yml +58 -126
  338. data/config/locales/uk.yml +0 -5
  339. data/config/locales/zh-CN.yml +1 -68
  340. data/config/locales/zh-TW.yml +84 -166
  341. data/db/migrate/20210310120708_add_followable_counter_cache_to_votings.rb +2 -6
  342. data/lib/decidim/api/election_type.rb +1 -1
  343. data/lib/decidim/api/elections_type.rb +1 -1
  344. data/lib/decidim/elections/admin_engine.rb +4 -19
  345. data/lib/decidim/elections/component.rb +4 -452
  346. data/lib/decidim/elections/engine.rb +23 -1
  347. data/lib/decidim/elections/menu.rb +39 -0
  348. data/lib/decidim/elections/seeds.rb +435 -0
  349. data/lib/decidim/elections/test/factories.rb +22 -21
  350. data/lib/decidim/elections/trustee_zone_engine.rb +3 -7
  351. data/lib/decidim/elections/version.rb +1 -1
  352. data/lib/decidim/elections.rb +6 -0
  353. data/lib/decidim/votings/admin_engine.rb +16 -122
  354. data/lib/decidim/votings/census_admin_engine.rb +4 -8
  355. data/lib/decidim/votings/census_menu.rb +18 -0
  356. data/lib/decidim/votings/content_blocks/registry_manager.rb +88 -0
  357. data/lib/decidim/votings/engine.rb +12 -88
  358. data/lib/decidim/votings/menu.rb +164 -0
  359. data/lib/decidim/votings/participatory_space.rb +6 -190
  360. data/lib/decidim/votings/polling_officer_zone_engine.rb +3 -7
  361. data/lib/decidim/votings/polling_officer_zone_menu.rb +17 -0
  362. data/lib/decidim/votings/query_extensions.rb +4 -4
  363. data/lib/decidim/votings/seeds.rb +197 -0
  364. data/lib/decidim/votings/test/factories.rb +29 -13
  365. data/lib/decidim/votings/voting_serializer.rb +1 -1
  366. data/lib/tasks/decidim_elections.rake +2 -2
  367. metadata +76 -125
  368. data/app/cells/decidim/elections/election_m/data.erb +0 -19
  369. data/app/cells/decidim/elections/election_m/footer.erb +0 -5
  370. data/app/cells/decidim/elections/election_m/tags.erb +0 -3
  371. data/app/cells/decidim/elections/election_m_cell.rb +0 -96
  372. data/app/cells/decidim/elections/election_results/blank_votes.erb +0 -7
  373. data/app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb +0 -30
  374. data/app/cells/decidim/votings/content_blocks/landing_page/attachments_and_folders_cell.rb +0 -22
  375. data/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb +0 -15
  376. data/app/cells/decidim/votings/content_blocks/landing_page/description_cell.rb +0 -25
  377. data/app/cells/decidim/votings/content_blocks/landing_page/elections/show.erb +0 -15
  378. data/app/cells/decidim/votings/content_blocks/landing_page/elections/single.erb +0 -11
  379. data/app/cells/decidim/votings/content_blocks/landing_page/elections_cell.rb +0 -47
  380. data/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb +0 -29
  381. data/app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb +0 -108
  382. data/app/cells/decidim/votings/content_blocks/landing_page/header_settings_form_cell.rb +0 -17
  383. data/app/cells/decidim/votings/content_blocks/landing_page/metrics/show.erb +0 -12
  384. data/app/cells/decidim/votings/content_blocks/landing_page/metrics_cell.rb +0 -19
  385. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/address.erb +0 -14
  386. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/map.erb +0 -18
  387. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations/show.erb +0 -25
  388. data/app/cells/decidim/votings/content_blocks/landing_page/polling_stations_cell.rb +0 -56
  389. data/app/cells/decidim/votings/content_blocks/landing_page/statistics_cell.rb +0 -24
  390. data/app/cells/decidim/votings/content_blocks/landing_page/timeline/show.erb +0 -7
  391. data/app/cells/decidim/votings/content_blocks/landing_page/timeline_cell.rb +0 -17
  392. data/app/cells/decidim/votings/polling_officers/polling_officers_picker/polling_officers.erb +0 -12
  393. data/app/cells/decidim/votings/voting_m/data.erb +0 -21
  394. data/app/cells/decidim/votings/voting_m/footer.erb +0 -5
  395. data/app/cells/decidim/votings/voting_m_cell.rb +0 -94
  396. data/app/commands/decidim/votings/admin/publish_voting.rb +0 -40
  397. data/app/commands/decidim/votings/admin/unpublish_voting.rb +0 -40
  398. data/app/forms/decidim/votings/admin/monitoring_committee_member_form.rb +0 -27
  399. data/app/helpers/decidim/votings/admin/polling_officers_picker_helper.rb +0 -29
  400. data/app/packs/entrypoints/decidim_elections_admin_pending_action.js +0 -1
  401. data/app/packs/entrypoints/decidim_elections_admin_trustees_process.js +0 -1
  402. data/app/packs/entrypoints/decidim_elections_admin_vote_statistics.js +0 -1
  403. data/app/packs/entrypoints/decidim_elections_election_log.js +0 -1
  404. data/app/packs/entrypoints/decidim_elections_onboarding.js +0 -1
  405. data/app/packs/entrypoints/decidim_elections_trustee_key_ceremony.js +0 -1
  406. data/app/packs/entrypoints/decidim_elections_trustee_tally_started.js +0 -1
  407. data/app/packs/entrypoints/decidim_elections_trustee_trustee_zone.js +0 -1
  408. data/app/packs/entrypoints/decidim_elections_trustee_zone.js +0 -1
  409. data/app/packs/entrypoints/decidim_elections_trustee_zone.scss +0 -1
  410. data/app/packs/entrypoints/decidim_elections_voter_casting-vote.js +0 -1
  411. data/app/packs/entrypoints/decidim_elections_voter_new-vote.js +0 -1
  412. data/app/packs/entrypoints/decidim_elections_voter_setup-preview.js +0 -1
  413. data/app/packs/entrypoints/decidim_elections_voter_setup-vote.js +0 -1
  414. data/app/packs/entrypoints/decidim_elections_voter_verify-vote.js +0 -1
  415. data/app/packs/entrypoints/decidim_votings_admin_monitoring_committee_members_form.js +0 -1
  416. data/app/packs/entrypoints/decidim_votings_admin_polling_officers_form.js +0 -1
  417. data/app/packs/entrypoints/decidim_votings_admin_polling_officers_picker.js +0 -1
  418. data/app/packs/entrypoints/decidim_votings_admin_polling_stations_form.js +0 -1
  419. data/app/packs/entrypoints/decidim_votings_admin_update_census_dataset_status.js +0 -1
  420. data/app/packs/entrypoints/decidim_votings_admin_votings.js +0 -1
  421. data/app/packs/entrypoints/decidim_votings_admin_votings.scss +0 -1
  422. data/app/packs/entrypoints/decidim_votings_in-person-vote.js +0 -1
  423. data/app/packs/entrypoints/decidim_votings_voting-description-cell.js +0 -1
  424. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-edit-closure.js +0 -1
  425. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-in-person-vote.js +0 -1
  426. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-new-closure.js +0 -1
  427. data/app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-sign-closure.js +0 -1
  428. data/app/packs/src/decidim/elections/onboarding.js +0 -5
  429. data/app/packs/src/decidim/votings/admin/monitoring_committee_members_form.js +0 -35
  430. data/app/packs/src/decidim/votings/voting-description-cell.js +0 -34
  431. data/app/packs/stylesheets/decidim/elections/focus/_accordion.scss +0 -36
  432. data/app/packs/stylesheets/decidim/elections/focus/_evote.scss +0 -344
  433. data/app/packs/stylesheets/decidim/elections/focus/_focus.scss +0 -128
  434. data/app/packs/stylesheets/decidim/elections/trustee_zone.scss +0 -24
  435. data/app/packs/stylesheets/decidim/votings/votings/_polling-stations-cell.scss +0 -6
  436. data/app/packs/stylesheets/decidim/votings/votings/_voting-description-cell.scss +0 -29
  437. data/app/views/decidim/elections/admin/answers/proposals_picker.html.erb +0 -1
  438. data/app/views/decidim/elections/elections/_count.html.erb +0 -1
  439. data/app/views/decidim/elections/elections/_election.html.erb +0 -1
  440. data/app/views/decidim/elections/elections/_filters.html.erb +0 -25
  441. data/app/views/decidim/elections/elections/_filters_small_view.html.erb +0 -18
  442. data/app/views/decidim/elections/votes/_focus_header.html.erb +0 -8
  443. data/app/views/decidim/elections/votes/_new_confirm_step_footer.html.erb +0 -23
  444. data/app/views/decidim/votings/admin/votings/polling_officers_picker.html.erb +0 -2
  445. data/app/views/decidim/votings/votings/_count.html.erb +0 -1
  446. data/app/views/decidim/votings/votings/_filters.html.erb +0 -25
  447. data/app/views/decidim/votings/votings/_filters_small_view.html.erb +0 -23
  448. data/app/views/decidim/votings/votings/_promoted_voting.html.erb +0 -27
  449. data/app/views/layouts/decidim/_election_votes_header.html.erb +0 -13
  450. data/app/views/layouts/decidim/election_votes.html.erb +0 -27
  451. data/app/views/layouts/decidim/voting_landing.html.erb +0 -13
  452. data/config/locales/he-IL.yml +0 -1
  453. data/db/seeds/Exampledocument.pdf +0 -0
  454. data/db/seeds/city.jpeg +0 -0
  455. data/db/seeds/city2.jpeg +0 -0
  456. data/decidim-elections.gemspec +0 -37
  457. data/lib/decidim/elections/seeds/city.jpeg +0 -0
  458. data/lib/decidim/votings/test/capybara_polling_officers_picker.rb +0 -49
  459. /data/app/cells/decidim/votings/content_blocks/{landing_page/header_settings_form → hero_settings_form}/show.erb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-elections
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.7
4
+ version: 0.28.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonardo Diez
@@ -9,92 +9,92 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-07-16 00:00:00.000000000 Z
12
+ date: 2023-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: decidim-bulletin_board
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - '='
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0.23'
20
+ version: 0.24.4
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - '='
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0.23'
27
+ version: 0.24.4
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: voting_schemes-dummy
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - '='
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '0.23'
34
+ version: 0.24.4
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - '='
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '0.23'
41
+ version: 0.24.4
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: voting_schemes-electionguard
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
- - - '='
46
+ - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '0.23'
48
+ version: 0.24.4
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
- - - '='
53
+ - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '0.23'
55
+ version: 0.24.4
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: decidim-core
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: 0.27.7
62
+ version: 0.28.0.rc4
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 0.27.7
69
+ version: 0.28.0.rc4
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: decidim-forms
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: 0.27.7
76
+ version: 0.28.0.rc4
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: 0.27.7
83
+ version: 0.28.0.rc4
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: decidim-proposals
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - '='
89
89
  - !ruby/object:Gem::Version
90
- version: 0.27.7
90
+ version: 0.28.0.rc4
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.27.7
97
+ version: 0.28.0.rc4
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rack-attack
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -115,28 +115,28 @@ dependencies:
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 0.27.7
118
+ version: 0.28.0.rc4
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - '='
124
124
  - !ruby/object:Gem::Version
125
- version: 0.27.7
125
+ version: 0.28.0.rc4
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: decidim-dev
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - '='
131
131
  - !ruby/object:Gem::Version
132
- version: 0.27.7
132
+ version: 0.28.0.rc4
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - '='
138
138
  - !ruby/object:Gem::Version
139
- version: 0.27.7
139
+ version: 0.28.0.rc4
140
140
  description: The Elections module adds elections to any participatory space.
141
141
  email:
142
142
  - leo@codegram.com
@@ -147,48 +147,36 @@ extra_rdoc_files: []
147
147
  files:
148
148
  - README.md
149
149
  - Rakefile
150
+ - app/cells/decidim/elections/content_blocks/related_elections_cell.rb
150
151
  - app/cells/decidim/elections/election_cell.rb
151
- - app/cells/decidim/elections/election_m/data.erb
152
- - app/cells/decidim/elections/election_m/footer.erb
153
- - app/cells/decidim/elections/election_m/tags.erb
154
- - app/cells/decidim/elections/election_m_cell.rb
152
+ - app/cells/decidim/elections/election_g_cell.rb
153
+ - app/cells/decidim/elections/election_metadata_cell.rb
155
154
  - app/cells/decidim/elections/election_preview/show.erb
156
155
  - app/cells/decidim/elections/election_preview_cell.rb
157
- - app/cells/decidim/elections/election_results/blank_votes.erb
158
156
  - app/cells/decidim/elections/election_results/progress_bar.erb
159
157
  - app/cells/decidim/elections/election_results/show.erb
160
158
  - app/cells/decidim/elections/election_results_cell.rb
159
+ - app/cells/decidim/elections/election_s_cell.rb
161
160
  - app/cells/decidim/elections/election_vote_cta/show.erb
162
161
  - app/cells/decidim/elections/election_vote_cta_cell.rb
162
+ - app/cells/decidim/elections/highlighted_elections_for_component/show.erb
163
+ - app/cells/decidim/elections/highlighted_elections_for_component_cell.rb
163
164
  - app/cells/decidim/elections/remaining_time_callout/show.erb
164
165
  - app/cells/decidim/elections/remaining_time_callout_cell.rb
165
166
  - app/cells/decidim/elections/voting_step_navigation/show.erb
166
167
  - app/cells/decidim/elections/voting_step_navigation_cell.rb
167
168
  - app/cells/decidim/votings/content_block_cell.rb
168
- - app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb
169
+ - app/cells/decidim/votings/content_blocks/hero_cell.rb
170
+ - app/cells/decidim/votings/content_blocks/hero_settings_form/show.erb
171
+ - app/cells/decidim/votings/content_blocks/hero_settings_form_cell.rb
169
172
  - app/cells/decidim/votings/content_blocks/highlighted_votings_cell.rb
170
173
  - app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form/show.erb
171
174
  - app/cells/decidim/votings/content_blocks/highlighted_votings_settings_form_cell.rb
172
- - app/cells/decidim/votings/content_blocks/landing_page/attachments_and_folders_cell.rb
173
- - app/cells/decidim/votings/content_blocks/landing_page/description/show.erb
174
- - app/cells/decidim/votings/content_blocks/landing_page/description_cell.rb
175
- - app/cells/decidim/votings/content_blocks/landing_page/elections/show.erb
176
- - app/cells/decidim/votings/content_blocks/landing_page/elections/single.erb
177
- - app/cells/decidim/votings/content_blocks/landing_page/elections_cell.rb
178
- - app/cells/decidim/votings/content_blocks/landing_page/header/show.erb
179
- - app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb
180
- - app/cells/decidim/votings/content_blocks/landing_page/header_settings_form/show.erb
181
- - app/cells/decidim/votings/content_blocks/landing_page/header_settings_form_cell.rb
182
- - app/cells/decidim/votings/content_blocks/landing_page/metrics/show.erb
183
- - app/cells/decidim/votings/content_blocks/landing_page/metrics_cell.rb
184
- - app/cells/decidim/votings/content_blocks/landing_page/polling_stations/address.erb
185
- - app/cells/decidim/votings/content_blocks/landing_page/polling_stations/map.erb
186
- - app/cells/decidim/votings/content_blocks/landing_page/polling_stations/show.erb
187
- - app/cells/decidim/votings/content_blocks/landing_page/polling_stations_cell.rb
188
- - app/cells/decidim/votings/content_blocks/landing_page/statistics_cell.rb
189
- - app/cells/decidim/votings/content_blocks/landing_page/timeline/show.erb
190
- - app/cells/decidim/votings/content_blocks/landing_page/timeline_cell.rb
191
- - app/cells/decidim/votings/polling_officers/polling_officers_picker/polling_officers.erb
175
+ - app/cells/decidim/votings/content_blocks/main_data_cell.rb
176
+ - app/cells/decidim/votings/content_blocks/metrics_cell.rb
177
+ - app/cells/decidim/votings/content_blocks/polling_stations/show.erb
178
+ - app/cells/decidim/votings/content_blocks/polling_stations_cell.rb
179
+ - app/cells/decidim/votings/content_blocks/statistics_cell.rb
192
180
  - app/cells/decidim/votings/polling_officers/polling_officers_picker/show.erb
193
181
  - app/cells/decidim/votings/polling_officers/polling_officers_picker_cell.rb
194
182
  - app/cells/decidim/votings/polling_station_closure_certificate/show.erb
@@ -196,9 +184,12 @@ files:
196
184
  - app/cells/decidim/votings/polling_station_closure_recount/show.erb
197
185
  - app/cells/decidim/votings/polling_station_closure_recount_cell.rb
198
186
  - app/cells/decidim/votings/voting_cell.rb
199
- - app/cells/decidim/votings/voting_m/data.erb
200
- - app/cells/decidim/votings/voting_m/footer.erb
201
- - app/cells/decidim/votings/voting_m_cell.rb
187
+ - app/cells/decidim/votings/voting_dropdown_metadata_cell.rb
188
+ - app/cells/decidim/votings/voting_g_cell.rb
189
+ - app/cells/decidim/votings/voting_map/show.erb
190
+ - app/cells/decidim/votings/voting_map_cell.rb
191
+ - app/cells/decidim/votings/voting_metadata_cell.rb
192
+ - app/cells/decidim/votings/voting_s_cell.rb
202
193
  - app/commands/decidim/elections/admin/add_user_as_trustee.rb
203
194
  - app/commands/decidim/elections/admin/create_answer.rb
204
195
  - app/commands/decidim/elections/admin/create_election.rb
@@ -238,8 +229,6 @@ files:
238
229
  - app/commands/decidim/votings/admin/destroy_polling_station.rb
239
230
  - app/commands/decidim/votings/admin/manage_polling_station.rb
240
231
  - app/commands/decidim/votings/admin/monitoring_committee_validate_polling_station_closure.rb
241
- - app/commands/decidim/votings/admin/publish_voting.rb
242
- - app/commands/decidim/votings/admin/unpublish_voting.rb
243
232
  - app/commands/decidim/votings/admin/update_ballot_style.rb
244
233
  - app/commands/decidim/votings/admin/update_polling_station.rb
245
234
  - app/commands/decidim/votings/admin/update_voting.rb
@@ -260,6 +249,7 @@ files:
260
249
  - app/commands/decidim/votings/voter/update_in_person_vote_status.rb
261
250
  - app/constraints/decidim/votings/current_component.rb
262
251
  - app/constraints/decidim/votings/current_voting.rb
252
+ - app/controllers/concerns/decidim/elections/content_security_policy.rb
263
253
  - app/controllers/concerns/decidim/elections/has_vote_flow.rb
264
254
  - app/controllers/concerns/decidim/elections/orderable.rb
265
255
  - app/controllers/concerns/decidim/monitoring_committee_polling_station_closures/admin/filterable.rb
@@ -299,6 +289,7 @@ files:
299
289
  - app/controllers/decidim/votings/admin/reminders_controller.rb
300
290
  - app/controllers/decidim/votings/admin/voting_attachment_collections_controller.rb
301
291
  - app/controllers/decidim/votings/admin/voting_attachments_controller.rb
292
+ - app/controllers/decidim/votings/admin/voting_publications_controller.rb
302
293
  - app/controllers/decidim/votings/admin/votings_controller.rb
303
294
  - app/controllers/decidim/votings/admin/votings_landing_page_content_blocks_controller.rb
304
295
  - app/controllers/decidim/votings/admin/votings_landing_page_controller.rb
@@ -328,12 +319,11 @@ files:
328
319
  - app/forms/decidim/elections/voter/verify_vote_form.rb
329
320
  - app/forms/decidim/elections/voter/vote_form.rb
330
321
  - app/forms/decidim/votings/admin/ballot_style_form.rb
331
- - app/forms/decidim/votings/admin/monitoring_committee_member_form.rb
332
322
  - app/forms/decidim/votings/admin/monitoring_committee_polling_station_closure_form.rb
333
- - app/forms/decidim/votings/admin/polling_officer_form.rb
334
323
  - app/forms/decidim/votings/admin/polling_station_form.rb
335
324
  - app/forms/decidim/votings/admin/publish_results_form.rb
336
325
  - app/forms/decidim/votings/admin/voting_form.rb
326
+ - app/forms/decidim/votings/admin/voting_user_role_form.rb
337
327
  - app/forms/decidim/votings/answer_result_form.rb
338
328
  - app/forms/decidim/votings/ballot_result_form.rb
339
329
  - app/forms/decidim/votings/census/admin/dataset_form.rb
@@ -357,7 +347,7 @@ files:
357
347
  - app/helpers/decidim/elections/application_helper.rb
358
348
  - app/helpers/decidim/elections/election_cells_helper.rb
359
349
  - app/helpers/decidim/elections/votes_helper.rb
360
- - app/helpers/decidim/votings/admin/polling_officers_picker_helper.rb
350
+ - app/helpers/decidim/votings/map_helper.rb
361
351
  - app/helpers/decidim/votings/votings_helper.rb
362
352
  - app/jobs/decidim/votings/census/admin/create_datum_job.rb
363
353
  - app/jobs/decidim/votings/census/admin/export_access_codes_job.rb
@@ -388,34 +378,9 @@ files:
388
378
  - app/models/decidim/votings/polling_station_closure.rb
389
379
  - app/models/decidim/votings/voting.rb
390
380
  - app/packs/entrypoints/decidim_elections.js
391
- - app/packs/entrypoints/decidim_elections_admin_pending_action.js
392
- - app/packs/entrypoints/decidim_elections_admin_trustees_process.js
393
- - app/packs/entrypoints/decidim_elections_admin_vote_statistics.js
394
- - app/packs/entrypoints/decidim_elections_election_log.js
395
- - app/packs/entrypoints/decidim_elections_onboarding.js
396
- - app/packs/entrypoints/decidim_elections_trustee_key_ceremony.js
397
- - app/packs/entrypoints/decidim_elections_trustee_tally_started.js
398
- - app/packs/entrypoints/decidim_elections_trustee_trustee_zone.js
399
- - app/packs/entrypoints/decidim_elections_trustee_zone.js
400
- - app/packs/entrypoints/decidim_elections_trustee_zone.scss
401
- - app/packs/entrypoints/decidim_elections_voter_casting-vote.js
402
- - app/packs/entrypoints/decidim_elections_voter_new-vote.js
403
- - app/packs/entrypoints/decidim_elections_voter_setup-preview.js
404
- - app/packs/entrypoints/decidim_elections_voter_setup-vote.js
405
- - app/packs/entrypoints/decidim_elections_voter_verify-vote.js
406
- - app/packs/entrypoints/decidim_votings_admin_monitoring_committee_members_form.js
407
- - app/packs/entrypoints/decidim_votings_admin_polling_officers_form.js
408
- - app/packs/entrypoints/decidim_votings_admin_polling_officers_picker.js
409
- - app/packs/entrypoints/decidim_votings_admin_polling_stations_form.js
410
- - app/packs/entrypoints/decidim_votings_admin_update_census_dataset_status.js
411
- - app/packs/entrypoints/decidim_votings_admin_votings.js
412
- - app/packs/entrypoints/decidim_votings_admin_votings.scss
413
- - app/packs/entrypoints/decidim_votings_in-person-vote.js
414
- - app/packs/entrypoints/decidim_votings_voting-description-cell.js
415
- - app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-edit-closure.js
416
- - app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-in-person-vote.js
417
- - app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-new-closure.js
418
- - app/packs/entrypoints/decidim_votings_voting_polling_officer_zone-sign-closure.js
381
+ - app/packs/entrypoints/decidim_elections_admin.js
382
+ - app/packs/entrypoints/decidim_votings.js
383
+ - app/packs/entrypoints/decidim_votings_admin.js
419
384
  - app/packs/images/decidim/elections/decidim_elections.svg
420
385
  - app/packs/images/decidim/votings/decidim_votings.svg
421
386
  - app/packs/src/decidim/elections/admin/pending_action.js
@@ -423,7 +388,6 @@ files:
423
388
  - app/packs/src/decidim/elections/admin/vote_statistics.js
424
389
  - app/packs/src/decidim/elections/broken_promises_handler.js
425
390
  - app/packs/src/decidim/elections/election_log.js
426
- - app/packs/src/decidim/elections/onboarding.js
427
391
  - app/packs/src/decidim/elections/trustee/key_ceremony.js
428
392
  - app/packs/src/decidim/elections/trustee/tally.js
429
393
  - app/packs/src/decidim/elections/trustee/trustee_zone.js
@@ -433,29 +397,21 @@ files:
433
397
  - app/packs/src/decidim/elections/voter/setup-vote.js
434
398
  - app/packs/src/decidim/elections/voter/verify-vote.js
435
399
  - app/packs/src/decidim/elections/voter/vote_questions.component.js
436
- - app/packs/src/decidim/votings/admin/monitoring_committee_members_form.js
437
- - app/packs/src/decidim/votings/admin/polling_officers_form.js
438
400
  - app/packs/src/decidim/votings/admin/polling_officers_picker.js
439
401
  - app/packs/src/decidim/votings/admin/polling_stations_form.js
440
402
  - app/packs/src/decidim/votings/admin/update_census_dataset_status.js
403
+ - app/packs/src/decidim/votings/admin/voting_user_role_form.js
441
404
  - app/packs/src/decidim/votings/in-person-vote.js
442
405
  - app/packs/src/decidim/votings/polling_officer_zone/edit-closure.js
443
406
  - app/packs/src/decidim/votings/polling_officer_zone/in-person-vote.js
444
407
  - app/packs/src/decidim/votings/polling_officer_zone/new-closure.js
445
408
  - app/packs/src/decidim/votings/polling_officer_zone/sign-closure.js
446
- - app/packs/src/decidim/votings/voting-description-cell.js
447
409
  - app/packs/stylesheets/decidim/elections/elections.scss
448
- - app/packs/stylesheets/decidim/elections/focus/_accordion.scss
449
- - app/packs/stylesheets/decidim/elections/focus/_evote.scss
450
- - app/packs/stylesheets/decidim/elections/focus/_focus.scss
451
- - app/packs/stylesheets/decidim/elections/trustee_zone.scss
452
410
  - app/packs/stylesheets/decidim/votings/admin/votings.scss
453
411
  - app/packs/stylesheets/decidim/votings/admin/votings/_ballot-styles.scss
454
412
  - app/packs/stylesheets/decidim/votings/admin/votings/_monitoring-committee-polling-station-closures.scss
455
413
  - app/packs/stylesheets/decidim/votings/admin/votings/_results.scss
456
414
  - app/packs/stylesheets/decidim/votings/votings.scss
457
- - app/packs/stylesheets/decidim/votings/votings/_polling-stations-cell.scss
458
- - app/packs/stylesheets/decidim/votings/votings/_voting-description-cell.scss
459
415
  - app/permissions/decidim/elections/admin/permissions.rb
460
416
  - app/permissions/decidim/elections/permissions.rb
461
417
  - app/permissions/decidim/elections/trustee_zone/permissions.rb
@@ -507,7 +463,6 @@ files:
507
463
  - app/views/decidim/elections/admin/answers/edit.html.erb
508
464
  - app/views/decidim/elections/admin/answers/index.html.erb
509
465
  - app/views/decidim/elections/admin/answers/new.html.erb
510
- - app/views/decidim/elections/admin/answers/proposals_picker.html.erb
511
466
  - app/views/decidim/elections/admin/elections/_form.html.erb
512
467
  - app/views/decidim/elections/admin/elections/edit.html.erb
513
468
  - app/views/decidim/elections/admin/elections/index.html.erb
@@ -532,11 +487,7 @@ files:
532
487
  - app/views/decidim/elections/admin/trustees_participatory_spaces/_form.html.erb
533
488
  - app/views/decidim/elections/admin/trustees_participatory_spaces/index.html.erb
534
489
  - app/views/decidim/elections/admin/trustees_participatory_spaces/new.html.erb
535
- - app/views/decidim/elections/elections/_count.html.erb
536
- - app/views/decidim/elections/elections/_election.html.erb
537
490
  - app/views/decidim/elections/elections/_elections.html.erb
538
- - app/views/decidim/elections/elections/_filters.html.erb
539
- - app/views/decidim/elections/elections/_filters_small_view.html.erb
540
491
  - app/views/decidim/elections/elections/election_log.html.erb
541
492
  - app/views/decidim/elections/elections/index.html.erb
542
493
  - app/views/decidim/elections/elections/index.js.erb
@@ -549,12 +500,13 @@ files:
549
500
  - app/views/decidim/elections/trustee_zone/elections/_tally_started_steps.html.erb
550
501
  - app/views/decidim/elections/trustee_zone/elections/show.html.erb
551
502
  - app/views/decidim/elections/trustee_zone/elections/update.js.erb
503
+ - app/views/decidim/elections/trustee_zone/trustees/_no_public_keys.html.erb
504
+ - app/views/decidim/elections/trustee_zone/trustees/_public_keys.html.erb
505
+ - app/views/decidim/elections/trustee_zone/trustees/_table.html.erb
552
506
  - app/views/decidim/elections/trustee_zone/trustees/show.html.erb
553
507
  - app/views/decidim/elections/vote_accepted_mailer/notification.html.erb
554
- - app/views/decidim/elections/votes/_focus_header.html.erb
555
508
  - app/views/decidim/elections/votes/_new_ballot_decision_step.html.erb
556
509
  - app/views/decidim/elections/votes/_new_confirm_step.html.erb
557
- - app/views/decidim/elections/votes/_new_confirm_step_footer.html.erb
558
510
  - app/views/decidim/elections/votes/_new_encrypting_step.html.erb
559
511
  - app/views/decidim/elections/votes/_new_question.html.erb
560
512
  - app/views/decidim/elections/votes/_new_question_modal.html.erb
@@ -594,7 +546,6 @@ files:
594
546
  - app/views/decidim/votings/admin/votings/edit.html.erb
595
547
  - app/views/decidim/votings/admin/votings/index.html.erb
596
548
  - app/views/decidim/votings/admin/votings/new.html.erb
597
- - app/views/decidim/votings/admin/votings/polling_officers_picker.html.erb
598
549
  - app/views/decidim/votings/census/admin/census/_creating_data.html.erb
599
550
  - app/views/decidim/votings/census/admin/census/_export_codes.html.erb
600
551
  - app/views/decidim/votings/census/admin/census/_exporting_codes.html.erb
@@ -625,10 +576,7 @@ files:
625
576
  - app/views/decidim/votings/polling_officer_zone/polling_officers/index.html.erb
626
577
  - app/views/decidim/votings/votings/_access_code_modal.html.erb
627
578
  - app/views/decidim/votings/votings/_check_fields.html.erb
628
- - app/views/decidim/votings/votings/_count.html.erb
629
- - app/views/decidim/votings/votings/_filters.html.erb
630
- - app/views/decidim/votings/votings/_filters_small_view.html.erb
631
- - app/views/decidim/votings/votings/_promoted_voting.html.erb
579
+ - app/views/decidim/votings/votings/_polling_officers_picker.html.erb
632
580
  - app/views/decidim/votings/votings/_votings.html.erb
633
581
  - app/views/decidim/votings/votings/check_census.html.erb
634
582
  - app/views/decidim/votings/votings/elections_log.html.erb
@@ -636,10 +584,8 @@ files:
636
584
  - app/views/decidim/votings/votings/index.js.erb
637
585
  - app/views/decidim/votings/votings/login.html.erb
638
586
  - app/views/decidim/votings/votings/show.html.erb
639
- - app/views/layouts/decidim/_election_votes_header.html.erb
640
587
  - app/views/layouts/decidim/admin/voting.html.erb
641
- - app/views/layouts/decidim/election_votes.html.erb
642
- - app/views/layouts/decidim/voting_landing.html.erb
588
+ - app/views/layouts/decidim/admin/votings.html.erb
643
589
  - app/views/layouts/decidim/votings.html.erb
644
590
  - config/assets.rb
645
591
  - config/initializers/decidim_bulletin_board.rb
@@ -672,7 +618,6 @@ files:
672
618
  - config/locales/ga-IE.yml
673
619
  - config/locales/gl.yml
674
620
  - config/locales/gn-PY.yml
675
- - config/locales/he-IL.yml
676
621
  - config/locales/hr-HR.yml
677
622
  - config/locales/hr.yml
678
623
  - config/locales/hu.yml
@@ -767,10 +712,6 @@ files:
767
712
  - db/migrate/20220424121541_add_show_check_census_to_votings.rb
768
713
  - db/migrate/20220615102642_remove_description_from_elections_questions.rb
769
714
  - db/migrate/20220711112802_rename_dataset_file_to_filename.rb
770
- - db/seeds/Exampledocument.pdf
771
- - db/seeds/city.jpeg
772
- - db/seeds/city2.jpeg
773
- - decidim-elections.gemspec
774
715
  - lib/decidim/api/bulletin_board_closure_type.rb
775
716
  - lib/decidim/api/election_answer_type.rb
776
717
  - lib/decidim/api/election_question_type.rb
@@ -788,7 +729,8 @@ files:
788
729
  - lib/decidim/elections/api.rb
789
730
  - lib/decidim/elections/component.rb
790
731
  - lib/decidim/elections/engine.rb
791
- - lib/decidim/elections/seeds/city.jpeg
732
+ - lib/decidim/elections/menu.rb
733
+ - lib/decidim/elections/seeds.rb
792
734
  - lib/decidim/elections/test/factories.rb
793
735
  - lib/decidim/elections/trustee_zone.rb
794
736
  - lib/decidim/elections/trustee_zone_engine.rb
@@ -801,36 +743,45 @@ files:
801
743
  - lib/decidim/votings/census_admin.rb
802
744
  - lib/decidim/votings/census_admin_engine.rb
803
745
  - lib/decidim/votings/census_engine.rb
746
+ - lib/decidim/votings/census_menu.rb
747
+ - lib/decidim/votings/content_blocks/registry_manager.rb
804
748
  - lib/decidim/votings/engine.rb
749
+ - lib/decidim/votings/menu.rb
805
750
  - lib/decidim/votings/participatory_space.rb
806
751
  - lib/decidim/votings/polling_officer_zone.rb
807
752
  - lib/decidim/votings/polling_officer_zone_engine.rb
753
+ - lib/decidim/votings/polling_officer_zone_menu.rb
808
754
  - lib/decidim/votings/query_extensions.rb
809
- - lib/decidim/votings/test/capybara_polling_officers_picker.rb
755
+ - lib/decidim/votings/seeds.rb
810
756
  - lib/decidim/votings/test/factories.rb
811
757
  - lib/decidim/votings/voting_serializer.rb
812
758
  - lib/tasks/decidim_elections.rake
813
759
  - lib/tasks/decidim_voting_census.rake
814
- homepage: https://github.com/decidim/decidim-elections
760
+ homepage: https://decidim.org
815
761
  licenses:
816
762
  - AGPL-3.0
817
- metadata: {}
763
+ metadata:
764
+ bug_tracker_uri: https://github.com/decidim/decidim/issues
765
+ documentation_uri: https://docs.decidim.org/
766
+ funding_uri: https://opencollective.com/decidim
767
+ homepage_uri: https://decidim.org
768
+ source_code_uri: https://github.com/decidim/decidim
818
769
  post_install_message:
819
770
  rdoc_options: []
820
771
  require_paths:
821
772
  - lib
822
773
  required_ruby_version: !ruby/object:Gem::Requirement
823
774
  requirements:
824
- - - "~>"
775
+ - - ">="
825
776
  - !ruby/object:Gem::Version
826
- version: 3.0.0
777
+ version: '3.1'
827
778
  required_rubygems_version: !ruby/object:Gem::Requirement
828
779
  requirements:
829
- - - ">="
780
+ - - ">"
830
781
  - !ruby/object:Gem::Version
831
- version: '0'
782
+ version: 1.3.1
832
783
  requirements: []
833
- rubygems_version: 3.5.14
784
+ rubygems_version: 3.4.20
834
785
  signing_key:
835
786
  specification_version: 4
836
787
  summary: A decidim elections module (votings space and elections component)
@@ -1,19 +0,0 @@
1
- <div class="card__icondata">
2
- <ul class="card-data">
3
- <li class="card-data__item">
4
- <%= icon "datetime", class: "icon--big", role: "img", aria_label: t("decidim.elections.election_m.label.date") %>
5
- </li>
6
- <li class="card-data__item">
7
- <div class="card-data__item--centerblock">
8
- <strong><%= t("decidim.elections.election_m.start_date") %></strong>
9
- <%= start_date ? l(start_date, format: :decidim_short) : t("decidim.elections.election_m.unspecified") %>
10
- </div>
11
- </li>
12
- <li class="card-data__item">
13
- <div class="card-data__item--centerblock">
14
- <strong><%= t("decidim.elections.election_m.end_date") %></strong>
15
- <%= end_date ? l(end_date, format: :decidim_short) : t("decidim.elections.election_m.unspecified") %>
16
- </div>
17
- </li>
18
- </ul>
19
- </div>
@@ -1,5 +0,0 @@
1
- <div class="card__footer card__footer--spaces">
2
- <div class="card__support">
3
- <%= link_to footer_button_text, resource_path, class: "card__button button button--sc light small" %>
4
- </div>
5
- </div>
@@ -1,3 +0,0 @@
1
- <div class="card__callout">
2
- <%= cell "decidim/elections/remaining_time_callout", model %>
3
- </div>
@@ -1,96 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Elections
5
- # This cell renders the Medium (:m) election card
6
- # for a given instance of an Election
7
- class ElectionMCell < Decidim::CardMCell
8
- include ElectionCellsHelper
9
-
10
- def date
11
- render
12
- end
13
-
14
- private
15
-
16
- def has_state?
17
- true
18
- end
19
-
20
- def title
21
- present(model).title
22
- end
23
-
24
- def resource_icon
25
- icon "elections", class: "icon--big"
26
- end
27
-
28
- # Even though we need to render the badge, we can't do it in the normal
29
- # way, because the paragraph comes from a user input and contains HTML.
30
- # This causes the badge and the paragraph to appear in different lines.
31
- # In order to fix it, check the `description` method.
32
- def has_badge?
33
- false
34
- end
35
-
36
- def badge_name
37
- text = model.voting_period_status
38
- return unless text
39
-
40
- I18n.t(text, scope: "decidim.elections.election_m.badge_name")
41
- end
42
-
43
- # In order to render the badge inline with the paragraph text we need to
44
- # find the opening `<p>` tag and include the badge right after it. This
45
- # makes the layout look good.
46
- def has_image?
47
- model.photos.present?
48
- end
49
-
50
- def resource_image_path
51
- model.photos.first.url if has_image?
52
- end
53
-
54
- def description
55
- text = super
56
- text.sub!(/<p>/, "<p>#{render :badge}")
57
- html_truncate(text, length: 100)
58
- end
59
-
60
- def state_classes
61
- case model.voting_period_status
62
- when :ongoing
63
- ["success"]
64
- when :upcoming
65
- ["warning"]
66
- else
67
- ["muted"]
68
- end
69
- end
70
-
71
- def start_date
72
- return unless model.start_time
73
-
74
- model.start_time.to_date
75
- end
76
-
77
- def end_date
78
- return unless model.end_time
79
-
80
- model.end_time.to_date
81
- end
82
-
83
- def footer_button_text
84
- if model.ongoing?
85
- t("decidim.elections.election_m.footer.vote")
86
- else
87
- t("decidim.elections.election_m.footer.view")
88
- end
89
- end
90
-
91
- def statuses
92
- []
93
- end
94
- end
95
- end
96
- end
@@ -1,7 +0,0 @@
1
- <div class="evote__preview-result">
2
- <h3 class="evote__preview-option">
3
- <%= t("decidim.elections.votes.new.nota_option") %>
4
- </h3>
5
-
6
- <%= render view: :progress_bar, locals: { results_percentage: question.blank_votes_percentage, results_total: question.blank_votes } %>
7
- </div>