decidim-reporting_proposals 0.6.1 → 0.7.1

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 (76) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/lint.yml +8 -6
  3. data/.github/workflows/test_integration.yml +24 -11
  4. data/.github/workflows/test_unit.yml +8 -4
  5. data/.rubocop.yml +21 -1
  6. data/.ruby-version +1 -1
  7. data/Gemfile +4 -8
  8. data/Gemfile.lock +361 -390
  9. data/README.md +1 -0
  10. data/app/cells/concerns/decidim/reporting_proposals/proposals_picker_cell_override.rb +4 -4
  11. data/app/commands/concerns/decidim/reporting_proposals/admin/assign_proposals_to_valuator_override.rb +3 -1
  12. data/app/commands/concerns/decidim/reporting_proposals/admin/create_category_override.rb +5 -11
  13. data/app/commands/concerns/decidim/reporting_proposals/admin/create_proposal_answer_template_override.rb +24 -0
  14. data/app/commands/concerns/decidim/reporting_proposals/admin/has_result_command_override.rb +21 -0
  15. data/app/commands/concerns/decidim/reporting_proposals/admin/update_category_override.rb +8 -11
  16. data/app/commands/concerns/decidim/reporting_proposals/admin/update_imported_result_override.rb +30 -0
  17. data/app/commands/concerns/decidim/reporting_proposals/admin/update_result_override.rb +0 -4
  18. data/app/commands/concerns/decidim/reporting_proposals/create_project_override.rb +1 -1
  19. data/app/commands/concerns/decidim/reporting_proposals/create_report_override.rb +1 -1
  20. data/app/controllers/concerns/decidim/reporting_proposals/admin/proposal_answer_templates_controller_override.rb +4 -5
  21. data/app/controllers/concerns/decidim/reporting_proposals/admin/valuation_assignments_controller_override.rb +10 -4
  22. data/app/controllers/concerns/decidim/reporting_proposals/proposals_controller_override.rb +23 -31
  23. data/app/forms/concerns/decidim/reporting_proposals/admin/category_form_override.rb +1 -1
  24. data/app/forms/concerns/decidim/reporting_proposals/form_builder_override.rb +4 -1
  25. data/app/helpers/concerns/decidim/reporting_proposals/admin/proposal_bulk_actions_helper_override.rb +23 -0
  26. data/app/helpers/concerns/decidim/reporting_proposals/admin/proposals_helper_override.rb +18 -0
  27. data/app/helpers/concerns/decidim/reporting_proposals/proposal_wizard_helper_override.rb +17 -3
  28. data/app/jobs/decidim/reporting_proposals/assign_proposal_valuators_job.rb +1 -1
  29. data/app/overrides/decidim/proposals/admin/proposals/_proposal-tr/add_valuators_name.html.erb.deface +5 -5
  30. data/app/overrides/decidim/proposals/admin/proposals/index/add_form_default_class.html.erb.deface +5 -0
  31. data/app/overrides/decidim/proposals/admin/proposals/show/add_valuators_form.html.erb.deface +1 -24
  32. data/app/overrides/decidim/proposals/proposals/edit_draft/replace_partial_edit_form_fields.html.erb.deface +0 -1
  33. data/app/overrides/decidim/proposals/proposals/new/replace_partial_edit_form_fields.html.erb.deface +3 -0
  34. data/app/packs/entrypoints/decidim_reporting_proposals.js +1 -0
  35. data/app/packs/src/decidim/reporting_proposals/assign_valuators_select.js +25 -0
  36. data/app/packs/src/decidim/reporting_proposals/user_camera_inputs.js +1 -1
  37. data/app/packs/stylesheets/decidim/reporting_proposals/list_component_admin.scss +6 -0
  38. data/app/permissions/concerns/decidim/reporting_proposals/admin/permissions_override.rb +12 -2
  39. data/app/queries/decidim/reporting_proposals/nearby_proposals.rb +1 -3
  40. data/app/views/decidim/proposals/admin/proposals/_assign_to_valuator.html.erb +31 -0
  41. data/app/views/decidim/proposals/proposals/compare.html.erb +34 -0
  42. data/app/views/decidim/reporting_proposals/admin/categories/_valuators_field.html.erb +1 -1
  43. data/app/views/decidim/reporting_proposals/admin/proposals/_photo_form.html.erb +2 -2
  44. data/app/views/decidim/reporting_proposals/admin/proposals/_photos.html.erb +4 -1
  45. data/app/views/decidim/reporting_proposals/admin/proposals/_proposal_td_hide.html.erb +1 -9
  46. data/app/views/decidim/reporting_proposals/proposals/_camera_button.html.erb +4 -2
  47. data/app/views/decidim/reporting_proposals/proposals/_reporting_proposal_fields.html.erb +66 -65
  48. data/bin/bundle +62 -0
  49. data/bin/rspec +26 -0
  50. data/bin/test +47 -0
  51. data/bin/test-legacy +3 -0
  52. data/config/locales/ca.yml +22 -34
  53. data/config/locales/de.yml +22 -36
  54. data/config/locales/en.yml +16 -1
  55. data/config/locales/es.yml +22 -36
  56. data/decidim-reporting_proposals.gemspec +1 -2
  57. data/lib/decidim/reporting_proposals/component.rb +26 -17
  58. data/lib/decidim/reporting_proposals/engine.rb +16 -11
  59. data/lib/decidim/reporting_proposals/version.rb +3 -3
  60. data/package-lock.json +120 -85
  61. data/package.json +7 -7
  62. metadata +56 -77
  63. data/.rubocop-disabled.yml +0 -11
  64. data/.rubocop_rails.yml +0 -90
  65. data/.rubocop_ruby.yml +0 -1767
  66. data/app/commands/concerns/decidim/reporting_proposals/admin/create_answer_override.rb +0 -17
  67. data/app/commands/concerns/decidim/reporting_proposals/admin/create_result_override.rb +0 -17
  68. data/app/commands/concerns/decidim/reporting_proposals/gallery_methods_override.rb +0 -18
  69. data/app/overrides/decidim/proposals/proposals/compare/add_css.html.erb.deface +0 -5
  70. data/app/overrides/decidim/proposals/proposals/compare/add_distance_badge.html.erb.deface +0 -10
  71. data/app/overrides/decidim/proposals/proposals/edit/add_user_group.html.erb.deface +0 -3
  72. data/app/overrides/decidim/proposals/proposals/new/remove_body.html.erb.deface +0 -1
  73. data/app/overrides/decidim/proposals/proposals/new/replace_body.html.erb.deface +0 -3
  74. data/app/views/decidim/reporting_proposals/proposals/_new_proposal_fields.html.erb +0 -9
  75. data/app/views/decidim/reporting_proposals/proposals/_user_group.html.erb +0 -5
  76. data/babel.config.json +0 -25
@@ -50,6 +50,14 @@ en:
50
50
  unanswered_proposals_overdue_help: This adds a visual alert to the list
51
51
  of proposals. Leave it to zero to disable this feature.
52
52
  reporting_proposals:
53
+ actions:
54
+ amend: Amend
55
+ comment: Comment
56
+ create: Create
57
+ endorse: Endorse
58
+ vote: Support
59
+ vote_comment: Vote comment
60
+ withdraw: Withdraw
53
61
  name: Reporting proposals
54
62
  settings:
55
63
  global:
@@ -72,7 +80,7 @@ en:
72
80
  amendments_wizard_help_text: Amendments Wizard help text
73
81
  announcement: Announcement
74
82
  attachments_allowed: Allow attachments
75
- can_accumulate_supports_beyond_threshold: Can accumulate supports beyond
83
+ can_accumulate_votes_beyond_threshold: Can accumulate supports beyond
76
84
  threshold
77
85
  collaborative_drafts_enabled: Collaborative drafts enabled
78
86
  comments_enabled: Comments enabled
@@ -230,6 +238,12 @@ en:
230
238
  send_mail: Send an email to user
231
239
  show:
232
240
  report: Report
241
+ proposals:
242
+ compare:
243
+ continue: Continue
244
+ title: Compare proposals
245
+ wizard_steps:
246
+ step_compare: Compare
233
247
  reported_mailer:
234
248
  report:
235
249
  admin_resource: Admin this resource
@@ -483,6 +497,7 @@ en:
483
497
  same situation, you can choose to support it instead of creating a new
484
498
  one.
485
499
  title: Nearby proposals
500
+ no_similars_found: No similar proposals found
486
501
  edit:
487
502
  delete_image: Delete image
488
503
  form:
@@ -7,10 +7,11 @@ es:
7
7
  proposal:
8
8
  has_no_address: No tiene dirección
9
9
  has_no_image: No tiene imagen
10
- template:
11
- scope_for_availability: Restringir disponibilidad al componente
12
10
  decidim:
13
11
  admin:
12
+ actions:
13
+ manage: Gestionar
14
+ new: Nuevo
14
15
  hidden_resource_mailer:
15
16
  notify_mail:
16
17
  body_1: Un administrador eliminó su propuesta porque ha sido denunciada.
@@ -18,10 +19,6 @@ es:
18
19
  hello: Hola,
19
20
  reason: 'Motivo: %{reason}'
20
21
  subject: Tu propuesta ha sido ocultada
21
- templates:
22
- fetch:
23
- error: No se pudo encontrar esta plantilla, ¿tal vez se ha eliminado?
24
- missing_resource: "(recurso ausente)"
25
22
  application:
26
23
  geocoding:
27
24
  unconfigured: '¡La geocodificación no está configurada!'
@@ -40,6 +37,14 @@ es:
40
37
  unanswered_proposals_overdue: Después de cuántos días se considera una propuesta sin respuesta atrasada
41
38
  unanswered_proposals_overdue_help: Esto añade una alerta visual a la lista de propuestas. Déjala a cero para desactivar esta característica.
42
39
  reporting_proposals:
40
+ actions:
41
+ amend: Enmendar
42
+ comment: Comentar
43
+ create: Crear
44
+ endorse: Adherirse
45
+ vote: Apoyar
46
+ vote_comment: Votar comentario
47
+ withdraw: Retirar
43
48
  name: Propuestas directas
44
49
  settings:
45
50
  global:
@@ -168,14 +173,8 @@ es:
168
173
  geolocated_at: Geolocalizada en
169
174
  send_email_button:
170
175
  send_mail: Enviar un correo electrónico al usuario
171
- proposals_valuator_mailer:
172
- notify_proposals_valuator:
173
- admin_panel: panel de administración
174
- email_body: Has sido asignado como evaluador para las propuestas que se listan a continuación. Esto significa que en los próximos días deberías comentar y/o una respuesta adecuada.
175
- gratitude: '¡Gracias por tu ayuda!'
176
- greeting: Hola %{name},
177
- public_side: parte pública
178
- subject: Nuevas propuestas asignadas para su evaluación
176
+ show:
177
+ report: Denunciar
179
178
  reported_mailer:
180
179
  report:
181
180
  admin_resource: Administrar este recurso
@@ -341,6 +340,7 @@ es:
341
340
  photo_form:
342
341
  action: Añadir imagen
343
342
  add_images: Añadir imágenes
343
+ edit_images: Añadir imágenes
344
344
  gallery_legend: Añadir imágenes
345
345
  title: Fotos
346
346
  upload_msg: No hay archivos seleccionados
@@ -354,6 +354,14 @@ es:
354
354
  remove_assignment: eliminar asignación
355
355
  remove_assignment_confirmation: Seguro que quieres eliminar esta asignación?
356
356
  valuators: Evaluadoras
357
+ proposals_valuator_mailer:
358
+ notify_proposals_valuator:
359
+ admin_panel: panel de administración
360
+ email_body: Has sido asignado como evaluador para las propuestas que se listan a continuación. Esto significa que en los próximos días deberías comentar y/o una respuesta adecuada.
361
+ gratitude: '¡Gracias por tu ayuda!'
362
+ greeting: Hola %{name},
363
+ public_side: parte pública
364
+ subject: Nuevas propuestas asignadas para su evaluación
357
365
  resolution_time: Tiempo de resolución
358
366
  time_elapsed:
359
367
  datetime:
@@ -418,25 +426,3 @@ es:
418
426
  delete_image: Eliminar imagen
419
427
  form:
420
428
  image: Imágen/foto
421
- templates:
422
- admin:
423
- proposal_answer_templates:
424
- form:
425
- answer_template: Plantilla de Respuesta
426
- hint: "<strong>Sugerencia:</strong> Puede utilizar estas variables en cualquier lugar de la plantilla de respuesta que se reemplazarán cuando utilice la plantilla"
427
- hint1: "<strong>%{organization}</strong> será reemplazado por el nombre de la organización"
428
- hint2: "<strong>%{name}</strong> será reemplazado por el nombre del autor"
429
- hint3: "<strong>%{admin}</strong> será sustituido por el nombre del administrador (el que responde a la propuesta)"
430
- save: Guardar
431
- scope_for_availability_help: Tenga en cuenta que sólo los espacios participativos que tengan componentes del tipo "propuestas" serán listados.
432
- template_title: Información de la plantilla
433
- index:
434
- confirm_delete: '¿Está seguro de querer eliminar esta plantilla?'
435
- global_scope: Global (disponible en todas partes)
436
- internal_state: Estado interno
437
- scope_for_availability: Ámbito
438
- title: Respuestas a propuestas
439
- template_chooser:
440
- select_template: Selecciona una plantilla de respuesta
441
- template_types:
442
- proposal_answer_templates: Respuestas a propuestas
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.description = "A module for Decidim that facilitates the creation of proposals related to geolocated issues in a city"
15
15
  spec.license = "AGPL-3.0"
16
16
  spec.homepage = "https://github.com/openpoke/decidim-module-reporting_proposals"
17
- spec.required_ruby_version = ">= 3.1"
17
+ spec.required_ruby_version = ">= 3.2"
18
18
 
19
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
20
  f.match(%r{^(test|spec|features)/})
@@ -32,7 +32,6 @@ Gem::Specification.new do |spec|
32
32
  spec.add_development_dependency "decidim-accountability", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
33
33
  spec.add_development_dependency "decidim-budgets", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
34
34
  spec.add_development_dependency "decidim-dev", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
35
- spec.add_development_dependency "decidim-elections", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
36
35
  spec.add_development_dependency "decidim-meetings", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
37
36
  spec.add_development_dependency "decidim-templates", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
38
37
  spec.metadata["rubygems_mfa_required"] = "true"
@@ -36,7 +36,7 @@ Decidim.register_component(:reporting_proposals) do |component|
36
36
  settings.attribute :proposal_edit_time, type: :enum, default: "limited", choices: -> { %w(limited infinite) }
37
37
  settings.attribute :proposal_edit_before_minutes, type: :integer, default: 5
38
38
  settings.attribute :threshold_per_proposal, type: :integer, default: 0
39
- settings.attribute :can_accumulate_supports_beyond_threshold, type: :boolean, default: false
39
+ settings.attribute :can_accumulate_votes_beyond_threshold, type: :boolean, default: false
40
40
  settings.attribute :proposal_answering_enabled, type: :boolean, default: true
41
41
  settings.attribute :default_sort_order, type: :select, default: "default", choices: -> { REP_POSSIBLE_SORT_ORDERS }
42
42
  settings.attribute :official_proposals_enabled, type: :boolean, default: true
@@ -103,14 +103,14 @@ Decidim.register_component(:reporting_proposals) do |component|
103
103
  end
104
104
 
105
105
  component.register_stat :proposals_count, primary: true, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, start_at, end_at|
106
- Decidim::Proposals::FilteredProposals.for(components, start_at, end_at).published.except_withdrawn.not_hidden.count
106
+ Decidim::Proposals::FilteredProposals.for(components, start_at, end_at).published.not_withdrawn.not_hidden.count
107
107
  end
108
108
 
109
109
  component.register_stat :proposals_accepted, primary: true, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, start_at, end_at|
110
110
  Decidim::Proposals::FilteredProposals.for(components, start_at, end_at).accepted.not_hidden.count
111
111
  end
112
112
 
113
- component.register_stat :supports_count, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, start_at, end_at|
113
+ component.register_stat :votes_count, priority: Decidim::StatsRegistry::HIGH_PRIORITY do |components, start_at, end_at|
114
114
  proposals = Decidim::Proposals::FilteredProposals.for(components, start_at, end_at).published.not_hidden
115
115
  Decidim::Proposals::ProposalVote.where(proposal: proposals).count
116
116
  end
@@ -238,18 +238,11 @@ Decidim.register_component(:reporting_proposals) do |component|
238
238
  global = nil
239
239
  end
240
240
 
241
+ Decidim::Proposals.create_default_states!(component, admin_user)
242
+
241
243
  5.times do |n|
242
- state, answer, state_published_at = if n > 3
243
- ["accepted", Decidim::Faker::Localized.sentence(word_count: 10), Time.current]
244
- elsif n > 2
245
- ["rejected", nil, Time.current]
246
- elsif n > 1
247
- ["evaluating", nil, Time.current]
248
- elsif n.positive?
249
- ["accepted", Decidim::Faker::Localized.sentence(word_count: 10), nil]
250
- else
251
- ["not_answered", nil, nil]
252
- end
244
+ proposal_state, answer, state_published_at = random_state_answer
245
+ proposal_state = Decidim::Proposals::ProposalState.where(component:, token: proposal_state).first
253
246
 
254
247
  params = {
255
248
  component:,
@@ -257,9 +250,9 @@ Decidim.register_component(:reporting_proposals) do |component|
257
250
  scope: Faker::Boolean.boolean(true_ratio: 0.5) ? global : scopes.sample,
258
251
  title: { en: Faker::Lorem.sentence(word_count: 2) },
259
252
  body: { en: Faker::Lorem.paragraphs(number: 2).join("\n") },
260
- state:,
253
+ proposal_state:,
261
254
  answer:,
262
- answered_at: state.present? ? Time.current : nil,
255
+ answered_at: proposal_state.present? ? Time.current : nil,
263
256
  state_published_at:,
264
257
  published_at: Time.current
265
258
  }
@@ -323,7 +316,7 @@ Decidim.register_component(:reporting_proposals) do |component|
323
316
  scope: Faker::Boolean.boolean(true_ratio: 0.5) ? global : scopes.sample,
324
317
  title: { en: "#{proposal.title["en"]} #{Faker::Lorem.sentence(word_count: 1)}" },
325
318
  body: { en: "#{proposal.body["en"]} #{Faker::Lorem.sentence(word_count: 3)}" },
326
- state: "evaluating",
319
+ proposal_state: Decidim::Proposals::ProposalState.where(component: proposal.component, token: :evaluating).first,
327
320
  answer: nil,
328
321
  answered_at: Time.current,
329
322
  published_at: Time.current
@@ -478,4 +471,20 @@ Decidim.register_component(:reporting_proposals) do |component|
478
471
  body: Faker::Lorem.paragraphs(number: 2).join("\n")
479
472
  )
480
473
  end
474
+
475
+ def random_state_answer
476
+ n = rand(5)
477
+
478
+ if n > 3
479
+ [:accepted, Decidim::Faker::Localized.sentence(word_count: 10), Time.current]
480
+ elsif n > 2
481
+ [:rejected, nil, Time.current]
482
+ elsif n > 1
483
+ [:evaluating, nil, Time.current]
484
+ elsif n.positive?
485
+ [:accepted, Decidim::Faker::Localized.sentence(word_count: 10), nil]
486
+ else
487
+ [:not_answered, nil, nil]
488
+ end
489
+ end
481
490
  end
@@ -20,16 +20,14 @@ module Decidim
20
20
  Decidim::ResourceHelper.include(Decidim::ReportingProposals::ResourceHelperOverride)
21
21
  Decidim::Map::Autocomplete::Builder.include(Decidim::ReportingProposals::MapBuilderOverride)
22
22
  Decidim::CreateReport.include(Decidim::ReportingProposals::CreateReportOverride)
23
- Decidim::GalleryMethods.include(Decidim::ReportingProposals::GalleryMethodsOverride)
24
23
  Decidim::LinkedResourcesForCell.include(Decidim::ReportingProposals::LinkedResourcesForCellOverride)
25
24
  Decidim::Proposals::ProposalSerializer.include(Decidim::ReportingProposals::ProposalSerializerOverride)
26
25
  Decidim::Proposals::ProposalsPickerCell.include(Decidim::ReportingProposals::ProposalsPickerCellOverride)
27
26
  Decidim::Proposals::PublishProposal.include(Decidim::ReportingProposals::PublishProposalOverride)
28
- Decidim::Proposals::Admin::AnswerProposal.include(Decidim::ReportingProposals::Admin::AnswerProposalOverride)
29
27
  Decidim::Accountability::Admin::ResultForm.include(Decidim::ReportingProposals::MapIncludedProposalsForFormOverride)
30
- Decidim::Accountability::Admin::CreateResult.include(Decidim::ReportingProposals::Admin::CreateResultOverride)
28
+ Decidim::Accountability::Admin::HasResultCommand.include(Decidim::ReportingProposals::Admin::HasResultCommandOverride)
31
29
  Decidim::Accountability::Admin::UpdateResult.include(Decidim::ReportingProposals::Admin::UpdateResultOverride)
32
- Decidim::Accountability::Admin::UpdateImportedResult.include(Decidim::ReportingProposals::Admin::UpdateResultOverride)
30
+ Decidim::Accountability::Admin::UpdateImportedResult.include(Decidim::ReportingProposals::Admin::UpdateImportedResultOverride)
33
31
  Decidim::Meetings::CloseMeetingForm.include(Decidim::ReportingProposals::CloseMeetingFormOverride)
34
32
  Decidim::Meetings::Admin::CloseMeetingForm.include(Decidim::ReportingProposals::CloseMeetingFormOverride)
35
33
  Decidim::Meetings::Admin::CloseMeeting.include(Decidim::ReportingProposals::CloseMeetingOverride)
@@ -38,16 +36,12 @@ module Decidim
38
36
  Decidim::Budgets::Admin::CreateProject.include(Decidim::ReportingProposals::CreateProjectOverride)
39
37
  Decidim::Budgets::Admin::UpdateProject.include(Decidim::ReportingProposals::CreateProjectOverride)
40
38
  Decidim::Templates::Admin::UpdateProposalAnswerTemplate.include(Decidim::ReportingProposals::Admin::UpdateProposalAnswerTemplateOverride) if defined?(Decidim::Templates)
41
- if defined?(Decidim::Elections::Admin::AnswerForm)
42
- Decidim::Elections::Admin::AnswerForm.include(Decidim::ReportingProposals::MapRelatedProposalsForFormOverride)
43
- Decidim::Elections::Admin::CreateAnswer.include(Decidim::ReportingProposals::Admin::CreateAnswerOverride)
44
- Decidim::Elections::Admin::UpdateAnswer.include(Decidim::ReportingProposals::Admin::CreateAnswerOverride)
45
- end
46
39
  Decidim::Admin::CategoryForm.include(Decidim::ReportingProposals::Admin::CategoryFormOverride)
47
40
  Decidim::Admin::CreateCategory.include(Decidim::ReportingProposals::Admin::CreateCategoryOverride)
48
41
  Decidim::Admin::UpdateCategory.include(Decidim::ReportingProposals::Admin::UpdateCategoryOverride)
49
42
  Decidim::Proposals::Admin::Permissions.include(Decidim::ReportingProposals::Admin::PermissionsOverride)
50
43
  Decidim::ParticipatorySpaceRoleConfig::Valuator.include(Decidim::ReportingProposals::ParticipatorySpaceRoleConfig::ValuatorOverride)
44
+ Decidim::Templates::Admin::CreateProposalAnswerTemplate.include(Decidim::ReportingProposals::Admin::CreateProposalAnswerTemplateOverride) if defined?(Decidim::Templates)
51
45
 
52
46
  # port of https://github.com/openpoke/decidim/pull/31,23,29,24,43
53
47
  Decidim::ReportedMailer.include(Decidim::ReportingProposals::ReportedMailerOverride)
@@ -92,6 +86,16 @@ module Decidim
92
86
  end
93
87
  end
94
88
 
89
+ initializer "decidim_reporting_proposals.append_compare_route", after: :append_routes do
90
+ Decidim::Proposals::Engine.routes.append do
91
+ resources :proposals, only: [] do
92
+ member do
93
+ get :compare
94
+ end
95
+ end
96
+ end
97
+ end
98
+
95
99
  # controllers and helpers overrides
96
100
  initializer "decidim_reporting_proposals.overrides", after: "decidim.action_controller" do
97
101
  config.to_prepare do
@@ -103,6 +107,7 @@ module Decidim
103
107
  Decidim::Proposals::Admin::ProposalsController.include(Decidim::ReportingProposals::Admin::ProposalsControllerOverride)
104
108
  Decidim::Proposals::Admin::ProposalAnswersController.include(Decidim::ReportingProposals::Admin::ProposalAnswersControllerOverride)
105
109
  Decidim::Proposals::Admin::ProposalsHelper.include(Decidim::ReportingProposals::Admin::ProposalsHelperOverride)
110
+ Decidim::Proposals::Admin::ProposalBulkActionsHelper.include(Decidim::ReportingProposals::Admin::ProposalBulkActionsHelperOverride)
106
111
 
107
112
  # port of https://github.com/openpoke/decidim/pull/24
108
113
  Decidim::Proposals::Admin::ValuationAssignmentsController.include(Decidim::ReportingProposals::Admin::ValuationAssignmentsControllerOverride)
@@ -136,14 +141,14 @@ module Decidim
136
141
 
137
142
  initializer "decidim_reporting_proposals.on_publish_proposals" do
138
143
  config.to_prepare do
139
- Decidim::EventsManager.subscribe(/decidim.events\.proposals\.(proposal_published|proposal_update_category)/) do |_event_name, data|
144
+ ActiveSupport::Notifications.subscribe(/decidim.events\.proposals\.(proposal_published|proposal_update_category)/) do |_event_name, data|
140
145
  Decidim::ReportingProposals::AssignProposalValuatorsJob.perform_later(data)
141
146
  end
142
147
  end
143
148
  end
144
149
 
145
150
  initializer "decidim_reporting_proposals.on_hiding_resource" do
146
- Decidim::EventsManager.subscribe("decidim.events.reports.resource_hidden") do |_event_name, data|
151
+ ActiveSupport::Notifications.subscribe("decidim.events.reports.resource_hidden") do |_event_name, data|
147
152
  Decidim::ReportingProposals::Admin::HiddenResourceMailer.notify_mail(
148
153
  data[:resource], data[:affected_users], data[:extra][:report_reasons]
149
154
  ).deliver_later
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Decidim
4
4
  module ReportingProposals
5
- VERSION = "0.6.1"
6
- DECIDIM_VERSION = "0.28.1"
7
- COMPAT_DECIDIM_VERSION = [">= 0.28.1", "< 0.29"].freeze
5
+ VERSION = "0.7.1"
6
+ DECIDIM_VERSION = "0.29.3"
7
+ COMPAT_DECIDIM_VERSION = [">= 0.29.3", "< 0.30"].freeze
8
8
  end
9
9
  end