decidim-core 0.28.0.rc5 → 0.28.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activity_cell.rb +2 -2
  3. data/app/cells/decidim/address/online.erb +27 -9
  4. data/app/cells/decidim/address/show.erb +27 -12
  5. data/app/cells/decidim/address_cell.rb +29 -0
  6. data/app/cells/decidim/authorization_modal/show.erb +8 -4
  7. data/app/cells/decidim/authorization_modal_cell.rb +1 -0
  8. data/app/cells/decidim/card_metadata_cell.rb +3 -3
  9. data/app/cells/decidim/coauthorships_cell.rb +1 -1
  10. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +6 -0
  11. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +20 -4
  12. data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb +8 -0
  13. data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form_cell.rb +13 -0
  14. data/app/cells/decidim/content_blocks/participatory_space_metadata_cell.rb +1 -1
  15. data/app/cells/decidim/footer_pages_cell.rb +3 -3
  16. data/app/cells/decidim/profile/tabs.erb +3 -2
  17. data/app/cells/decidim/tags_cell.rb +3 -1
  18. data/app/cells/decidim/upload_modal/modal.erb +2 -2
  19. data/app/commands/decidim/create_omniauth_registration.rb +1 -3
  20. data/app/commands/decidim/messaging/reply_to_conversation.rb +3 -0
  21. data/app/commands/decidim/messaging/start_conversation.rb +3 -0
  22. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +36 -0
  23. data/app/controllers/concerns/decidim/paginable.rb +1 -1
  24. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -22
  25. data/app/controllers/decidim/devise/sessions_controller.rb +1 -24
  26. data/app/events/decidim/welcome_notification_event.rb +6 -9
  27. data/app/helpers/decidim/application_helper.rb +0 -18
  28. data/app/helpers/decidim/cells_paginate_helper.rb +1 -1
  29. data/app/helpers/decidim/check_boxes_tree_helper.rb +6 -6
  30. data/app/helpers/decidim/layout_helper.rb +1 -1
  31. data/app/helpers/decidim/map_helper.rb +1 -1
  32. data/app/helpers/decidim/menu_helper.rb +2 -0
  33. data/app/helpers/decidim/newsletters_helper.rb +83 -16
  34. data/app/helpers/decidim/paginate_helper.rb +1 -1
  35. data/app/helpers/decidim/sanitize_helper.rb +9 -0
  36. data/app/helpers/decidim/social_share_button_helper.rb +1 -1
  37. data/app/helpers/decidim/user_profile_helper.rb +7 -2
  38. data/app/mailers/decidim/messaging/conversation_mailer.rb +3 -72
  39. data/app/models/decidim/push_notification_message.rb +38 -0
  40. data/app/packs/entrypoints/decidim_overrides.scss +2 -0
  41. data/app/packs/images/decidim/.keep +0 -0
  42. data/app/packs/src/decidim/a11y.js +1 -1
  43. data/app/packs/src/decidim/account_form.js +1 -1
  44. data/app/packs/src/decidim/data_consent/consent_manager.test.js +1 -1
  45. data/app/packs/src/decidim/data_consent/index.js +1 -1
  46. data/app/packs/src/decidim/direct_uploads/upload_field.js +1 -1
  47. data/app/packs/src/decidim/direct_uploads/upload_modal.js +10 -6
  48. data/app/packs/src/decidim/editor/extensions/hashtag/index.js +1 -1
  49. data/app/packs/src/decidim/editor/extensions/mention/index.js +1 -1
  50. data/app/packs/src/decidim/editor/extensions/video_embed/index.js +3 -0
  51. data/app/packs/src/decidim/editor/test/editor/create.test.js +1 -1
  52. data/app/packs/src/decidim/editor/test/extensions/bold.test.js +2 -3
  53. data/app/packs/src/decidim/editor/test/extensions/character_count.test.js +2 -2
  54. data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +2 -3
  55. data/app/packs/src/decidim/editor/test/extensions/dialog.test.js +2 -2
  56. data/app/packs/src/decidim/editor/test/extensions/emoji.test.js +2 -2
  57. data/app/packs/src/decidim/editor/test/extensions/hashtag.test.js +2 -2
  58. data/app/packs/src/decidim/editor/test/extensions/heading.test.js +2 -2
  59. data/app/packs/src/decidim/editor/test/extensions/image.test.js +4 -4
  60. data/app/packs/src/decidim/editor/test/extensions/indent.test.js +2 -2
  61. data/app/packs/src/decidim/editor/test/extensions/link.test.js +3 -3
  62. data/app/packs/src/decidim/editor/test/extensions/mention.test.js +2 -2
  63. data/app/packs/src/decidim/editor/test/extensions/ordered_list.test.js +2 -2
  64. data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +3 -3
  65. data/app/packs/src/decidim/editor/test/helpers.js +5 -4
  66. data/app/packs/src/decidim/editor/test/toolbar/basic.test.js +2 -2
  67. data/app/packs/src/decidim/editor/test/toolbar/content.test.js +2 -2
  68. data/app/packs/src/decidim/editor/test/toolbar/full.test.js +3 -3
  69. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic.js +6 -6
  70. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +2 -2
  71. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +1 -1
  72. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +2 -2
  73. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +2 -2
  74. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +2 -2
  75. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +2 -2
  76. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content.js +7 -7
  77. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +2 -2
  78. data/app/packs/src/decidim/editor/test/toolbar/shared/context.js +1 -1
  79. data/app/packs/src/decidim/editor/test/utilities/paste_transform.test.js +2 -2
  80. data/app/packs/src/decidim/external_domain_warning.js +13 -0
  81. data/app/packs/src/decidim/external_domain_warning.test.js +1 -1
  82. data/app/packs/src/decidim/external_link.js +48 -9
  83. data/app/packs/src/decidim/external_link.test.js +1 -1
  84. data/app/packs/src/decidim/focus_guard.js +8 -20
  85. data/app/packs/src/decidim/form_filter.component_for_testing.js +1 -1
  86. data/app/packs/src/decidim/form_filter.js +3 -3
  87. data/app/packs/src/decidim/geocoding/attach_input.js +1 -1
  88. data/app/packs/src/decidim/i18n.test.js +1 -1
  89. data/app/packs/src/decidim/index.js +4 -1
  90. data/app/packs/src/decidim/input_hashtags.js +1 -1
  91. data/app/packs/src/decidim/input_mentions.js +1 -1
  92. data/app/packs/src/decidim/input_multiple_mentions.js +1 -1
  93. data/app/packs/src/decidim/sw/index.js +3 -3
  94. data/app/packs/src/decidim/user_registrations.js +1 -1
  95. data/app/packs/src/decidim/vizzs/index.js +1 -1
  96. data/app/packs/stylesheets/decidim/_cards.scss +2 -2
  97. data/app/packs/stylesheets/decidim/_dropdown.scss +2 -2
  98. data/app/packs/stylesheets/decidim/_layout.scss +4 -4
  99. data/app/packs/stylesheets/decidim/_login.scss +1 -1
  100. data/app/packs/stylesheets/decidim/application.scss +0 -3
  101. data/app/packs/stylesheets/decidim/decidim_application.scss +4 -0
  102. data/app/packs/stylesheets/decidim/legacy/leaflet.scss +88 -107
  103. data/app/presenters/decidim/admin_log/oauth_application_resource_presenter.rb +1 -1
  104. data/app/presenters/decidim/log/diff_presenter.rb +1 -1
  105. data/app/presenters/decidim/notification_to_mailer_presenter.rb +9 -0
  106. data/app/services/decidim/events_manager.rb +6 -0
  107. data/app/services/decidim/iframe_disabler.rb +4 -0
  108. data/app/services/decidim/push_notification_message_sender.rb +40 -0
  109. data/app/services/decidim/send_push_notification.rb +22 -8
  110. data/app/uploaders/decidim/background_image_uploader.rb +11 -0
  111. data/app/views/decidim/application/_collection.html.erb +2 -2
  112. data/app/views/decidim/application/_document.html.erb +1 -1
  113. data/app/views/decidim/devise/registrations/new.html.erb +2 -2
  114. data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +7 -0
  115. data/app/views/decidim/offline/show.html.erb +15 -9
  116. data/app/views/layouts/decidim/_head.html.erb +1 -0
  117. data/app/views/layouts/decidim/_js_configuration.html.erb +3 -1
  118. data/app/views/layouts/decidim/footer/_main_links.html.erb +1 -1
  119. data/app/views/layouts/decidim/footer/_main_social_media_links.html.erb +5 -5
  120. data/app/views/layouts/decidim/footer/_mini.html.erb +2 -2
  121. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
  122. data/config/assets.rb +1 -0
  123. data/config/locales/ar.yml +63 -7
  124. data/config/locales/bg.yml +32 -2
  125. data/config/locales/ca.yml +29 -24
  126. data/config/locales/cs.yml +6 -2
  127. data/config/locales/de.yml +41 -36
  128. data/config/locales/el.yml +3 -6
  129. data/config/locales/en.yml +7 -2
  130. data/config/locales/es-MX.yml +9 -4
  131. data/config/locales/es-PY.yml +9 -4
  132. data/config/locales/es.yml +27 -22
  133. data/config/locales/eu.yml +30 -16
  134. data/config/locales/fi-plain.yml +8 -3
  135. data/config/locales/fi.yml +10 -5
  136. data/config/locales/fr-CA.yml +12 -7
  137. data/config/locales/fr.yml +12 -7
  138. data/config/locales/ga-IE.yml +1 -0
  139. data/config/locales/gl.yml +4 -2
  140. data/config/locales/he-IL.yml +1 -0
  141. data/config/locales/hu.yml +264 -7
  142. data/config/locales/id-ID.yml +0 -2
  143. data/config/locales/it.yml +2 -5
  144. data/config/locales/ja.yml +21 -6
  145. data/config/locales/lb.yml +2 -5
  146. data/config/locales/lt.yml +0 -10
  147. data/config/locales/lv.yml +0 -2
  148. data/config/locales/nl.yml +1 -2
  149. data/config/locales/no.yml +2 -5
  150. data/config/locales/pl.yml +592 -1
  151. data/config/locales/pt-BR.yml +366 -17
  152. data/config/locales/pt.yml +2 -5
  153. data/config/locales/ro-RO.yml +2 -5
  154. data/config/locales/ru.yml +7 -2
  155. data/config/locales/sk.yml +0 -2
  156. data/config/locales/sv.yml +24 -5
  157. data/config/locales/tr-TR.yml +3 -5
  158. data/config/locales/uk.yml +12 -2
  159. data/config/locales/zh-CN.yml +0 -5
  160. data/config/locales/zh-TW.yml +2 -10
  161. data/decidim-core.gemspec +90 -0
  162. data/lib/decidim/asset_router/storage.rb +2 -0
  163. data/lib/decidim/attribute_encryptor.rb +6 -4
  164. data/lib/decidim/attributes/time_with_zone.rb +1 -1
  165. data/lib/decidim/core/engine.rb +7 -6
  166. data/lib/decidim/core/seeds.rb +36 -32
  167. data/lib/decidim/core/test/factories.rb +296 -89
  168. data/lib/decidim/core/test/shared_examples/amendable/amendment_created_event_examples.rb +6 -26
  169. data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +8 -26
  170. data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +8 -6
  171. data/lib/decidim/core/test/shared_examples/has_attachments.rb +8 -8
  172. data/lib/decidim/core/test/shared_examples/has_category.rb +27 -0
  173. data/lib/decidim/core/test/shared_examples/has_reference.rb +1 -1
  174. data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +1 -1
  175. data/lib/decidim/core/test/shared_examples/map_examples.rb +3 -0
  176. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +5 -2
  177. data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +134 -0
  178. data/lib/decidim/core/test/shared_examples/simple_event.rb +18 -2
  179. data/lib/decidim/core/test.rb +1 -0
  180. data/lib/decidim/core/version.rb +1 -1
  181. data/lib/decidim/core.rb +1 -0
  182. data/lib/decidim/engine_router.rb +17 -4
  183. data/lib/decidim/events/base_event.rb +3 -3
  184. data/lib/decidim/events/simple_event.rb +3 -17
  185. data/lib/decidim/form_builder.rb +8 -2
  186. data/lib/decidim/has_category.rb +1 -1
  187. data/lib/decidim/has_conversations.rb +91 -0
  188. data/lib/decidim/participable.rb +17 -0
  189. data/lib/decidim/upgrade/wysiwyg_migrator.rb +7 -0
  190. data/lib/decidim/view_model.rb +1 -0
  191. data/lib/decidim/webpacker/webpack/.modernizrrc +9 -0
  192. data/lib/premailer/adapter/decidim.rb +5 -4
  193. data/lib/tasks/decidim_reminders_tasks.rake +1 -0
  194. data/lib/tasks/upgrade/decidim_fix_categorization.rake +15 -0
  195. metadata +29 -32
  196. data/app/views/decidim/searches/index.js.erb +0 -7
  197. data/config/brakeman.ignore +0 -37
  198. data/config/environment.rb +0 -3
@@ -79,7 +79,7 @@ module Decidim
79
79
  tabs_content = content_tag(:div, class: "tabs-content", data: { tabs_content: tabs_id }) do
80
80
  locales.each_with_index.inject("".html_safe) do |string, (locale, index)|
81
81
  tab_content_id = "#{tabs_id}-#{name}-panel-#{index}"
82
- string + content_tag(:div, class: tab_element_class_for("panel", index), id: tab_content_id) do
82
+ string + content_tag(:div, class: tab_element_class_for("panel", index), id: tab_content_id, "aria-hidden": tab_attr_aria_hidden_for(index)) do
83
83
  if hashtaggable
84
84
  hashtaggable_text_field(type, name, locale, options.merge(label: false))
85
85
  elsif type.to_sym == :editor
@@ -164,7 +164,7 @@ module Decidim
164
164
  tabs_content = content_tag(:div, class: "tabs-content", data: { tabs_content: tabs_id }) do
165
165
  handlers.each_with_index.inject("".html_safe) do |string, (handler, index)|
166
166
  tab_content_id = sanitize_tabs_selector "#{tabs_id}-#{name}-panel-#{index}"
167
- string + content_tag(:div, class: tab_element_class_for("panel", index), id: tab_content_id) do
167
+ string + content_tag(:div, class: tab_element_class_for("panel", index), id: tab_content_id, "aria-hidden": tab_attr_aria_hidden_for(index)) do
168
168
  send(type, "#{handler}_handler", options.merge(label: false))
169
169
  end
170
170
  end
@@ -746,6 +746,12 @@ module Decidim
746
746
  element_class
747
747
  end
748
748
 
749
+ def tab_attr_aria_hidden_for(index)
750
+ return "false" if index.zero?
751
+
752
+ "true"
753
+ end
754
+
749
755
  def locales
750
756
  @locales ||= if @template.respond_to?(:available_locales)
751
757
  Set.new([@template.current_locale] + @template.available_locales).to_a
@@ -8,7 +8,7 @@ module Decidim
8
8
  extend ActiveSupport::Concern
9
9
 
10
10
  included do
11
- has_one :categorization, as: :categorizable
11
+ has_one :categorization, as: :categorizable, class_name: "Decidim::Categorization", dependent: :destroy
12
12
  has_one :category, through: :categorization
13
13
 
14
14
  scope :with_category, lambda { |category|
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "active_support/concern"
4
+
5
+ module Decidim
6
+ module HasConversations
7
+ extend ActiveSupport::Concern
8
+
9
+ included do
10
+ def new_conversation(originator, user, conversation)
11
+ send_notification(
12
+ from: originator,
13
+ to: user,
14
+ conversation:,
15
+ message: conversation.messages.first.body,
16
+ action: "new_conversation"
17
+ )
18
+ end
19
+
20
+ def new_group_conversation(originator, manager, conversation, group)
21
+ send_notification(
22
+ from: originator,
23
+ to: manager,
24
+ conversation:,
25
+ message: conversation.messages.first.body,
26
+ action: "new_group_conversation",
27
+ third_party: group
28
+ )
29
+ end
30
+
31
+ def comanagers_new_conversation(group, user, conversation, manager)
32
+ send_notification(
33
+ from: group,
34
+ to: user,
35
+ conversation:,
36
+ message: conversation.messages.first.body,
37
+ action: "comanagers_new_conversation",
38
+ third_party: manager
39
+ )
40
+ end
41
+
42
+ def new_message(sender, user, conversation, message)
43
+ send_notification(
44
+ from: sender,
45
+ to: user,
46
+ conversation:,
47
+ message: message.body,
48
+ action: "new_message"
49
+ )
50
+ end
51
+
52
+ def new_group_message(sender, user, conversation, message, group)
53
+ send_notification(
54
+ from: sender,
55
+ to: user,
56
+ conversation:,
57
+ message: message.body,
58
+ action: "new_group_message",
59
+ third_party: group
60
+ )
61
+ end
62
+
63
+ def comanagers_new_message(sender, user, conversation, message, manager)
64
+ send_notification(
65
+ from: sender,
66
+ to: user,
67
+ conversation:,
68
+ message: message.body,
69
+ action: "comanagers_new_message",
70
+ third_party: manager
71
+ )
72
+ end
73
+
74
+ private
75
+
76
+ def get_subject(action:, sender:, third_party:)
77
+ I18n.t(
78
+ "conversation_mailer.#{action}.subject",
79
+ scope: "decidim.messaging",
80
+ sender: sender.name,
81
+ manager: third_party&.name,
82
+ group: third_party&.name
83
+ )
84
+ end
85
+
86
+ def send_notification
87
+ raise NotImplementedError, "You must define a send_notification method"
88
+ end
89
+ end
90
+ end
91
+ end
@@ -12,6 +12,23 @@ module Decidim
12
12
  :mounted_engine, :mounted_admin_engine, :admin_extension_module, :admins_query,
13
13
  to: :class
14
14
 
15
+ def skip_space_slug?(method_name)
16
+ [
17
+ "edit_#{underscored_name}_path".to_sym,
18
+ "edit_#{underscored_name}_url".to_sym,
19
+ "new_#{underscored_name}_path".to_sym,
20
+ "new_#{underscored_name}_url".to_sym,
21
+ "#{underscored_name}_path".to_sym,
22
+ "#{underscored_name}_url".to_sym,
23
+ "#{underscored_name.pluralize}_path".to_sym,
24
+ "#{underscored_name.pluralize}_url".to_sym
25
+ ].include?(method_name)
26
+ end
27
+
28
+ def slug_param_name
29
+ "#{underscored_name}_slug".to_sym
30
+ end
31
+
15
32
  def mounted_params
16
33
  {
17
34
  host: organization.host,
@@ -258,6 +258,9 @@ module Decidim
258
258
  parent
259
259
  end
260
260
 
261
+ # rubocop: disable Metrics/CyclomaticComplexity
262
+ # rubocop: disable Metrics/PerceivedComplexity
263
+
261
264
  # Quill.js did not support multi-level lists which is why it used a CSS
262
265
  # hack to make it visually look like the list has multiple levels. This
263
266
  # is not semantically correct but for users with no visual impairments it
@@ -321,6 +324,8 @@ module Decidim
321
324
  current_parent = parent
322
325
  current_level = 0
323
326
  list.children.each do |item|
327
+ next unless item.is_a?(Nokogiri::XML::Element) && item.name == "li"
328
+
324
329
  indent = detect_indent(item)
325
330
  if indent == current_level || li.nil?
326
331
  if item.child.name == "p"
@@ -356,6 +361,8 @@ module Decidim
356
361
 
357
362
  parent
358
363
  end
364
+ # rubocop: enable Metrics/CyclomaticComplexity
365
+ # rubocop: enable Metrics/PerceivedComplexity
359
366
 
360
367
  # Converts iframe embeds to the new format. We assume all iframes are
361
368
  # video embeds as this the only type of embed what Quill.js supported and
@@ -16,6 +16,7 @@ module Decidim
16
16
  include Cell::Caching::Notifications
17
17
  include Decidim::MarkupHelper
18
18
  include Decidim::LayoutHelper
19
+ include Decidim::SanitizeHelper
19
20
 
20
21
  delegate :current_organization, to: :controller
21
22
 
@@ -0,0 +1,9 @@
1
+ {
2
+ "minify": true,
3
+ "options": [
4
+ "setClasses"
5
+ ],
6
+ "feature-detects": [
7
+ "css/transitions"
8
+ ]
9
+ }
@@ -16,15 +16,16 @@ class Premailer
16
16
  # @return [String] a plain text.
17
17
  def to_plain_text
18
18
  html_src = begin
19
+ @doc.css("style").remove
19
20
  @doc.at("body").inner_html
20
21
  rescue StandardError
21
22
  ""
22
23
  end
23
24
 
24
- html_src = @doc.to_html unless html_src && html_src.present?
25
-
26
- # remove style tags and content
27
- html_src.gsub!(%r{<style.*?/style>}m, "")
25
+ unless html_src && html_src.present?
26
+ @doc.css("style").remove
27
+ html_src = @doc.to_html
28
+ end
28
29
 
29
30
  convert_to_text(html_src, @options[:line_length], @html_encoding)
30
31
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  namespace :decidim do
4
4
  namespace :reminders do
5
+ desc "Sends all the email reminders defined in the manifests"
5
6
  task :all, [] => :environment do
6
7
  Decidim.reminders_registry.all.each do |reminder_manifest|
7
8
  call_reminder_job(reminder_manifest)
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :upgrade do
5
+ desc "Remove orphan categorizations"
6
+ task fix_orphan_categorizations: :environment do
7
+ logger = Logger.new($stdout)
8
+ logger.info("Removing orphan categorizations...")
9
+
10
+ Decidim::Categorization.find_each do |categorization|
11
+ categorization.destroy if categorization.categorizable.nil?
12
+ end
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0.rc5
4
+ version: 0.28.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-12-18 00:00:00.000000000 Z
13
+ date: 2024-04-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -390,20 +390,6 @@ dependencies:
390
390
  - - "~>"
391
391
  - !ruby/object:Gem::Version
392
392
  version: '4.9'
393
- - !ruby/object:Gem::Dependency
394
- name: mustache
395
- requirement: !ruby/object:Gem::Requirement
396
- requirements:
397
- - - "~>"
398
- - !ruby/object:Gem::Version
399
- version: 1.1.0
400
- type: :runtime
401
- prerelease: false
402
- version_requirements: !ruby/object:Gem::Requirement
403
- requirements:
404
- - - "~>"
405
- - !ruby/object:Gem::Version
406
- version: 1.1.0
407
393
  - !ruby/object:Gem::Dependency
408
394
  name: net-smtp
409
395
  requirement: !ruby/object:Gem::Requirement
@@ -778,28 +764,28 @@ dependencies:
778
764
  requirements:
779
765
  - - '='
780
766
  - !ruby/object:Gem::Version
781
- version: 0.28.0.rc5
782
- type: :runtime
767
+ version: 0.28.1
768
+ type: :development
783
769
  prerelease: false
784
770
  version_requirements: !ruby/object:Gem::Requirement
785
771
  requirements:
786
772
  - - '='
787
773
  - !ruby/object:Gem::Version
788
- version: 0.28.0.rc5
774
+ version: 0.28.1
789
775
  - !ruby/object:Gem::Dependency
790
776
  name: decidim-dev
791
777
  requirement: !ruby/object:Gem::Requirement
792
778
  requirements:
793
779
  - - '='
794
780
  - !ruby/object:Gem::Version
795
- version: 0.28.0.rc5
781
+ version: 0.28.1
796
782
  type: :development
797
783
  prerelease: false
798
784
  version_requirements: !ruby/object:Gem::Requirement
799
785
  requirements:
800
786
  - - '='
801
787
  - !ruby/object:Gem::Version
802
- version: 0.28.0.rc5
788
+ version: 0.28.1
803
789
  description: Adds core features so other engines can hook into the framework.
804
790
  email:
805
791
  - josepjaume@gmail.com
@@ -931,6 +917,8 @@ files:
931
917
  - app/cells/decidim/content_blocks/participatory_space_extra_data_cell.rb
932
918
  - app/cells/decidim/content_blocks/participatory_space_hero/show.erb
933
919
  - app/cells/decidim/content_blocks/participatory_space_hero_cell.rb
920
+ - app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb
921
+ - app/cells/decidim/content_blocks/participatory_space_hero_settings_form_cell.rb
934
922
  - app/cells/decidim/content_blocks/participatory_space_images/content.erb
935
923
  - app/cells/decidim/content_blocks/participatory_space_images_cell.rb
936
924
  - app/cells/decidim/content_blocks/participatory_space_last_activity/content.erb
@@ -1185,6 +1173,7 @@ files:
1185
1173
  - app/commands/decidim/validate_upload.rb
1186
1174
  - app/constraints/decidim/current_component.rb
1187
1175
  - app/controllers/concerns/decidim/amendments_controller.rb
1176
+ - app/controllers/concerns/decidim/devise_authentication_methods.rb
1188
1177
  - app/controllers/concerns/decidim/devise_controllers.rb
1189
1178
  - app/controllers/concerns/decidim/disable_redirection_to_external_host.rb
1190
1179
  - app/controllers/concerns/decidim/filter_resource.rb
@@ -1462,6 +1451,7 @@ files:
1462
1451
  - app/models/decidim/participatory_space_role_config/participatory_space_admin.rb
1463
1452
  - app/models/decidim/participatory_space_role_config/valuator.rb
1464
1453
  - app/models/decidim/permission_action.rb
1454
+ - app/models/decidim/push_notification_message.rb
1465
1455
  - app/models/decidim/reminder.rb
1466
1456
  - app/models/decidim/reminder_delivery.rb
1467
1457
  - app/models/decidim/reminder_record.rb
@@ -1494,6 +1484,7 @@ files:
1494
1484
  - app/packs/entrypoints/decidim_map.scss
1495
1485
  - app/packs/entrypoints/decidim_map_provider_default.js
1496
1486
  - app/packs/entrypoints/decidim_map_provider_here.js
1487
+ - app/packs/entrypoints/decidim_overrides.scss
1497
1488
  - app/packs/entrypoints/decidim_sw.js
1498
1489
  - app/packs/entrypoints/decidim_widget.js
1499
1490
  - app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-600.eot
@@ -1511,6 +1502,7 @@ files:
1511
1502
  - app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.ttf
1512
1503
  - app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.woff
1513
1504
  - app/packs/fonts/decidim/source-sans-pro-v21-cyrillic_cyrillic-ext_greek_greek-ext_latin_latin-ext_vietnamese-regular.woff2
1505
+ - app/packs/images/decidim/.keep
1514
1506
  - app/packs/images/decidim/avatar-multiuser.png
1515
1507
  - app/packs/images/decidim/brands/google.svg
1516
1508
  - app/packs/images/decidim/cc-badge.png
@@ -1879,6 +1871,7 @@ files:
1879
1871
  - app/services/decidim/notifications_digest_sending_decider.rb
1880
1872
  - app/services/decidim/notifications_subscriptions_persistor.rb
1881
1873
  - app/services/decidim/open_data_exporter.rb
1874
+ - app/services/decidim/push_notification_message_sender.rb
1882
1875
  - app/services/decidim/resource_search.rb
1883
1876
  - app/services/decidim/send_push_notification.rb
1884
1877
  - app/services/decidim/settings_change.rb
@@ -1889,6 +1882,7 @@ files:
1889
1882
  - app/uploaders/decidim/application_uploader.rb
1890
1883
  - app/uploaders/decidim/attachment_uploader.rb
1891
1884
  - app/uploaders/decidim/avatar_uploader.rb
1885
+ - app/uploaders/decidim/background_image_uploader.rb
1892
1886
  - app/uploaders/decidim/banner_image_uploader.rb
1893
1887
  - app/uploaders/decidim/cw/application_uploader.rb
1894
1888
  - app/uploaders/decidim/cw/attachment_uploader.rb
@@ -2032,7 +2026,6 @@ files:
2032
2026
  - app/views/decidim/searches/_filters.html.erb
2033
2027
  - app/views/decidim/searches/_resources_filter_block.html.erb
2034
2028
  - app/views/decidim/searches/index.html.erb
2035
- - app/views/decidim/searches/index.js.erb
2036
2029
  - app/views/decidim/shared/_authorization_modal.html.erb
2037
2030
  - app/views/decidim/shared/_comments.html.erb
2038
2031
  - app/views/decidim/shared/_component_announcement.html.erb
@@ -2130,8 +2123,6 @@ files:
2130
2123
  - app/views/layouts/decidim/shared/_linked_resource.html.erb
2131
2124
  - app/views/layouts/decidim/user_profile.html.erb
2132
2125
  - config/assets.rb
2133
- - config/brakeman.ignore
2134
- - config/environment.rb
2135
2126
  - config/initializers/active_support.rb
2136
2127
  - config/initializers/browser.rb
2137
2128
  - config/initializers/carrierwave.rb
@@ -2172,6 +2163,7 @@ files:
2172
2163
  - config/locales/ga-IE.yml
2173
2164
  - config/locales/gl.yml
2174
2165
  - config/locales/gn-PY.yml
2166
+ - config/locales/he-IL.yml
2175
2167
  - config/locales/hr-HR.yml
2176
2168
  - config/locales/hr.yml
2177
2169
  - config/locales/hu.yml
@@ -2441,6 +2433,7 @@ files:
2441
2433
  - db/seeds/city2.jpeg
2442
2434
  - db/seeds/homepage_image.jpg
2443
2435
  - db/seeds/logo.png
2436
+ - decidim-core.gemspec
2444
2437
  - lib/decidim/action_authorization.rb
2445
2438
  - lib/decidim/acts_as_author.rb
2446
2439
  - lib/decidim/acts_as_tree.rb
@@ -2659,6 +2652,7 @@ files:
2659
2652
  - lib/decidim/core/test/shared_examples/reportable.rb
2660
2653
  - lib/decidim/core/test/shared_examples/reports_examples.rb
2661
2654
  - lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb
2655
+ - lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb
2662
2656
  - lib/decidim/core/test/shared_examples/resource_search_examples.rb
2663
2657
  - lib/decidim/core/test/shared_examples/resourceable.rb
2664
2658
  - lib/decidim/core/test/shared_examples/rich_text_editor_examples.rb
@@ -2743,6 +2737,7 @@ files:
2743
2737
  - lib/decidim/has_attachments.rb
2744
2738
  - lib/decidim/has_category.rb
2745
2739
  - lib/decidim/has_component.rb
2740
+ - lib/decidim/has_conversations.rb
2746
2741
  - lib/decidim/has_private_users.rb
2747
2742
  - lib/decidim/has_reference.rb
2748
2743
  - lib/decidim/has_resource_permission.rb
@@ -2836,6 +2831,7 @@ files:
2836
2831
  - lib/decidim/webpacker/postcss.config.js
2837
2832
  - lib/decidim/webpacker/runner.rb
2838
2833
  - lib/decidim/webpacker/shakapacker.yml
2834
+ - lib/decidim/webpacker/webpack/.modernizrrc
2839
2835
  - lib/decidim/webpacker/webpack/custom.js
2840
2836
  - lib/decidim/webpacker/webpack/webpack.config.js
2841
2837
  - lib/devise/models/decidim_newsletterable.rb
@@ -2857,6 +2853,7 @@ files:
2857
2853
  - lib/tasks/decidim_tasks.rake
2858
2854
  - lib/tasks/decidim_webpacker_tasks.rake
2859
2855
  - lib/tasks/upgrade/decidim_deduplicate_endorsements.rake
2856
+ - lib/tasks/upgrade/decidim_fix_categorization.rake
2860
2857
  - lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake
2861
2858
  - lib/tasks/upgrade/decidim_fix_short_url_resolver.rake
2862
2859
  - lib/tasks/upgrade/decidim_migrate_wysiwyg_content.rake
@@ -2871,23 +2868,23 @@ metadata:
2871
2868
  funding_uri: https://opencollective.com/decidim
2872
2869
  homepage_uri: https://decidim.org
2873
2870
  source_code_uri: https://github.com/decidim/decidim
2874
- post_install_message:
2871
+ post_install_message:
2875
2872
  rdoc_options: []
2876
2873
  require_paths:
2877
2874
  - lib
2878
2875
  required_ruby_version: !ruby/object:Gem::Requirement
2879
2876
  requirements:
2880
- - - ">="
2877
+ - - "~>"
2881
2878
  - !ruby/object:Gem::Version
2882
- version: '3.1'
2879
+ version: 3.1.0
2883
2880
  required_rubygems_version: !ruby/object:Gem::Requirement
2884
2881
  requirements:
2885
- - - ">"
2882
+ - - ">="
2886
2883
  - !ruby/object:Gem::Version
2887
- version: 1.3.1
2884
+ version: '0'
2888
2885
  requirements: []
2889
- rubygems_version: 3.4.22
2890
- signing_key:
2886
+ rubygems_version: 3.5.9
2887
+ signing_key:
2891
2888
  specification_version: 4
2892
2889
  summary: The core of the Decidim framework.
2893
2890
  test_files: []
@@ -1,7 +0,0 @@
1
- var $results = $('#results');
2
- var $filters = $('.search-filters');
3
- var $count = $('#search-count');
4
-
5
- $results.html('<%= j(cell("decidim/search_results", @sections, params:).show).strip.html_safe %>');
6
- $filters.html('<%= j(render partial: "filters").strip.html_safe %>');
7
- $count.html('<%= j(render partial: "count").strip.html_safe %>');
@@ -1,37 +0,0 @@
1
- {
2
- "ignored_warnings": [
3
- {
4
- "warning_type": "Cross-Site Scripting",
5
- "warning_code": 2,
6
- "fingerprint": "20249ac77f857a72a49d1e920e4cb6a8b08d133506cbc9d40fe1ec8ee5f5e7a3",
7
- "check_name": "CrossSiteScripting",
8
- "message": "Unescaped parameter value",
9
- "file": "app/views/decidim/searches/index.js.erb",
10
- "line": 5,
11
- "link": "https://brakemanscanner.org/docs/warning_types/cross_site_scripting",
12
- "code": "j(cell(\"decidim/search_results\", @sections, :params => params).show).strip",
13
- "render_path": [
14
- {
15
- "type": "controller",
16
- "class": "Decidim::SearchesController",
17
- "method": "index",
18
- "line": 15,
19
- "file": "app/controllers/decidim/searches_controller.rb",
20
- "rendered": {
21
- "name": "decidim/searches/index",
22
- "file": "app/views/decidim/searches/index.js.erb"
23
- }
24
- }
25
- ],
26
- "location": {
27
- "type": "template",
28
- "template": "decidim/searches/index"
29
- },
30
- "user_input": "params",
31
- "confidence": "Weak",
32
- "note": ""
33
- }
34
- ],
35
- "updated": "2023-04-11 11:04:58 +0000",
36
- "brakeman_version": "5.2.3"
37
- }
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Empty line for playing nice with tpope/vim-rails