decidim-core 0.27.3 → 0.27.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/activities_cell.rb +1 -7
  3. data/app/cells/decidim/collapsible_list/show.erb +1 -1
  4. data/app/cells/decidim/content_blocks/last_activity_cell.rb +1 -4
  5. data/app/cells/decidim/tags_cell.rb +13 -2
  6. data/app/cells/decidim/upload_modal/modal.erb +4 -1
  7. data/app/cells/decidim/upload_modal_cell.rb +8 -4
  8. data/app/cells/decidim/version_cell.rb +1 -1
  9. data/app/cells/decidim/versions_list_cell.rb +1 -1
  10. data/app/commands/decidim/create_omniauth_registration.rb +2 -2
  11. data/app/commands/decidim/endorse_resource.rb +2 -0
  12. data/app/commands/decidim/search.rb +1 -1
  13. data/app/commands/decidim/unendorse_resource.rb +1 -1
  14. data/app/controllers/concerns/decidim/force_authentication.rb +6 -2
  15. data/app/controllers/decidim/authorization_modals_controller.rb +1 -1
  16. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  17. data/app/controllers/decidim/last_activities_controller.rb +1 -7
  18. data/app/controllers/decidim/links_controller.rb +1 -1
  19. data/app/controllers/decidim/searches_controller.rb +1 -1
  20. data/app/controllers/decidim/short_links_controller.rb +1 -1
  21. data/app/controllers/decidim/user_timeline_controller.rb +1 -1
  22. data/app/forms/decidim/account_form.rb +1 -1
  23. data/app/forms/decidim/notifications_settings_form.rb +1 -9
  24. data/app/forms/decidim/registration_form.rb +1 -1
  25. data/app/forms/url_validator.rb +1 -1
  26. data/app/helpers/decidim/decidim_form_helper.rb +1 -0
  27. data/app/helpers/decidim/layout_helper.rb +4 -1
  28. data/app/helpers/decidim/omniauth_helper.rb +2 -0
  29. data/app/helpers/decidim/resource_helper.rb +2 -0
  30. data/app/helpers/decidim/short_link_helper.rb +1 -1
  31. data/app/jobs/decidim/download_your_data_export_job.rb +2 -1
  32. data/app/jobs/decidim/open_data_job.rb +2 -0
  33. data/app/models/decidim/organization.rb +6 -0
  34. data/app/models/decidim/user.rb +13 -3
  35. data/app/packs/images/decidim/icons.svg +1 -1
  36. data/app/packs/images/decidim/vendor/social-share-button/x.svg +6 -0
  37. data/app/packs/src/decidim/autocomplete.js +11 -2
  38. data/app/packs/src/decidim/data_picker.js +1 -0
  39. data/app/packs/src/decidim/direct_uploads/upload_field.js +6 -4
  40. data/app/packs/src/decidim/direct_uploads/upload_modal.js +10 -8
  41. data/app/packs/src/decidim/direct_uploads/uploader.js +4 -1
  42. data/app/packs/src/decidim/geocoding/attach_input.js +4 -1
  43. data/app/packs/src/decidim/geocoding/provider/here.js +17 -21
  44. data/app/packs/src/decidim/geocoding/provider/photon.js +1 -1
  45. data/app/packs/src/decidim/input_character_counter.js +1 -1
  46. data/app/packs/src/decidim/map/controller/drag_marker.js +0 -2
  47. data/app/packs/src/decidim/map/controller/markers.js +0 -1
  48. data/app/packs/src/decidim/map/controller/static.js +0 -1
  49. data/app/packs/src/decidim/map/controller.js +0 -2
  50. data/app/packs/src/decidim/map/factory.js +4 -1
  51. data/app/packs/src/decidim/map/icon.js +0 -1
  52. data/app/packs/src/decidim/map/legacy.js +0 -1
  53. data/app/packs/src/decidim/map/provider/default.js +2 -0
  54. data/app/packs/src/decidim/map/provider/here.js +2 -1
  55. data/app/packs/src/decidim/utilities/text.js +17 -0
  56. data/app/packs/stylesheets/decidim/_variables.scss +1 -1
  57. data/app/packs/stylesheets/decidim/vendor/_social_share_button.scss +4 -0
  58. data/app/queries/decidim/last_activity.rb +96 -0
  59. data/app/queries/decidim/metrics/users_metric_manage.rb +6 -6
  60. data/app/queries/decidim/public_activities.rb +5 -57
  61. data/app/services/decidim/email_notification_generator.rb +7 -1
  62. data/app/services/decidim/send_push_notification.rb +1 -1
  63. data/app/uploaders/decidim/application_uploader.rb +2 -0
  64. data/app/views/decidim/notifications_settings/show.html.erb +1 -1
  65. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +1 -1
  66. data/app/views/decidim/searches/_filters.html.erb +3 -1
  67. data/app/views/decidim/shared/_share_modal.html.erb +1 -1
  68. data/app/views/decidim/shared/participatory_space_filters/_filters.html.erb +1 -1
  69. data/app/views/layouts/decidim/_social_media_links.html.erb +2 -2
  70. data/config/environment.rb +3 -0
  71. data/config/locales/ar.yml +11 -17
  72. data/config/locales/bg.yml +8 -16
  73. data/config/locales/ca.yml +19 -14
  74. data/config/locales/cs.yml +31 -11
  75. data/config/locales/de.yml +113 -46
  76. data/config/locales/el.yml +157 -13
  77. data/config/locales/en.yml +6 -1
  78. data/config/locales/eo.yml +5 -3
  79. data/config/locales/es-MX.yml +16 -11
  80. data/config/locales/es-PY.yml +18 -13
  81. data/config/locales/es.yml +17 -12
  82. data/config/locales/eu.yml +494 -345
  83. data/config/locales/fi-plain.yml +29 -3
  84. data/config/locales/fi.yml +19 -14
  85. data/config/locales/fr-CA.yml +16 -11
  86. data/config/locales/fr.yml +17 -12
  87. data/config/locales/ga-IE.yml +9 -5
  88. data/config/locales/gl.yml +10 -20
  89. data/config/locales/hu.yml +46 -18
  90. data/config/locales/id-ID.yml +12 -19
  91. data/config/locales/is-IS.yml +7 -3
  92. data/config/locales/it.yml +14 -10
  93. data/config/locales/ja.yml +39 -21
  94. data/config/locales/kaa.yml +10 -0
  95. data/config/locales/lb.yml +16 -12
  96. data/config/locales/lt.yml +57 -9
  97. data/config/locales/lv.yml +8 -16
  98. data/config/locales/nl.yml +8 -8
  99. data/config/locales/no.yml +15 -11
  100. data/config/locales/pl.yml +24 -6
  101. data/config/locales/pt-BR.yml +164 -7
  102. data/config/locales/pt.yml +12 -8
  103. data/config/locales/ro-RO.yml +8 -7
  104. data/config/locales/ru.yml +6 -17
  105. data/config/locales/sk.yml +21 -19
  106. data/config/locales/sl.yml +0 -5
  107. data/config/locales/sq-AL.yml +1 -0
  108. data/config/locales/sr-CS.yml +8 -0
  109. data/config/locales/sv.yml +34 -16
  110. data/config/locales/th-TH.yml +1 -0
  111. data/config/locales/tr-TR.yml +21 -12
  112. data/config/locales/uk.yml +5 -14
  113. data/config/locales/zh-CN.yml +10 -7
  114. data/config/locales/zh-TW.yml +17 -9
  115. data/db/migrate/20181030090144_destroy_deleted_users_follows.rb +1 -1
  116. data/db/migrate/20181204110723_remove_following_users_count_from_users.rb +11 -2
  117. data/db/migrate/20181214101250_add_notification_types_to_users.rb +6 -1
  118. data/db/migrate/20190412131728_fix_user_names.rb +9 -2
  119. data/db/migrate/20200211173227_add_direct_message_types_to_users.rb +6 -1
  120. data/db/migrate/20210302150803_invalidate_all_sessions_for_deleted_users.rb +10 -3
  121. data/db/migrate/20210310120640_add_followable_counter_cache_to_users.rb +13 -3
  122. data/db/migrate/20231027142329_change_default_value_for_decidim_endorsements.rb +11 -0
  123. data/db/seeds.rb +5 -3
  124. data/lib/decidim/core/test/factories.rb +2 -1
  125. data/lib/decidim/core/test/shared_examples/comments_examples.rb +24 -0
  126. data/lib/decidim/core/test/shared_examples/errors.rb +2 -0
  127. data/lib/decidim/core/test/shared_examples/map_examples.rb +4 -1
  128. data/lib/decidim/core/version.rb +1 -1
  129. data/lib/decidim/core.rb +18 -1
  130. data/lib/decidim/endorsable.rb +1 -1
  131. data/lib/decidim/exporters.rb +10 -1
  132. data/lib/decidim/form_builder.rb +7 -13
  133. data/lib/decidim/has_category.rb +2 -2
  134. data/lib/tasks/upgrade/decidim_deduplicate_endorsements.rake +53 -0
  135. data/lib/tasks/upgrade/decidim_fix_short_url_resolver.rake +22 -0
  136. data/lib/tasks/upgrade/decidim_user_moderation.rake +14 -0
  137. metadata +22 -12
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :upgrade do
5
+ desc "Remove duplicated endorsements"
6
+ task fix_duplicate_endorsements: :environment do
7
+ logger = Logger.new($stdout)
8
+ logger.info("Removing duplicate endorsements...")
9
+ has_count = 0
10
+
11
+ columns = [:resource_type, :resource_id, :decidim_author_type, :decidim_author_id, :decidim_user_group_id]
12
+
13
+ get_duplicates(columns).each do |issue|
14
+ while row_count(issue) > 1
15
+ find_next(issue)&.destroy
16
+ has_count += 1
17
+ logger.info("Removed duplicate endorsement for #{issue.resource_type} #{issue.resource_id}")
18
+ end
19
+ end
20
+
21
+ logger.info("Patch remaining endorsements.")
22
+ Decidim::Endorsement.where(decidim_user_group_id: nil).update(decidim_user_group_id: 0)
23
+ logger.info("Process terminated, #{has_count} endorsements have been removed.")
24
+ logger.info("Done")
25
+ end
26
+
27
+ private
28
+
29
+ def get_duplicates(*columns)
30
+ Decidim::Endorsement.select("#{columns.join(",")}, COUNT(*)").group(columns).having("COUNT(*) > 1")
31
+ end
32
+
33
+ def row_count(issue)
34
+ Decidim::Endorsement.where(
35
+ resource_type: issue.resource_type,
36
+ resource_id: issue.resource_id,
37
+ decidim_author_type: issue.decidim_author_type,
38
+ decidim_author_id: issue.decidim_author_id,
39
+ decidim_user_group_id: issue.decidim_user_group_id
40
+ ).count
41
+ end
42
+
43
+ def find_next(issue)
44
+ Decidim::Endorsement.find_by(
45
+ resource_type: issue.resource_type,
46
+ resource_id: issue.resource_id,
47
+ decidim_author_type: issue.decidim_author_type,
48
+ decidim_author_id: issue.decidim_author_id,
49
+ decidim_user_group_id: issue.decidim_user_group_id
50
+ )
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :upgrade do
5
+ desc "Fix wrongly mapped short links components"
6
+ task fix_short_urls: :environment do
7
+ logger = Logger.new($stdout)
8
+ logger.info("Fixing wrongly mapped short links...")
9
+
10
+ Decidim::ShortLink.where(target_type: "Decidim::Component").find_each do |short_url|
11
+ real_component = Decidim::Component.find_by(id: short_url.target_id)
12
+
13
+ next if real_component.nil?
14
+ next if short_url.mounted_engine_name == real_component.mounted_engine
15
+
16
+ logger.info("Fixing #{short_url.identifier}: #{short_url.mounted_engine_name} to #{real_component.mounted_engine}")
17
+ short_url.update(mounted_engine_name: real_component.mounted_engine)
18
+ end
19
+ logger.info("Done fixing wrongly mapped short links.")
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :decidim do
4
+ namespace :upgrade do
5
+ namespace :moderation do
6
+ desc "Add all blocked users to global moderation panel"
7
+ task fix_blocked_user_panel: :environment do
8
+ Decidim::UserBlock.find_each do |blocked_user|
9
+ Decidim::UserModeration.where(user: blocked_user.user).first_or_create!
10
+ end
11
+ end
12
+ end
13
+ end
14
+ 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.27.3
4
+ version: 0.27.5
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-05-11 00:00:00.000000000 Z
13
+ date: 2023-12-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -324,14 +324,14 @@ dependencies:
324
324
  requirements:
325
325
  - - "~>"
326
326
  - !ruby/object:Gem::Version
327
- version: 2.3.1
327
+ version: 2.19.0
328
328
  type: :runtime
329
329
  prerelease: false
330
330
  version_requirements: !ruby/object:Gem::Requirement
331
331
  requirements:
332
332
  - - "~>"
333
333
  - !ruby/object:Gem::Version
334
- version: 2.3.1
334
+ version: 2.19.0
335
335
  - !ruby/object:Gem::Dependency
336
336
  name: mime-types
337
337
  requirement: !ruby/object:Gem::Requirement
@@ -740,28 +740,28 @@ dependencies:
740
740
  requirements:
741
741
  - - '='
742
742
  - !ruby/object:Gem::Version
743
- version: 0.27.3
743
+ version: 0.27.5
744
744
  type: :runtime
745
745
  prerelease: false
746
746
  version_requirements: !ruby/object:Gem::Requirement
747
747
  requirements:
748
748
  - - '='
749
749
  - !ruby/object:Gem::Version
750
- version: 0.27.3
750
+ version: 0.27.5
751
751
  - !ruby/object:Gem::Dependency
752
752
  name: decidim-dev
753
753
  requirement: !ruby/object:Gem::Requirement
754
754
  requirements:
755
755
  - - '='
756
756
  - !ruby/object:Gem::Version
757
- version: 0.27.3
757
+ version: 0.27.5
758
758
  type: :development
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.27.3
764
+ version: 0.27.5
765
765
  description: Adds core features so other engines can hook into the framework.
766
766
  email:
767
767
  - josepjaume@gmail.com
@@ -1395,6 +1395,7 @@ files:
1395
1395
  - app/packs/images/decidim/vendor/social-share-button/wechat.svg
1396
1396
  - app/packs/images/decidim/vendor/social-share-button/weibo.svg
1397
1397
  - app/packs/images/decidim/vendor/social-share-button/whatsapp.svg
1398
+ - app/packs/images/decidim/vendor/social-share-button/x.svg
1398
1399
  - app/packs/images/decidim/vendor/social-share-button/xing.svg
1399
1400
  - app/packs/src/decidim/account_form.js
1400
1401
  - app/packs/src/decidim/ajax_modals.js
@@ -1494,6 +1495,7 @@ files:
1494
1495
  - app/packs/src/decidim/sw/sw.js
1495
1496
  - app/packs/src/decidim/tooltip_keep_on_hover.js
1496
1497
  - app/packs/src/decidim/user_registrations.js
1498
+ - app/packs/src/decidim/utilities/text.js
1497
1499
  - app/packs/src/decidim/vendor/foundation-datepicker.js
1498
1500
  - app/packs/src/decidim/vendor/image-resize.min.js
1499
1501
  - app/packs/src/decidim/vendor/image-upload.min.js
@@ -1701,6 +1703,7 @@ files:
1701
1703
  - app/presenters/decidim/user_group_presenter.rb
1702
1704
  - app/presenters/decidim/user_presenter.rb
1703
1705
  - app/presenters/decidim/validation_errors_presenter.rb
1706
+ - app/queries/decidim/last_activity.rb
1704
1707
  - app/queries/decidim/messaging/user_conversations.rb
1705
1708
  - app/queries/decidim/metric_manage.rb
1706
1709
  - app/queries/decidim/metric_measure.rb
@@ -1997,6 +2000,7 @@ files:
1997
2000
  - app/views/layouts/decidim/widget.html.erb
1998
2001
  - config/assets.rb
1999
2002
  - config/brakeman.ignore
2003
+ - config/environment.rb
2000
2004
  - config/initializers/active_support.rb
2001
2005
  - config/initializers/browser.rb
2002
2006
  - config/initializers/carrierwave.rb
@@ -2071,9 +2075,11 @@ files:
2071
2075
  - config/locales/sk.yml
2072
2076
  - config/locales/sl.yml
2073
2077
  - config/locales/so-SO.yml
2078
+ - config/locales/sq-AL.yml
2074
2079
  - config/locales/sr-CS.yml
2075
2080
  - config/locales/sv.yml
2076
2081
  - config/locales/sw-KE.yml
2082
+ - config/locales/th-TH.yml
2077
2083
  - config/locales/ti-ER.yml
2078
2084
  - config/locales/tr-TR.yml
2079
2085
  - config/locales/uk.yml
@@ -2291,6 +2297,7 @@ files:
2291
2297
  - db/migrate/20220427142214_drop_emails_on_notifications_flag_from_user.rb
2292
2298
  - db/migrate/20220518094535_add_previous_passwords_to_users.rb
2293
2299
  - db/migrate/20220524195530_create_decidim_short_links.rb
2300
+ - db/migrate/20231027142329_change_default_value_for_decidim_endorsements.rb
2294
2301
  - db/seeds.rb
2295
2302
  - db/seeds/homepage_image.jpg
2296
2303
  - lib/decidim/action_authorization.rb
@@ -2683,13 +2690,16 @@ files:
2683
2690
  - lib/tasks/decidim_reminders_tasks.rake
2684
2691
  - lib/tasks/decidim_tasks.rake
2685
2692
  - lib/tasks/decidim_webpacker_tasks.rake
2693
+ - lib/tasks/upgrade/decidim_deduplicate_endorsements.rake
2686
2694
  - lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake
2695
+ - lib/tasks/upgrade/decidim_fix_short_url_resolver.rake
2687
2696
  - lib/tasks/upgrade/decidim_moderation_tasks.rake
2697
+ - lib/tasks/upgrade/decidim_user_moderation.rake
2688
2698
  homepage: https://github.com/decidim/decidim
2689
2699
  licenses:
2690
2700
  - AGPL-3.0
2691
2701
  metadata: {}
2692
- post_install_message:
2702
+ post_install_message:
2693
2703
  rdoc_options: []
2694
2704
  require_paths:
2695
2705
  - lib
@@ -2704,8 +2714,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2704
2714
  - !ruby/object:Gem::Version
2705
2715
  version: '0'
2706
2716
  requirements: []
2707
- rubygems_version: 3.2.22
2708
- signing_key:
2717
+ rubygems_version: 3.4.22
2718
+ signing_key:
2709
2719
  specification_version: 4
2710
2720
  summary: The core of the Decidim framework.
2711
2721
  test_files: []