decidim-core 0.26.0.rc1 → 0.26.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.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activity_cell.rb +3 -0
  3. data/app/cells/decidim/author_cell.rb +1 -0
  4. data/app/cells/decidim/card_m_cell.rb +1 -1
  5. data/app/cells/decidim/diff/diff_mode_dropdown.erb +13 -8
  6. data/app/cells/decidim/diff/diff_mode_html.erb +13 -8
  7. data/app/cells/decidim/diff/show.erb +5 -3
  8. data/app/cells/decidim/endorsement_buttons_cell.rb.2 +211 -0
  9. data/app/cells/decidim/endorsers_list/show.erb +1 -1
  10. data/app/cells/decidim/fingerprint/show.erb +1 -1
  11. data/app/cells/decidim/followers/show.erb +1 -1
  12. data/app/cells/decidim/following/show.erb +2 -2
  13. data/app/cells/decidim/groups/show.erb +1 -1
  14. data/app/cells/decidim/members/show.erb +1 -1
  15. data/app/cells/decidim/profile_sidebar/show.erb +1 -1
  16. data/app/cells/decidim/user_conversation/messages.erb +1 -1
  17. data/app/cells/decidim/user_conversation_cell.rb +4 -0
  18. data/app/cells/decidim/user_conversations/add_conversation_users.erb +1 -1
  19. data/app/cells/decidim/version_cell.rb +1 -1
  20. data/app/cells/decidim/versions_list_cell.rb +1 -1
  21. data/app/cells/decidim/versions_list_item/show.erb +2 -2
  22. data/app/commands/decidim/messaging/reply_to_conversation.rb +4 -1
  23. data/app/commands/decidim/unendorse_resource.rb +5 -4
  24. data/app/controllers/decidim/application_controller.rb +1 -0
  25. data/app/controllers/decidim/components/base_controller.rb +0 -1
  26. data/app/events/decidim/amendable/amendment_base_event.rb +1 -1
  27. data/app/forms/decidim/messaging/message_form.rb +1 -1
  28. data/app/helpers/decidim/endorsable_helper.rb +7 -6
  29. data/app/helpers/decidim/social_share_button_helper.rb +26 -0
  30. data/app/helpers/decidim/twitter_search_helper.rb +14 -0
  31. data/app/models/decidim/moderation.rb +3 -0
  32. data/app/models/decidim/user.rb +0 -9
  33. data/app/models/decidim/user_base_entity.rb +6 -0
  34. data/app/models/decidim/user_group.rb +0 -3
  35. data/app/packs/entrypoints/decidim_core.js +3 -0
  36. data/app/packs/src/decidim/back_to_list.js +26 -0
  37. data/app/packs/src/decidim/dialog_mode.js +11 -99
  38. data/app/packs/src/decidim/dialog_mode.test.js +17 -4
  39. data/app/packs/src/decidim/diff_mode_dropdown.js +3 -3
  40. data/app/packs/src/decidim/dropdowns_menus.js +1 -0
  41. data/app/packs/src/decidim/focus_guard.js +142 -0
  42. data/app/packs/src/decidim/form_filter.js +17 -1
  43. data/app/packs/src/decidim/form_remote.js +38 -0
  44. data/app/packs/src/decidim/index.js +15 -0
  45. data/app/packs/src/decidim/input_character_counter.js +4 -1
  46. data/app/packs/src/decidim/input_emoji.js +38 -6
  47. data/app/packs/src/decidim/input_multiple_mentions.js +19 -0
  48. data/app/packs/src/decidim/vendor/social-share-button.js +174 -0
  49. data/app/packs/stylesheets/decidim/extras/_quill.scss +1 -2
  50. data/app/packs/stylesheets/decidim/modules/_buttons.scss +2 -1
  51. data/app/packs/stylesheets/decidim/modules/_comments.scss +1 -0
  52. data/app/packs/stylesheets/decidim/modules/_forms.scss +6 -1
  53. data/app/packs/stylesheets/decidim/modules/_typography.scss +2 -0
  54. data/app/packs/stylesheets/decidim/utils/_settings.scss +1 -0
  55. data/app/packs/stylesheets/decidim/vendor/_social_share_button.scss +7 -1
  56. data/app/permissions/decidim/permissions.rb +9 -0
  57. data/app/presenters/decidim/menu_item_presenter.rb +9 -1
  58. data/app/views/decidim/account/show.html.erb +1 -1
  59. data/app/views/decidim/application/_collection.html.erb +2 -2
  60. data/app/views/decidim/endorsements/identities.html.erb +1 -1
  61. data/app/views/decidim/groups/new.html.erb +2 -0
  62. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +1 -1
  63. data/app/views/decidim/messaging/conversations/_conversation.html.erb +8 -2
  64. data/app/views/decidim/messaging/conversations/_reply.html.erb +1 -1
  65. data/app/views/decidim/messaging/conversations/_start.html.erb +1 -1
  66. data/app/views/decidim/messaging/conversations/create.js.erb +1 -0
  67. data/app/views/layouts/decidim/_language_chooser.html.erb +9 -2
  68. data/app/views/layouts/decidim/_logo.html.erb +1 -1
  69. data/config/initializers/devise.rb +7 -19
  70. data/config/locales/ar.yml +63 -0
  71. data/config/locales/ca.yml +46 -2
  72. data/config/locales/cs.yml +10 -2
  73. data/config/locales/de.yml +12 -1
  74. data/config/locales/en.yml +9 -0
  75. data/config/locales/es-MX.yml +47 -0
  76. data/config/locales/es-PY.yml +47 -0
  77. data/config/locales/es.yml +2 -0
  78. data/config/locales/eu.yml +6 -0
  79. data/config/locales/fi-plain.yml +48 -0
  80. data/config/locales/fi.yml +10 -0
  81. data/config/locales/fr-CA.yml +16 -0
  82. data/config/locales/fr.yml +41 -25
  83. data/config/locales/gl.yml +51 -0
  84. data/config/locales/hu.yml +111 -0
  85. data/config/locales/it.yml +1 -0
  86. data/config/locales/ja.yml +16 -5
  87. data/config/locales/nl.yml +0 -3
  88. data/config/locales/no.yml +225 -0
  89. data/config/locales/ro-RO.yml +14 -0
  90. data/config/locales/sv.yml +45 -3
  91. data/db/seeds.rb +2 -2
  92. data/lib/decidim/api/functions/user_entity_finder.rb +2 -1
  93. data/lib/decidim/api/functions/user_entity_list.rb +2 -1
  94. data/lib/decidim/content_renderers/link_renderer.rb +1 -1
  95. data/lib/decidim/core/engine.rb +43 -0
  96. data/lib/decidim/core/test/shared_examples/amendable/amendment_accepted_event_examples.rb +0 -1
  97. data/lib/decidim/core/test/shared_examples/amendable/amendment_created_event_examples.rb +0 -1
  98. data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +0 -1
  99. data/lib/decidim/core/test/shared_examples/amendable/amendment_rejected_event_examples.rb +0 -1
  100. data/lib/decidim/core/test/shared_examples/comments_examples.rb +27 -0
  101. data/lib/decidim/core/test/shared_examples/conversations_examples.rb +19 -0
  102. data/lib/decidim/core/test/shared_examples/endorsable.rb +69 -0
  103. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +34 -0
  104. data/lib/decidim/core/test.rb +2 -0
  105. data/lib/decidim/core/version.rb +1 -1
  106. data/lib/decidim/endorsable.rb +5 -1
  107. data/lib/decidim/map/autocomplete.rb +12 -5
  108. data/lib/decidim/middleware/rails_cookies.rb +23 -0
  109. data/lib/decidim/resourceable.rb +1 -0
  110. data/lib/decidim/searchable.rb +10 -4
  111. data/lib/decidim/social_share/service.rb +33 -0
  112. data/lib/decidim/social_share/service_registry.rb +63 -0
  113. data/lib/decidim/social_share.rb +45 -0
  114. data/lib/decidim/view_model.rb +0 -1
  115. data/lib/tasks/decidim_webpacker_tasks.rake +4 -10
  116. data/lib/tasks/upgrade/decidim_moderation_tasks.rake +32 -0
  117. metadata +22 -10
  118. data/app/helpers/decidim/filter_params_helper.rb +0 -30
  119. data/config/initializers/mail_previews.rb +0 -5
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module SocialShare
5
+ autoload :Service, "decidim/social_share/service"
6
+ autoload :ServiceRegistry, "decidim/social_share/service_registry"
7
+
8
+ # Semi-private: The ServiceRegistry to register global services to.
9
+ def self.service_registry
10
+ @service_registry ||= Decidim::SocialShare::ServiceRegistry.new
11
+ end
12
+
13
+ # Public: Returns all available services.
14
+ #
15
+ # Returns an Array<Service>
16
+ def self.services
17
+ service_registry.all
18
+ end
19
+
20
+ # Public: Finds a Service given a name.
21
+ #
22
+ # Returns a Service if found, nil otherwise.
23
+ def self.find_service(name)
24
+ service_registry.find(name)
25
+ end
26
+
27
+ # Public: Registers a new Service.
28
+ #
29
+ # Example:
30
+ #
31
+ # Decidim.register_service(:foo) do |service|
32
+ # service.levels = [1, 10, 50]
33
+ # end
34
+ #
35
+ # Returns nothing if registered successfully, raises an exception
36
+ # otherwise.
37
+ def self.register_service(name, &block)
38
+ service_registry.register(name, &block)
39
+ end
40
+
41
+ def self.enabled_services
42
+ services.select { |s| Decidim.config.social_share_services.include?(s.name) }
43
+ end
44
+ end
45
+ end
@@ -15,7 +15,6 @@ module Decidim
15
15
  include Decidim::ReplaceButtonsHelper
16
16
  include Cell::Caching::Notifications
17
17
  include Decidim::MarkupHelper
18
- include Decidim::FilterParamsHelper
19
18
  include ::Webpacker::Helper
20
19
 
21
20
  delegate :current_organization, to: :controller
@@ -8,8 +8,6 @@ namespace :decidim do
8
8
  task install: :environment do
9
9
  raise "Decidim gem is not installed" if decidim_path.nil?
10
10
 
11
- # Remove yarn.lock (because bin/rails webpacker:install has been executed)
12
- remove_file_from_application "yarn.lock"
13
11
  # Removing bin/yarn makes assets:precompile task to don't execute `yarn install`
14
12
  remove_file_from_application "bin/yarn"
15
13
  # Babel config
@@ -20,9 +18,6 @@ namespace :decidim do
20
18
  copy_file_to_application "decidim-core/lib/decidim/webpacker/webpacker.yml", "config/webpacker.yml"
21
19
  # Webpack JS config files
22
20
  copy_folder_to_application "decidim-core/lib/decidim/webpacker/webpack", "config"
23
- # Modify the webpack binstubs
24
- add_binstub_load_path "bin/webpack"
25
- add_binstub_load_path "bin/webpack-dev-server"
26
21
 
27
22
  # Install JS dependencies
28
23
  install_decidim_npm
@@ -33,15 +28,14 @@ namespace :decidim do
33
28
  @rails/actioncable
34
29
  @rails/activestorage
35
30
  @rails/ujs
36
- @rails/webpacker
37
31
  turbolinks
38
- webpack
39
- webpack-cli
40
- @webpack-cli/serve
41
- webpack-dev-server
42
32
  )
43
33
  system! "npm uninstall #{webpacker_packages.join(" ")}"
44
34
 
35
+ # Modify the webpack binstubs
36
+ add_binstub_load_path "bin/webpack"
37
+ add_binstub_load_path "bin/webpack-dev-server"
38
+
45
39
  # Add the Browserslist configuration to the project
46
40
  add_decidim_browserslist_configuration
47
41
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :upgrade do
5
+ namespace :moderation do
6
+ desc "Exclude all moderated content from search"
7
+ task remove_from_search: :environment do
8
+ query = Decidim::Moderation.hidden
9
+
10
+ log_info "Found #{query.count} hidden resources that needs to be handled"
11
+
12
+ query.find_each do |moderation|
13
+ moderation.reportable.remove_from_index(moderation.reportable)
14
+ rescue NameError => e
15
+ log_error "Could not process moderation id #{moderation.id} : #{e.message}"
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ def log_info(msg)
22
+ puts msg
23
+ Rails.logger.info(msg)
24
+ end
25
+
26
+ def log_error(msg)
27
+ puts msg
28
+ Rails.logger.error(msg)
29
+ end
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.26.0.rc1
4
+ version: 0.26.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2022-01-24 00:00:00.000000000 Z
13
+ date: 2022-03-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -754,28 +754,28 @@ dependencies:
754
754
  requirements:
755
755
  - - '='
756
756
  - !ruby/object:Gem::Version
757
- version: 0.26.0.rc1
757
+ version: 0.26.1
758
758
  type: :runtime
759
759
  prerelease: false
760
760
  version_requirements: !ruby/object:Gem::Requirement
761
761
  requirements:
762
762
  - - '='
763
763
  - !ruby/object:Gem::Version
764
- version: 0.26.0.rc1
764
+ version: 0.26.1
765
765
  - !ruby/object:Gem::Dependency
766
766
  name: decidim-dev
767
767
  requirement: !ruby/object:Gem::Requirement
768
768
  requirements:
769
769
  - - '='
770
770
  - !ruby/object:Gem::Version
771
- version: 0.26.0.rc1
771
+ version: 0.26.1
772
772
  type: :development
773
773
  prerelease: false
774
774
  version_requirements: !ruby/object:Gem::Requirement
775
775
  requirements:
776
776
  - - '='
777
777
  - !ruby/object:Gem::Version
778
- version: 0.26.0.rc1
778
+ version: 0.26.1
779
779
  description: Adds core features so other engines can hook into the framework.
780
780
  email:
781
781
  - josepjaume@gmail.com
@@ -886,6 +886,7 @@ files:
886
886
  - app/cells/decidim/endorsement_buttons/select_identity_button.erb
887
887
  - app/cells/decidim/endorsement_buttons/show.erb
888
888
  - app/cells/decidim/endorsement_buttons_cell.rb
889
+ - app/cells/decidim/endorsement_buttons_cell.rb.2
889
890
  - app/cells/decidim/endorsers_list/show.erb
890
891
  - app/cells/decidim/endorsers_list_cell.rb
891
892
  - app/cells/decidim/fingerprint/show.erb
@@ -1188,7 +1189,6 @@ files:
1188
1189
  - app/helpers/decidim/decidim_form_helper.rb
1189
1190
  - app/helpers/decidim/endorsable_helper.rb
1190
1191
  - app/helpers/decidim/external_domain_helper.rb
1191
- - app/helpers/decidim/filter_params_helper.rb
1192
1192
  - app/helpers/decidim/filters_helper.rb
1193
1193
  - app/helpers/decidim/followable_helper.rb
1194
1194
  - app/helpers/decidim/humanize_booleans_helper.rb
@@ -1215,9 +1215,11 @@ files:
1215
1215
  - app/helpers/decidim/sanitize_helper.rb
1216
1216
  - app/helpers/decidim/scopes_helper.rb
1217
1217
  - app/helpers/decidim/searches_helper.rb
1218
+ - app/helpers/decidim/social_share_button_helper.rb
1218
1219
  - app/helpers/decidim/tooltip_helper.rb
1219
1220
  - app/helpers/decidim/traceability_helper.rb
1220
1221
  - app/helpers/decidim/translations_helper.rb
1222
+ - app/helpers/decidim/twitter_search_helper.rb
1221
1223
  - app/helpers/decidim/user_group_helper.rb
1222
1224
  - app/helpers/decidim/user_profile_helper.rb
1223
1225
  - app/helpers/decidim/view_hooks_helper.rb
@@ -1382,6 +1384,7 @@ files:
1382
1384
  - app/packs/src/decidim/ajax_modals.js
1383
1385
  - app/packs/src/decidim/append_elements.js
1384
1386
  - app/packs/src/decidim/append_redirect_url_to_modals.js
1387
+ - app/packs/src/decidim/back_to_list.js
1385
1388
  - app/packs/src/decidim/callout.js
1386
1389
  - app/packs/src/decidim/check_boxes_tree.js
1387
1390
  - app/packs/src/decidim/clipboard.js
@@ -1406,11 +1409,13 @@ files:
1406
1409
  - app/packs/src/decidim/external_domain_warning.js
1407
1410
  - app/packs/src/decidim/external_link.js
1408
1411
  - app/packs/src/decidim/floating_help.js
1412
+ - app/packs/src/decidim/focus_guard.js
1409
1413
  - app/packs/src/decidim/form_attachments.js
1410
1414
  - app/packs/src/decidim/form_datepicker.js
1411
1415
  - app/packs/src/decidim/form_filter.component.test.js
1412
1416
  - app/packs/src/decidim/form_filter.component_for_testing.js
1413
1417
  - app/packs/src/decidim/form_filter.js
1418
+ - app/packs/src/decidim/form_remote.js
1414
1419
  - app/packs/src/decidim/form_validator.js
1415
1420
  - app/packs/src/decidim/foundation-datepicker/js/locales/foundation-datepicker.lb.js
1416
1421
  - app/packs/src/decidim/foundation_datepicker_locales.js
@@ -1461,6 +1466,7 @@ files:
1461
1466
  - app/packs/src/decidim/vendor/jquery-tmpl.js
1462
1467
  - app/packs/src/decidim/vendor/leaflet-tilelayer-here.js
1463
1468
  - app/packs/src/decidim/vendor/modernizr.js
1469
+ - app/packs/src/decidim/vendor/social-share-button.js
1464
1470
  - app/packs/src/decidim/vendor/tribute.js
1465
1471
  - app/packs/src/decidim/vizzs.js
1466
1472
  - app/packs/src/decidim/vizzs/areachart.js
@@ -1938,7 +1944,6 @@ files:
1938
1944
  - config/initializers/devise.rb
1939
1945
  - config/initializers/foundation_rails_helper.rb
1940
1946
  - config/initializers/invisible_captcha.rb
1941
- - config/initializers/mail_previews.rb
1942
1947
  - config/initializers/omniauth.rb
1943
1948
  - config/initializers/rack_attack.rb
1944
1949
  - config/locales/am-ET.yml
@@ -2350,9 +2355,11 @@ files:
2350
2355
  - lib/decidim/core/test/shared_examples/comments_reports_examples.rb
2351
2356
  - lib/decidim/core/test/shared_examples/component_type.rb
2352
2357
  - lib/decidim/core/test/shared_examples/controller_render_views.rb
2358
+ - lib/decidim/core/test/shared_examples/conversations_examples.rb
2353
2359
  - lib/decidim/core/test/shared_examples/counts_commentators_as_newsletter_participants.rb
2354
2360
  - lib/decidim/core/test/shared_examples/edit_link_shared_examples.rb
2355
2361
  - lib/decidim/core/test/shared_examples/embed_resource_examples.rb
2362
+ - lib/decidim/core/test/shared_examples/endorsable.rb
2356
2363
  - lib/decidim/core/test/shared_examples/endorsable_interface_examples.rb
2357
2364
  - lib/decidim/core/test/shared_examples/endorsements_controller_shared_context.rb
2358
2365
  - lib/decidim/core/test/shared_examples/errors.rb
@@ -2498,6 +2505,7 @@ files:
2498
2505
  - lib/decidim/metric_operation_manifest.rb
2499
2506
  - lib/decidim/metric_registry.rb
2500
2507
  - lib/decidim/middleware/current_organization.rb
2508
+ - lib/decidim/middleware/rails_cookies.rb
2501
2509
  - lib/decidim/middleware/strip_x_forwarded_host.rb
2502
2510
  - lib/decidim/newsletter_encryptor.rb
2503
2511
  - lib/decidim/newsletter_participant.rb
@@ -2526,6 +2534,9 @@ files:
2526
2534
  - lib/decidim/settings_manifest.rb
2527
2535
  - lib/decidim/shareable_with_token.rb
2528
2536
  - lib/decidim/snippets.rb
2537
+ - lib/decidim/social_share.rb
2538
+ - lib/decidim/social_share/service.rb
2539
+ - lib/decidim/social_share/service_registry.rb
2529
2540
  - lib/decidim/stats_registry.rb
2530
2541
  - lib/decidim/traceable.rb
2531
2542
  - lib/decidim/translatable_attributes.rb
@@ -2555,6 +2566,7 @@ files:
2555
2566
  - lib/tasks/decidim_open_data_tasks.rake
2556
2567
  - lib/tasks/decidim_tasks.rake
2557
2568
  - lib/tasks/decidim_webpacker_tasks.rake
2569
+ - lib/tasks/upgrade/decidim_moderation_tasks.rake
2558
2570
  homepage: https://github.com/decidim/decidim
2559
2571
  licenses:
2560
2572
  - AGPL-3.0
@@ -2570,9 +2582,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
2570
2582
  version: '2.7'
2571
2583
  required_rubygems_version: !ruby/object:Gem::Requirement
2572
2584
  requirements:
2573
- - - ">"
2585
+ - - ">="
2574
2586
  - !ruby/object:Gem::Version
2575
- version: 1.3.1
2587
+ version: '0'
2576
2588
  requirements: []
2577
2589
  rubygems_version: 3.1.6
2578
2590
  signing_key:
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- # A helper to allow only Decidim params to be added to a link.
5
- # This is useful when we want to preserve the params from a search, ordering
6
- # or paginating results. Using this, we can link back to where the user was
7
- # at the show page.
8
- module FilterParamsHelper
9
- # Public: Builds a hash to be added to a _path or _url method with only
10
- # allowed params.
11
- #
12
- # params - An optional Hash with the values of the params. It will try to
13
- # get them from the controller if none are present.
14
- #
15
- # Returns a Hash.
16
- def filter_link_params(params = nil)
17
- return {} if params.blank? && (!respond_to?(:controller) || !controller.respond_to?(:params))
18
-
19
- params = controller.params.to_unsafe_h if params.blank?
20
-
21
- params.stringify_keys.slice(
22
- "order",
23
- "filter",
24
- "page",
25
- "per_page",
26
- "locale"
27
- )
28
- end
29
- end
30
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- Rails.application.configure do
4
- config.action_mailer.preview_path = Decidim::Core::Engine.root.join("spec/mailers")
5
- end