decidim-reporting_proposals 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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