decidim-elections 0.26.2 → 0.27.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/cells/decidim/votings/content_blocks/highlighted_votings/show.erb +2 -2
  4. data/app/cells/decidim/votings/content_blocks/highlighted_votings_cell.rb +1 -4
  5. data/app/cells/decidim/votings/content_blocks/landing_page/description/show.erb +1 -1
  6. data/app/cells/decidim/votings/content_blocks/landing_page/header/show.erb +2 -2
  7. data/app/cells/decidim/votings/content_blocks/landing_page/header_cell.rb +1 -1
  8. data/app/commands/decidim/elections/admin/add_user_as_trustee.rb +1 -1
  9. data/app/commands/decidim/elections/admin/create_answer.rb +1 -1
  10. data/app/commands/decidim/elections/admin/create_election.rb +1 -1
  11. data/app/commands/decidim/elections/admin/create_question.rb +1 -2
  12. data/app/commands/decidim/elections/admin/destroy_answer.rb +1 -1
  13. data/app/commands/decidim/elections/admin/destroy_election.rb +1 -1
  14. data/app/commands/decidim/elections/admin/destroy_question.rb +1 -1
  15. data/app/commands/decidim/elections/admin/end_vote.rb +1 -1
  16. data/app/commands/decidim/elections/admin/import_proposals_to_elections.rb +1 -1
  17. data/app/commands/decidim/elections/admin/publish_election.rb +1 -1
  18. data/app/commands/decidim/elections/admin/publish_results.rb +1 -1
  19. data/app/commands/decidim/elections/admin/remove_trustee_from_participatory_space.rb +1 -1
  20. data/app/commands/decidim/elections/admin/report_missing_trustee.rb +1 -1
  21. data/app/commands/decidim/elections/admin/setup_election.rb +4 -2
  22. data/app/commands/decidim/elections/admin/start_key_ceremony.rb +1 -1
  23. data/app/commands/decidim/elections/admin/start_tally.rb +1 -1
  24. data/app/commands/decidim/elections/admin/start_vote.rb +1 -1
  25. data/app/commands/decidim/elections/admin/unpublish_election.rb +1 -1
  26. data/app/commands/decidim/elections/admin/update_action_status.rb +1 -1
  27. data/app/commands/decidim/elections/admin/update_answer.rb +1 -1
  28. data/app/commands/decidim/elections/admin/update_answer_selection.rb +1 -1
  29. data/app/commands/decidim/elections/admin/update_election.rb +1 -1
  30. data/app/commands/decidim/elections/admin/update_question.rb +1 -2
  31. data/app/commands/decidim/elections/admin/update_trustee_participatory_space.rb +1 -1
  32. data/app/commands/decidim/elections/trustee_zone/update_election_bulletin_board_status.rb +1 -1
  33. data/app/commands/decidim/elections/trustee_zone/update_trustee.rb +1 -1
  34. data/app/commands/decidim/elections/voter/cast_vote.rb +1 -1
  35. data/app/commands/decidim/elections/voter/update_vote_status.rb +2 -2
  36. data/app/commands/decidim/votings/admin/create_ballot_style.rb +1 -1
  37. data/app/commands/decidim/votings/admin/create_monitoring_committee_member.rb +1 -1
  38. data/app/commands/decidim/votings/admin/create_polling_officer.rb +1 -1
  39. data/app/commands/decidim/votings/admin/create_voting.rb +3 -2
  40. data/app/commands/decidim/votings/admin/destroy_ballot_style.rb +1 -1
  41. data/app/commands/decidim/votings/admin/destroy_monitoring_committee_member.rb +1 -1
  42. data/app/commands/decidim/votings/admin/destroy_polling_officer.rb +1 -1
  43. data/app/commands/decidim/votings/admin/destroy_polling_station.rb +1 -1
  44. data/app/commands/decidim/votings/admin/manage_polling_station.rb +2 -2
  45. data/app/commands/decidim/votings/admin/monitoring_committee_validate_polling_station_closure.rb +1 -1
  46. data/app/commands/decidim/votings/admin/publish_voting.rb +1 -1
  47. data/app/commands/decidim/votings/admin/unpublish_voting.rb +1 -1
  48. data/app/commands/decidim/votings/admin/update_ballot_style.rb +1 -1
  49. data/app/commands/decidim/votings/admin/update_voting.rb +3 -2
  50. data/app/commands/decidim/votings/census/admin/create_dataset.rb +32 -21
  51. data/app/commands/decidim/votings/census/admin/create_datum.rb +1 -1
  52. data/app/commands/decidim/votings/census/admin/destroy_dataset.rb +1 -1
  53. data/app/commands/decidim/votings/census/admin/increment_dataset_processed_rows.rb +1 -1
  54. data/app/commands/decidim/votings/census/admin/launch_access_codes_export.rb +4 -2
  55. data/app/commands/decidim/votings/census/admin/launch_access_codes_generation.rb +2 -2
  56. data/app/commands/decidim/votings/census/admin/update_dataset.rb +1 -1
  57. data/app/commands/decidim/votings/certify_polling_station_closure.rb +1 -1
  58. data/app/commands/decidim/votings/check_census.rb +1 -1
  59. data/app/commands/decidim/votings/create_polling_station_closure.rb +1 -1
  60. data/app/commands/decidim/votings/create_polling_station_results.rb +1 -1
  61. data/app/commands/decidim/votings/send_access_code.rb +1 -1
  62. data/app/commands/decidim/votings/sign_polling_station_closure.rb +1 -1
  63. data/app/commands/decidim/votings/voter/in_person_vote.rb +1 -1
  64. data/app/commands/decidim/votings/voter/update_in_person_vote_status.rb +1 -1
  65. data/app/controllers/decidim/elections/admin/steps_controller.rb +2 -2
  66. data/app/controllers/decidim/elections/elections_controller.rb +10 -12
  67. data/app/controllers/decidim/elections/trustee_zone/elections_controller.rb +1 -1
  68. data/app/controllers/decidim/votings/census/admin/census_controller.rb +6 -2
  69. data/app/controllers/decidim/votings/votings_controller.rb +10 -13
  70. data/app/forms/decidim/elections/admin/question_form.rb +0 -2
  71. data/app/forms/decidim/elections/admin/setup_form.rb +46 -3
  72. data/app/forms/decidim/elections/admin/vote_period_form.rb +2 -2
  73. data/app/forms/decidim/votings/admin/ballot_style_form.rb +1 -1
  74. data/app/forms/decidim/votings/admin/voting_form.rb +4 -3
  75. data/app/forms/decidim/votings/census/admin/dataset_form.rb +2 -5
  76. data/app/forms/decidim/votings/census/admin/datum_form.rb +1 -1
  77. data/app/helpers/decidim/elections/application_helper.rb +1 -1
  78. data/app/helpers/decidim/votings/votings_helper.rb +1 -1
  79. data/app/models/decidim/elections/answer.rb +1 -6
  80. data/app/models/decidim/elections/election.rb +15 -4
  81. data/app/models/decidim/elections/question.rb +2 -7
  82. data/app/models/decidim/votings/census/dataset.rb +1 -1
  83. data/app/models/decidim/votings/polling_station.rb +2 -3
  84. data/app/models/decidim/votings/voting.rb +15 -0
  85. data/app/packs/entrypoints/{decidim_elections_trustee_tally.js → decidim_elections_trustee_tally_started.js} +0 -0
  86. data/app/packs/src/decidim/elections/admin/pending_action.js +2 -0
  87. data/app/packs/src/decidim/elections/admin/trustees_process.js +2 -0
  88. data/app/packs/src/decidim/elections/broken_promises_handler.js +11 -0
  89. data/app/packs/src/decidim/elections/trustee/key_ceremony.js +3 -0
  90. data/app/packs/src/decidim/elections/trustee/tally.js +4 -1
  91. data/app/packs/src/decidim/elections/voter/casting-vote.js +3 -0
  92. data/app/packs/src/decidim/elections/voter/setup-vote.js +3 -0
  93. data/app/packs/src/decidim/votings/admin/update_census_dataset_status.js +2 -2
  94. data/app/packs/src/decidim/votings/in-person-vote.js +3 -0
  95. data/app/permissions/decidim/votings/admin/permissions.rb +2 -14
  96. data/app/permissions/decidim/votings/permissions.rb +1 -3
  97. data/app/presenters/decidim/votings/voting_stats_presenter.rb +4 -1
  98. data/app/queries/decidim/elections/admin/pending_actions.rb +1 -1
  99. data/app/queries/decidim/elections/admin/votes_for_statistics.rb +1 -1
  100. data/app/queries/decidim/elections/elections_finished_to_end.rb +1 -1
  101. data/app/queries/decidim/elections/elections_ready_to_start.rb +1 -1
  102. data/app/queries/decidim/elections/filtered_elections.rb +1 -1
  103. data/app/queries/decidim/elections/trustees/by_participatory_space.rb +1 -1
  104. data/app/queries/decidim/elections/trustees/by_participatory_space_trustee_ids.rb +1 -1
  105. data/app/queries/decidim/elections/votes/last_vote_for_voter.rb +1 -1
  106. data/app/queries/decidim/elections/votes/pending_votes.rb +1 -1
  107. data/app/queries/decidim/votings/admin/admin_users.rb +1 -1
  108. data/app/queries/decidim/votings/admin/ballot_style_by_voting_code.rb +1 -1
  109. data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations.rb +1 -1
  110. data/app/queries/decidim/votings/admin/polling_officers_join_polling_stations_and_user.rb +2 -2
  111. data/app/queries/decidim/votings/admin/polling_officers_join_user.rb +1 -1
  112. data/app/queries/decidim/votings/organization_prioritized_votings.rb +2 -2
  113. data/app/queries/decidim/votings/organization_promoted_votings.rb +1 -1
  114. data/app/queries/decidim/votings/organization_published_votings.rb +2 -2
  115. data/app/queries/decidim/votings/organization_votings.rb +1 -1
  116. data/app/queries/decidim/votings/prioritized_votings.rb +1 -1
  117. data/app/queries/decidim/votings/published_votings.rb +1 -1
  118. data/app/queries/decidim/votings/votes/in_person_vote_for_voter.rb +1 -1
  119. data/app/queries/decidim/votings/votes/pending_in_person_votes.rb +1 -1
  120. data/app/services/decidim/votings/census_vote_flow.rb +1 -3
  121. data/app/views/decidim/elections/admin/questions/_form.html.erb +0 -4
  122. data/app/views/decidim/elections/admin/steps/_create_election.html.erb +14 -1
  123. data/app/views/decidim/elections/admin/steps/{_tally.html.erb → _tally_started.html.erb} +1 -1
  124. data/app/views/decidim/elections/admin/steps/index.html.erb +2 -0
  125. data/app/views/decidim/elections/elections/_filters.html.erb +2 -2
  126. data/app/views/decidim/elections/elections/election_log.html.erb +3 -1
  127. data/app/views/decidim/elections/shared/_broken_promises_modal.html.erb +33 -0
  128. data/app/views/decidim/elections/trustee_zone/elections/{_tally_steps.html.erb → _tally_started_steps.html.erb} +0 -0
  129. data/app/views/decidim/elections/trustee_zone/elections/show.html.erb +5 -1
  130. data/app/views/decidim/elections/trustee_zone/trustees/show.html.erb +3 -1
  131. data/app/views/decidim/elections/votes/_onboarding_modal.html.erb +3 -1
  132. data/app/views/decidim/elections/votes/_show_casting.html.erb +5 -1
  133. data/app/views/decidim/elections/votes/new.html.erb +11 -5
  134. data/app/views/decidim/elections/votes/verify.html.erb +4 -1
  135. data/app/views/decidim/votings/admin/votings/_form.html.erb +9 -0
  136. data/app/views/decidim/votings/census/admin/census/_creating_data.html.erb +1 -1
  137. data/app/views/decidim/votings/census/admin/census/_exporting_codes.html.erb +1 -1
  138. data/app/views/decidim/votings/census/admin/census/_freeze.html.erb +2 -0
  139. data/app/views/decidim/votings/census/admin/census/_generate_codes.html.erb +14 -4
  140. data/app/views/decidim/votings/census/admin/census/show.html.erb +1 -1
  141. data/app/views/decidim/votings/polling_officer_zone/closures/_certify_form.html.erb +3 -1
  142. data/app/views/decidim/votings/polling_officer_zone/closures/_sign_form.html.erb +3 -1
  143. data/app/views/decidim/votings/polling_officer_zone/closures/edit.html.erb +3 -1
  144. data/app/views/decidim/votings/polling_officer_zone/closures/new.html.erb +3 -1
  145. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/_complete_voting.html.erb +8 -2
  146. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/new.html.erb +5 -1
  147. data/app/views/decidim/votings/polling_officer_zone/in_person_votes/show.html.erb +5 -1
  148. data/app/views/decidim/votings/votings/_filters.html.erb +2 -3
  149. data/app/views/decidim/votings/votings/_promoted_voting.html.erb +1 -1
  150. data/app/views/layouts/decidim/election_votes.html.erb +3 -1
  151. data/config/assets.rb +1 -1
  152. data/config/locales/ar.yml +2 -3
  153. data/config/locales/bg.yml +1 -0
  154. data/config/locales/ca.yml +64 -30
  155. data/config/locales/cs.yml +66 -27
  156. data/config/locales/de.yml +53 -30
  157. data/config/locales/el.yml +1 -1
  158. data/config/locales/en.yml +63 -27
  159. data/config/locales/es-MX.yml +65 -31
  160. data/config/locales/es-PY.yml +65 -31
  161. data/config/locales/es.yml +67 -33
  162. data/config/locales/eu.yml +5 -40
  163. data/config/locales/fi-plain.yml +64 -29
  164. data/config/locales/fi.yml +66 -31
  165. data/config/locales/fr-CA.yml +64 -29
  166. data/config/locales/fr.yml +62 -27
  167. data/config/locales/ga-IE.yml +1 -15
  168. data/config/locales/gl.yml +22 -32
  169. data/config/locales/hu.yml +28 -13
  170. data/config/locales/it.yml +5 -34
  171. data/config/locales/ja.yml +65 -33
  172. data/config/locales/lb.yml +1 -0
  173. data/config/locales/lt.yml +1445 -0
  174. data/config/locales/lv.yml +1 -1
  175. data/config/locales/nl.yml +10 -51
  176. data/config/locales/no.yml +11 -39
  177. data/config/locales/pl.yml +16 -35
  178. data/config/locales/pt-BR.yml +6 -34
  179. data/config/locales/pt.yml +12 -40
  180. data/config/locales/ro-RO.yml +11 -25
  181. data/config/locales/sl.yml +1 -0
  182. data/config/locales/sv.yml +60 -11
  183. data/config/locales/tr-TR.yml +4 -14
  184. data/config/locales/zh-CN.yml +1 -5
  185. data/db/migrate/20220404112802_rename_bb_status_tally_to_tally_started.rb +19 -0
  186. data/db/migrate/20220424121541_add_show_check_census_to_votings.rb +7 -0
  187. data/db/migrate/20220615102642_remove_description_from_elections_questions.rb +7 -0
  188. data/db/migrate/20220711112802_rename_dataset_file_to_filename.rb +7 -0
  189. data/lib/decidim/api/election_question_type.rb +0 -1
  190. data/lib/decidim/elections/component.rb +4 -16
  191. data/lib/decidim/elections/test/factories.rb +4 -5
  192. data/lib/decidim/elections/version.rb +1 -1
  193. data/lib/decidim/votings/participatory_space.rb +3 -3
  194. data/lib/decidim/votings/test/factories.rb +3 -2
  195. metadata +31 -27
  196. data/app/services/decidim/elections/election_search.rb +0 -35
  197. data/app/services/decidim/votings/voting_search.rb +0 -46
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenameBbStatusTallyToTallyStarted < ActiveRecord::Migration[6.1]
4
+ class Election < ApplicationRecord
5
+ self.table_name = :decidim_elections_elections
6
+ end
7
+
8
+ def up
9
+ # rubocop:disable Rails/SkipsModelValidations
10
+ Election.where(bb_status: "tally").update_all(bb_status: "tally_started")
11
+ # rubocop:enable Rails/SkipsModelValidations
12
+ end
13
+
14
+ def down
15
+ # rubocop:disable Rails/SkipsModelValidations
16
+ Election.where(bb_status: "tally_started").update_all(bb_status: "tally")
17
+ # rubocop:enable Rails/SkipsModelValidations
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddShowCheckCensusToVotings < ActiveRecord::Migration[6.1]
4
+ def change
5
+ add_column :decidim_votings_votings, :show_check_census, :boolean, default: true
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveDescriptionFromElectionsQuestions < ActiveRecord::Migration[6.1]
4
+ def change
5
+ remove_column :decidim_elections_questions, :description, :jsonb
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenameDatasetFileToFilename < ActiveRecord::Migration[6.1]
4
+ def change
5
+ rename_column :decidim_votings_census_datasets, :file, :filename
6
+ end
7
+ end
@@ -11,7 +11,6 @@ module Decidim
11
11
 
12
12
  field :id, GraphQL::Types::ID, "The internal ID of this question", null: false
13
13
  field :title, Decidim::Core::TranslatedFieldType, "The title for this question", null: false
14
- field :description, Decidim::Core::TranslatedFieldType, "The description for this question", null: false
15
14
  field :max_selections, GraphQL::Types::Int, "The maximum number of possible selections for this question", null: false
16
15
  field :weight, GraphQL::Types::Int, "The ordering weight for this question", null: true
17
16
  field :random_answers_order, GraphQL::Types::Boolean, "Should this question order answers in random order?", null: true
@@ -113,9 +113,6 @@ Decidim.register_component(:elections) do |component|
113
113
  {
114
114
  election: upcoming_election,
115
115
  title: Decidim::Faker::Localized.sentence(word_count: 2),
116
- description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
117
- Decidim::Faker::Localized.paragraph(sentence_count: 3)
118
- end,
119
116
  max_selections: Faker::Number.between(from: 1, to: 3),
120
117
  weight: Faker::Number.number(digits: 1),
121
118
  random_answers_order: Faker::Boolean.boolean(true_ratio: 0.5),
@@ -145,7 +142,7 @@ Decidim.register_component(:elections) do |component|
145
142
  description: Decidim::Faker::Localized.sentence(word_count: 5),
146
143
  attached_to: answer,
147
144
  content_type: "image/jpeg",
148
- file: ActiveStorage::Blob.create_after_upload!(
145
+ file: ActiveStorage::Blob.create_and_upload!(
149
146
  io: File.open(File.join(__dir__, "seeds", "city.jpeg")),
150
147
  filename: "city.jpeg",
151
148
  content_type: "image/jpeg",
@@ -213,9 +210,6 @@ Decidim.register_component(:elections) do |component|
213
210
  {
214
211
  election: finished_election,
215
212
  title: Decidim::Faker::Localized.sentence(word_count: 2),
216
- description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
217
- Decidim::Faker::Localized.paragraph(sentence_count: 3)
218
- end,
219
213
  max_selections: 2,
220
214
  weight: Faker::Number.number(digits: 1),
221
215
  random_answers_order: Faker::Boolean.boolean(true_ratio: 0.5),
@@ -245,7 +239,7 @@ Decidim.register_component(:elections) do |component|
245
239
  description: Decidim::Faker::Localized.sentence(word_count: 5),
246
240
  attached_to: answer,
247
241
  content_type: "image/jpeg",
248
- file: ActiveStorage::Blob.create_after_upload!(
242
+ file: ActiveStorage::Blob.create_and_upload!(
249
243
  io: File.open(File.join(__dir__, "seeds", "city.jpeg")),
250
244
  filename: "city.jpeg",
251
245
  content_type: "image/jpeg",
@@ -336,9 +330,6 @@ Decidim.register_component(:elections) do |component|
336
330
  {
337
331
  election: election_with_results,
338
332
  title: Decidim::Faker::Localized.sentence(word_count: 2),
339
- description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
340
- Decidim::Faker::Localized.paragraph(sentence_count: 3)
341
- end,
342
333
  max_selections: 2,
343
334
  weight: Faker::Number.number(digits: 1),
344
335
  random_answers_order: Faker::Boolean.boolean(true_ratio: 0.5),
@@ -369,7 +360,7 @@ Decidim.register_component(:elections) do |component|
369
360
  description: Decidim::Faker::Localized.sentence(word_count: 5),
370
361
  attached_to: answer,
371
362
  content_type: "image/jpeg",
372
- file: ActiveStorage::Blob.create_after_upload!(
363
+ file: ActiveStorage::Blob.create_and_upload!(
373
364
  io: File.open(File.join(__dir__, "seeds", "city.jpeg")),
374
365
  filename: "city.jpeg",
375
366
  content_type: "image/jpeg",
@@ -456,9 +447,6 @@ Decidim.register_component(:elections) do |component|
456
447
  {
457
448
  election: ongoing_election,
458
449
  title: Decidim::Faker::Localized.sentence(word_count: 2),
459
- description: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
460
- Decidim::Faker::Localized.paragraph(sentence_count: 3)
461
- end,
462
450
  max_selections: 2,
463
451
  weight: Faker::Number.number(digits: 1),
464
452
  random_answers_order: Faker::Boolean.boolean(true_ratio: 0.5),
@@ -488,7 +476,7 @@ Decidim.register_component(:elections) do |component|
488
476
  description: Decidim::Faker::Localized.sentence(word_count: 5),
489
477
  attached_to: answer,
490
478
  content_type: "image/jpeg",
491
- file: ActiveStorage::Blob.create_after_upload!(
479
+ file: ActiveStorage::Blob.create_and_upload!(
492
480
  io: File.open(File.join(__dir__, "seeds", "city.jpeg")),
493
481
  filename: "city.jpeg",
494
482
  content_type: "image/jpeg",
@@ -70,7 +70,7 @@ FactoryBot.define do
70
70
 
71
71
  trait :ready_for_setup do
72
72
  transient do
73
- trustee_keys { 3.times.map { [Faker::Name.name, generate(:private_key).export.to_json] }.to_h }
73
+ trustee_keys { 3.times.to_h { [Faker::Name.name, generate(:private_key).export.to_json] } }
74
74
  end
75
75
 
76
76
  upcoming
@@ -124,13 +124,13 @@ FactoryBot.define do
124
124
  end
125
125
  end
126
126
 
127
- trait :tally do
127
+ trait :tally_started do
128
128
  vote_ended
129
- bb_status { "tally" }
129
+ bb_status { "tally_started" }
130
130
  end
131
131
 
132
132
  trait :tally_ended do
133
- tally
133
+ tally_started
134
134
  bb_status { "tally_ended" }
135
135
  verifiable_results_file_hash { SecureRandom.hex(32) }
136
136
  verifiable_results_file_url { Faker::Internet.url }
@@ -170,7 +170,6 @@ FactoryBot.define do
170
170
 
171
171
  election
172
172
  title { generate_localized_title }
173
- description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
174
173
  min_selections { 1 }
175
174
  max_selections { 1 }
176
175
  weight { Faker::Number.number(digits: 1) }
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-meetings version.
5
5
  module Elections
6
6
  def self.version
7
- "0.26.2"
7
+ "0.27.0.rc2"
8
8
  end
9
9
  end
10
10
  end
@@ -51,7 +51,7 @@ Decidim.register_participatory_space(:votings) do |participatory_space|
51
51
  Decidim::Faker::Localized.paragraph(sentence_count: 3)
52
52
  end,
53
53
  scope: n.positive? ? nil : Decidim::Scope.reorder(Arel.sql("RANDOM()")).first,
54
- banner_image: ActiveStorage::Blob.create_after_upload!(
54
+ banner_image: ActiveStorage::Blob.create_and_upload!(
55
55
  io: File.open(File.join(seeds_root, "city.jpeg")),
56
56
  filename: "banner_image.jpeg",
57
57
  content_type: "image/jpeg",
@@ -99,8 +99,8 @@ Decidim.register_participatory_space(:votings) do |participatory_space|
99
99
  user.update!(
100
100
  name: Faker::Name.name,
101
101
  nickname: Faker::Twitter.unique.screen_name,
102
- password: "decidim123456",
103
- password_confirmation: "decidim123456",
102
+ password: "decidim123456789",
103
+ password_confirmation: "decidim123456789",
104
104
  organization: organization,
105
105
  confirmed_at: Time.current,
106
106
  locale: I18n.default_locale,
@@ -29,6 +29,7 @@ FactoryBot.define do
29
29
  introductory_image { Decidim::Dev.test_file("city.jpeg", "image/jpeg") }
30
30
  voting_type { "hybrid" }
31
31
  census_contact_information { nil }
32
+ show_check_census { true }
32
33
 
33
34
  trait :unpublished do
34
35
  published_at { nil }
@@ -105,7 +106,7 @@ FactoryBot.define do
105
106
 
106
107
  factory :dataset, class: "Decidim::Votings::Census::Dataset" do
107
108
  voting { create(:voting) }
108
- file { "file.csv" }
109
+ filename { "file.csv" }
109
110
  status { "init_data" }
110
111
  csv_row_raw_count { 1 }
111
112
  csv_row_processed_count { 1 }
@@ -174,7 +175,7 @@ FactoryBot.define do
174
175
  with_questions
175
176
 
176
177
  after(:create) do |ballot_style, evaluator|
177
- evaluator.election.questions.first(2).map { |question| create(:ballot_style_question, question: question, ballot_style: ballot_style) }
178
+ evaluator.election.reload.questions.first(2).map { |question| create(:ballot_style_question, question: question, ballot_style: ballot_style) }
178
179
  end
179
180
  end
180
181
  end
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.26.2
4
+ version: 0.27.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonardo Diez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-06-14 00:00:00.000000000 Z
12
+ date: 2022-09-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: decidim-bulletin_board
@@ -17,84 +17,84 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 0.22.3
20
+ version: '0.23'
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.22.3
27
+ version: '0.23'
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.22.3
34
+ version: '0.23'
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.22.3
41
+ version: '0.23'
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.22.3
48
+ version: '0.23'
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.22.3
55
+ version: '0.23'
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.26.2
62
+ version: 0.27.0.rc2
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.26.2
69
+ version: 0.27.0.rc2
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.26.2
76
+ version: 0.27.0.rc2
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.26.2
83
+ version: 0.27.0.rc2
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.26.2
90
+ version: 0.27.0.rc2
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.26.2
97
+ version: 0.27.0.rc2
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.26.2
118
+ version: 0.27.0.rc2
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.26.2
125
+ version: 0.27.0.rc2
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.26.2
132
+ version: 0.27.0.rc2
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.26.2
139
+ version: 0.27.0.rc2
140
140
  description: The Elections module adds elections to any participatory space.
141
141
  email:
142
142
  - leo@codegram.com
@@ -391,7 +391,7 @@ files:
391
391
  - app/packs/entrypoints/decidim_elections_election_log.js
392
392
  - app/packs/entrypoints/decidim_elections_onboarding.js
393
393
  - app/packs/entrypoints/decidim_elections_trustee_key_ceremony.js
394
- - app/packs/entrypoints/decidim_elections_trustee_tally.js
394
+ - app/packs/entrypoints/decidim_elections_trustee_tally_started.js
395
395
  - app/packs/entrypoints/decidim_elections_trustee_trustee_zone.js
396
396
  - app/packs/entrypoints/decidim_elections_trustee_zone.js
397
397
  - app/packs/entrypoints/decidim_elections_trustee_zone.scss
@@ -418,6 +418,7 @@ files:
418
418
  - app/packs/src/decidim/elections/admin/pending_action.js
419
419
  - app/packs/src/decidim/elections/admin/trustees_process.js
420
420
  - app/packs/src/decidim/elections/admin/vote_statistics.js
421
+ - app/packs/src/decidim/elections/broken_promises_handler.js
421
422
  - app/packs/src/decidim/elections/election_log.js
422
423
  - app/packs/src/decidim/elections/onboarding.js
423
424
  - app/packs/src/decidim/elections/trustee/key_ceremony.js
@@ -495,11 +496,9 @@ files:
495
496
  - app/queries/decidim/votings/votes/pending_in_person_votes.rb
496
497
  - app/serializers/decidim/votings/census/datum_serializer.rb
497
498
  - app/services/decidim/elections/current_user_vote_flow.rb
498
- - app/services/decidim/elections/election_search.rb
499
499
  - app/services/decidim/elections/vote_flow.rb
500
500
  - app/services/decidim/votings/census/access_codes_exporter.rb
501
501
  - app/services/decidim/votings/census_vote_flow.rb
502
- - app/services/decidim/votings/voting_search.rb
503
502
  - app/uploaders/decidim/cw/votings/census/voting_census_uploader.rb
504
503
  - app/views/decidim/elections/admin/answers/_form.html.erb
505
504
  - app/views/decidim/elections/admin/answers/edit.html.erb
@@ -521,8 +520,8 @@ files:
521
520
  - app/views/decidim/elections/admin/steps/_key_ceremony.html.erb
522
521
  - app/views/decidim/elections/admin/steps/_key_ceremony_ended.html.erb
523
522
  - app/views/decidim/elections/admin/steps/_results_published.html.erb
524
- - app/views/decidim/elections/admin/steps/_tally.html.erb
525
523
  - app/views/decidim/elections/admin/steps/_tally_ended.html.erb
524
+ - app/views/decidim/elections/admin/steps/_tally_started.html.erb
526
525
  - app/views/decidim/elections/admin/steps/_vote.html.erb
527
526
  - app/views/decidim/elections/admin/steps/_vote_ended.html.erb
528
527
  - app/views/decidim/elections/admin/steps/_vote_stats.html.erb
@@ -539,11 +538,12 @@ files:
539
538
  - app/views/decidim/elections/elections/index.html.erb
540
539
  - app/views/decidim/elections/elections/index.js.erb
541
540
  - app/views/decidim/elections/elections/show.html.erb
541
+ - app/views/decidim/elections/shared/_broken_promises_modal.html.erb
542
542
  - app/views/decidim/elections/trustee_mailer/notification.html.erb
543
543
  - app/views/decidim/elections/trustee_zone/elections/_backup_modal.html.erb
544
544
  - app/views/decidim/elections/trustee_zone/elections/_key_ceremony_steps.html.erb
545
545
  - app/views/decidim/elections/trustee_zone/elections/_restore_modal.html.erb
546
- - app/views/decidim/elections/trustee_zone/elections/_tally_steps.html.erb
546
+ - app/views/decidim/elections/trustee_zone/elections/_tally_started_steps.html.erb
547
547
  - app/views/decidim/elections/trustee_zone/elections/show.html.erb
548
548
  - app/views/decidim/elections/trustee_zone/elections/update.js.erb
549
549
  - app/views/decidim/elections/trustee_zone/trustees/show.html.erb
@@ -751,6 +751,10 @@ files:
751
751
  - db/migrate/20210422124826_add_verifiable_results_to_decidim_elections_election.rb
752
752
  - db/migrate/20210426072845_add_signed_at_to_polling_station_closure.rb
753
753
  - db/migrate/20210427131742_add_validated_at_to_votings_polling_station_closures.rb
754
+ - db/migrate/20220404112802_rename_bb_status_tally_to_tally_started.rb
755
+ - db/migrate/20220424121541_add_show_check_census_to_votings.rb
756
+ - db/migrate/20220615102642_remove_description_from_elections_questions.rb
757
+ - db/migrate/20220711112802_rename_dataset_file_to_filename.rb
754
758
  - db/seeds/Exampledocument.pdf
755
759
  - db/seeds/city.jpeg
756
760
  - db/seeds/city2.jpeg
@@ -806,14 +810,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
806
810
  requirements:
807
811
  - - ">="
808
812
  - !ruby/object:Gem::Version
809
- version: '2.7'
813
+ version: '3.0'
810
814
  required_rubygems_version: !ruby/object:Gem::Requirement
811
815
  requirements:
812
- - - ">="
816
+ - - ">"
813
817
  - !ruby/object:Gem::Version
814
- version: '0'
818
+ version: 1.3.1
815
819
  requirements: []
816
- rubygems_version: 3.1.6
820
+ rubygems_version: 3.2.22
817
821
  signing_key:
818
822
  specification_version: 4
819
823
  summary: A decidim elections module (votings space and elections component)
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Elections
5
- # This class handles search and filtering of elections.
6
- class ElectionSearch < ResourceSearch
7
- # Public: Initializes the service.
8
- # component - A Decidim::Component to get the election from.
9
- # page - The page number to paginate the results.
10
- # per_page - The number of proposals to return per page.
11
- def initialize(options = {})
12
- super(Election.all, options)
13
- end
14
-
15
- # Handle the search_text filter
16
- def search_search_text
17
- query
18
- .where("decidim_elections_elections.title::text ILIKE ?", "%#{search_text}%")
19
- .or(query.where("decidim_elections_elections.description::text ILIKE ?", "%#{search_text}%"))
20
- end
21
-
22
- # Handle the state filter
23
- def search_state
24
- active = state.member?("active") ? query.active : nil
25
- upcoming = state.member?("upcoming") ? query.upcoming : nil
26
- finished = state.member?("finished") ? query.finished : nil
27
-
28
- query
29
- .where(id: upcoming)
30
- .or(query.where(id: active))
31
- .or(query.where(id: finished))
32
- end
33
- end
34
- end
35
- end
@@ -1,46 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Votings
5
- # Service that encapsulates all logic related to filtering votings.
6
- class VotingSearch < Searchlight::Search
7
- # Public: Initializes the service.
8
- # page - The page number to paginate the results.
9
- # per_page - The number of proposals to return per page.
10
- def initialize(options = {})
11
- super(options)
12
- end
13
-
14
- def base_query
15
- Decidim::Votings::Voting.where(organization: options[:organization]).published
16
- end
17
-
18
- # Handle the search_text filter
19
- def search_search_text
20
- query
21
- .where(Arel.sql("title->>'#{current_locale}' ILIKE ?").to_s, "%#{search_text}%")
22
- .or(
23
- query.where(Arel.sql("description->>'#{current_locale}' ILIKE ?").to_s, "%#{search_text}%")
24
- )
25
- end
26
-
27
- # Handle the state filter
28
- def search_state
29
- active = state.member?("active") ? query.active : nil
30
- upcoming = state.member?("upcoming") ? query.upcoming : nil
31
- finished = state.member?("finished") ? query.finished : nil
32
-
33
- query
34
- .where(id: upcoming)
35
- .or(query.where(id: active))
36
- .or(query.where(id: finished))
37
- end
38
-
39
- private
40
-
41
- def current_locale
42
- I18n.locale.to_s
43
- end
44
- end
45
- end
46
- end