decidim-reporting_proposals 0.4.2 → 0.5.0

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/lint.yml +2 -2
  3. data/.github/workflows/test_integration.yml +2 -2
  4. data/.github/workflows/test_unit.yml +2 -2
  5. data/.rubocop-disabled.yml +11 -0
  6. data/.rubocop.yml +1 -0
  7. data/.rubocop_rails.yml +3 -0
  8. data/.rubocop_ruby.yml +24 -10
  9. data/.ruby-version +1 -1
  10. data/.simplecov +2 -2
  11. data/Gemfile.lock +257 -235
  12. data/README.md +2 -2
  13. data/Rakefile +2 -0
  14. data/app/commands/concerns/decidim/reporting_proposals/gallery_methods_override.rb +18 -0
  15. data/app/commands/decidim/reporting_proposals/admin/update_proposal_note.rb +1 -1
  16. data/app/commands/decidim/reporting_proposals/create_reporting_proposal.rb +2 -0
  17. data/app/commands/decidim/templates/admin/copy_proposal_answer_template.rb +1 -1
  18. data/app/commands/decidim/templates/admin/create_proposal_answer_template.rb +1 -1
  19. data/app/commands/decidim/templates/admin/update_proposal_answer_template.rb +1 -1
  20. data/app/controllers/concerns/decidim/reporting_proposals/admin/needs_header_snippets.rb +5 -7
  21. data/app/controllers/concerns/decidim/reporting_proposals/needs_proposal_extra_validations_snippets.rb +1 -1
  22. data/app/controllers/concerns/decidim/reporting_proposals/proposals_controller_override.rb +5 -5
  23. data/app/controllers/decidim/templates/admin/proposal_answer_templates_controller.rb +3 -5
  24. data/app/forms/concerns/decidim/reporting_proposals/form_builder_override.rb +9 -8
  25. data/app/forms/concerns/decidim/reporting_proposals/map_builder_override.rb +6 -4
  26. data/app/helpers/concerns/decidim/reporting_proposals/proposal_wizard_helper_override.rb +4 -4
  27. data/app/overrides/decidim/proposals/admin/proposal_answers/_form/add_template_chooser.html.erb.deface +1 -1
  28. data/app/overrides/decidim/proposals/admin/proposals/_proposal-tr/add_valuators_name.html.erb.deface +3 -3
  29. data/app/overrides/decidim/proposals/admin/proposals/show/add_send_email_btn.html.erb.deface +1 -1
  30. data/app/overrides/decidim/proposals/admin/proposals/show/add_valuators_form.html.erb.deface +1 -1
  31. data/app/overrides/decidim/proposals/admin/proposals/show/remove_photos.html.erb.deface +0 -1
  32. data/app/overrides/decidim/proposals/proposals/_edit_form_fields/replace_add_photos.html.erb.deface +37 -0
  33. data/app/overrides/decidim/proposals/proposals/_proposal_similar/add_distance_badge.html.erb.deface +1 -1
  34. data/app/overrides/decidim/proposals/proposals/_wizard_header/replace_title.html.erb.deface +9 -9
  35. data/app/overrides/decidim/proposals/proposals/edit/add_css.html.erb.deface +5 -0
  36. data/app/overrides/decidim/proposals/proposals/edit/replace_javascript.html.erb.deface +0 -1
  37. data/app/overrides/decidim/proposals/proposals/edit_draft/add_css.html.erb.deface +5 -0
  38. data/app/overrides/decidim/proposals/proposals/new/add_css.html.erb.deface +5 -0
  39. data/app/overrides/decidim/proposals/proposals/new/replace_javascript.html.erb.deface +0 -1
  40. data/app/overrides/decidim/reported_mailer/report/add_link_to_admin.html.erb.deface +1 -1
  41. data/app/overrides/layouts/decidim/_process_header_steps/always_show_new_proposals.html.erb.deface +1 -1
  42. data/app/packs/stylesheets/decidim/reporting_proposals/geocoding_addons.scss +8 -8
  43. data/app/packs/stylesheets/decidim/reporting_proposals/list_component_admin.scss +5 -5
  44. data/app/packs/stylesheets/decidim/reporting_proposals/manage_component_admin.scss +10 -10
  45. data/app/packs/stylesheets/decidim/reporting_proposals/proposals/add_proposal.scss +3 -3
  46. data/app/packs/stylesheets/decidim/reporting_proposals/user_camera_inputs.scss +5 -5
  47. data/app/queries/decidim/reporting_proposals/nearby_proposals.rb +1 -1
  48. data/app/validators/concerns/decidim/reporting_proposals/component_validator_override.rb +2 -2
  49. data/app/views/decidim/proposals/proposals/index.js.erb +1 -1
  50. data/app/views/decidim/reporting_proposals/proposals/_reporting_proposal_fields.html.erb +9 -21
  51. data/babel.config.json +25 -0
  52. data/config/locales/en.yml +2 -0
  53. data/db/migrate/20230404103706_add_target_and_field_values_to_decidim_templates_templates.rb +2 -6
  54. data/decidim-reporting_proposals.gemspec +2 -1
  55. data/lib/decidim/reporting_proposals/component.rb +0 -9
  56. data/lib/decidim/reporting_proposals/engine.rb +27 -3
  57. data/lib/decidim/reporting_proposals/version.rb +3 -3
  58. data/package-lock.json +161 -142
  59. data/package.json +4 -163
  60. metadata +56 -48
@@ -8,7 +8,7 @@ $orderFilterInput.val('<%= order %>');
8
8
  var $dropdownMenu = $('.dropdown.menu', $proposals);
9
9
  $dropdownMenu.foundation();
10
10
 
11
- var markerData = JSON.parse('<%= escape_javascript proposals_data_for_map(search.results.select(&:geocoded_and_valid?))
11
+ var markerData = JSON.parse('<%= escape_javascript proposals_data_for_map(search.result.select(&:geocoded_and_valid?))
12
12
  .to_json.html_safe %>');
13
13
 
14
14
  var $map = $("#map");
@@ -12,8 +12,8 @@
12
12
  <%= image_tag photo.thumbnail_url, class: "thumbnail", alt: photo.file.filename %>
13
13
  <%= form.hidden_field :photos, multiple: true, value: photo.id, id: "photo-#{photo.id}" %>
14
14
  <button class="close-button"
15
- aria-label="<%= t("delete_image", scope: "decidim.proposals.proposals.edit") %>"
16
- title="<%= t("delete_image", scope: "decidim.proposals.proposals.edit") %>"
15
+ aria-label="<%= t("delete_image", scope: "decidim.reporting_proposals.proposals.edit") %>"
16
+ title="<%= t("delete_image", scope: "decidim.reporting_proposals.proposals.edit") %>"
17
17
  type="button"
18
18
  data-close>
19
19
  <span aria-hidden="true">&times;</span>
@@ -87,27 +87,15 @@
87
87
  <% end %>
88
88
 
89
89
  <% if component_settings.attachments_allowed? && !component_settings.only_photo_attachments? %>
90
- <fieldset class="attachments_container gallery__container documents_container">
90
+ <fieldset class="attachments_container gallery__container documents_container">
91
91
  <legend><%= t("attachment_legend", scope: "decidim.proposals.proposals.edit") %></legend>
92
-
93
- <% if @form.documents.any? %>
94
- <% @form.documents.each do |document| %>
95
- <div class="callout" id="attachment_<%= document.id %>" data-closable>
96
- <%= link_to translated_attribute(document.title), document.url %>
97
- <small><%= document.file_type %> <%= number_to_human_size(document.file_size) %></small>
98
- <%= form.hidden_field :documents, multiple: true, value: document.id, id: "document-#{document.id}" %>
99
- <button class="close-button"
100
- aria-label="<%= t("delete_document", scope: "decidim.proposals.proposals.edit") %>"
101
- title="<%= t("delete_document", scope: "decidim.proposals.proposals.edit") %>"
102
- type="button" data-close>
103
- <span aria-hidden="true">&times;</span>
104
- </button>
105
- </div>
106
- <% end %>
107
- <% end %>
108
-
109
92
  <div class="row column">
110
- <%= form.file_field :add_documents, multiple: true, label: t("add_documents", scope: "decidim.proposals.proposals.edit") %>
93
+ <%= form.attachment :documents,
94
+ multiple: true,
95
+ label: t("decidim.proposals.proposals.edit.add_documents"),
96
+ button_label: t("decidim.proposals.proposals.edit.add_documents"),
97
+ button_edit_label: t("decidim.proposals.proposals.edit.edit_documents"),
98
+ help_i18n_scope: "decidim.forms.file_help.file" %>
111
99
  </div>
112
100
  </fieldset>
113
101
  <% end %>
data/babel.config.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env", {
5
+ "forceAllTransforms": true,
6
+ "useBuiltIns": "entry",
7
+ "corejs": 3,
8
+ "modules": false
9
+ }
10
+ ],
11
+ ["@babel/preset-react"]
12
+ ],
13
+ "plugins": [
14
+ "@babel/plugin-transform-classes",
15
+ [
16
+ "@babel/plugin-transform-runtime",
17
+ {
18
+ "helpers": false,
19
+ "regenerator": true,
20
+ "corejs": false
21
+ }
22
+ ],
23
+ ["@babel/plugin-transform-regenerator", { "async": false }]
24
+ ]
25
+ }
@@ -483,6 +483,8 @@ en:
483
483
  same situation, you can choose to support it instead of creating a new
484
484
  one.
485
485
  title: Nearby proposals
486
+ edit:
487
+ delete_image: Delete image
486
488
  form:
487
489
  image: Image/photo
488
490
  templates:
@@ -2,11 +2,7 @@
2
2
 
3
3
  class AddTargetAndFieldValuesToDecidimTemplatesTemplates < ActiveRecord::Migration[6.0]
4
4
  def change
5
- unless ActiveRecord::Base.connection.column_exists?(:decidim_templates_templates, :field_values)
6
- add_column :decidim_templates_templates, :field_values, :json, default: {}
7
- end
8
- unless ActiveRecord::Base.connection.column_exists?(:decidim_templates_templates, :target)
9
- add_column :decidim_templates_templates, :target, :string
10
- end
5
+ add_column :decidim_templates_templates, :field_values, :json, default: {} unless ActiveRecord::Base.connection.column_exists?(:decidim_templates_templates, :field_values)
6
+ add_column :decidim_templates_templates, :target, :string unless ActiveRecord::Base.connection.column_exists?(:decidim_templates_templates, :target)
11
7
  end
12
8
  end
@@ -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 = ">= 2.7"
17
+ spec.required_ruby_version = ">= 3.0"
18
18
 
19
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
20
20
  f.match(%r{^(test|spec|features)/})
@@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency "decidim-elections", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
37
37
  spec.add_development_dependency "decidim-meetings", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
38
38
  spec.add_development_dependency "decidim-templates", Decidim::ReportingProposals::COMPAT_DECIDIM_VERSION
39
+ spec.metadata["rubygems_mfa_required"] = "true"
39
40
  end
@@ -96,15 +96,6 @@ Decidim.register_component(:reporting_proposals) do |component|
96
96
  settings.attribute :suggested_hashtags, type: :text, editor: false, required: false
97
97
  end
98
98
 
99
- component.register_resource(:reporting_proposal) do |resource|
100
- resource.model_class_name = "Decidim::Proposals::Proposal"
101
- resource.template = "decidim/proposals/proposals/linked_proposals"
102
- resource.card = "decidim/proposals/proposal"
103
- resource.reported_content_cell = "decidim/proposals/reported_content"
104
- resource.actions = %w(endorse vote amend comment vote_comment)
105
- resource.searchable = true
106
- end
107
-
108
99
  component.register_resource(:collaborative_draft) do |resource|
109
100
  resource.model_class_name = "Decidim::Proposals::CollaborativeDraft"
110
101
  resource.card = "decidim/proposals/collaborative_draft"
@@ -20,6 +20,7 @@ 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)
23
24
  Decidim::Proposals::ProposalSerializer.include(Decidim::ReportingProposals::ProposalSerializerOverride)
24
25
  Decidim::Proposals::ProposalsPickerCell.include(Decidim::ReportingProposals::ProposalsPickerCellOverride)
25
26
  Decidim::Proposals::PublishProposal.include(Decidim::Proposals::PublishProposalOverride)
@@ -48,10 +49,33 @@ module Decidim
48
49
 
49
50
  # port of https://github.com/openpoke/decidim/pull/31,23,29,24,43
50
51
  Decidim::ReportedMailer.include(Decidim::ReportedMailerOverride)
51
- Decidim::ResourceLocatorPresenter.include(Decidim::ResourceLocatorPresenterOverride)
52
+
53
+ # since version 0.27 Decidim uses its own version of attribute validation (used to be Rectify::Forms)
54
+ # To patch the ResourceManifest directly does not work now as the class is initialized by the proposals module on requiring the file component.rb
55
+ # So we remove the manifest and create it again after patching the class ResourceManifest
52
56
  Decidim::ResourceManifest.include(Decidim::ResourceManifestOverride)
53
- Decidim::Proposals::PublishProposal.include(Decidim::Proposals::PublishProposalOverride)
54
- Decidim.find_resource_manifest(:proposal).admin_route_name = "proposal"
57
+ Decidim.resource_manifests.delete(Decidim.find_resource_manifest(:proposal))
58
+ component = Decidim.find_component_manifest(:proposals)
59
+ component.register_resource(:proposal) do |resource|
60
+ resource.model_class_name = "Decidim::Proposals::Proposal"
61
+ resource.template = "decidim/proposals/proposals/linked_proposals"
62
+ resource.card = "decidim/proposals/proposal"
63
+ resource.reported_content_cell = "decidim/proposals/reported_content"
64
+ resource.actions = %w(endorse vote amend comment vote_comment)
65
+ resource.searchable = true
66
+ resource.admin_route_name = "proposal"
67
+ end
68
+ component = Decidim.find_component_manifest(:reporting_proposals)
69
+ component.register_resource(:reporting_proposal) do |resource|
70
+ resource.model_class_name = "Decidim::Proposals::Proposal"
71
+ resource.template = "decidim/proposals/proposals/linked_proposals"
72
+ resource.card = "decidim/proposals/proposal"
73
+ resource.reported_content_cell = "decidim/proposals/reported_content"
74
+ resource.actions = %w(endorse vote amend comment vote_comment)
75
+ resource.searchable = true
76
+ resource.admin_route_name = "proposal"
77
+ end
78
+ Decidim::ResourceLocatorPresenter.include(Decidim::ResourceLocatorPresenterOverride)
55
79
  Decidim::Proposals::PublishProposalEvent.include(Decidim::Proposals::PublishProposalEventOverride)
56
80
  Decidim::Proposals::Admin::AssignProposalsToValuator.include(Decidim::Proposals::Admin::AssignProposalsToValuatorOverride)
57
81
  Decidim::Admin::HideResource.include(Decidim::Admin::HideResourceOverride)
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Decidim
4
4
  module ReportingProposals
5
- VERSION = "0.4.2"
6
- DECIDIM_VERSION = "0.26.5"
5
+ VERSION = "0.5.0"
6
+ DECIDIM_VERSION = "0.27.3"
7
7
 
8
- COMPAT_DECIDIM_VERSION = [">= 0.25.0", "< 0.27"].freeze
8
+ COMPAT_DECIDIM_VERSION = [">= 0.27.0", "< 0.28"].freeze
9
9
  end
10
10
  end