decidim-core 0.32.1 → 0.32.2

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/content_blocks/participatory_space_main_data/title.erb +1 -14
  3. data/app/cells/decidim/following_cell.rb +1 -1
  4. data/app/cells/decidim/member/show.erb +1 -1
  5. data/app/cells/decidim/nav_links/show.erb +3 -1
  6. data/app/cells/decidim/share_text_widget/modal.erb +1 -0
  7. data/app/cells/decidim/share_widget/modal.erb +1 -0
  8. data/app/cells/decidim/share_widget/qr_code_modal.erb +2 -4
  9. data/app/commands/decidim/create_omniauth_registration.rb +17 -2
  10. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +4 -0
  11. data/app/controllers/concerns/decidim/devise_controllers.rb +2 -0
  12. data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +2 -0
  13. data/app/controllers/concerns/decidim/filter_resource.rb +2 -0
  14. data/app/controllers/concerns/decidim/impersonate_users.rb +2 -2
  15. data/app/controllers/concerns/decidim/locale_switcher.rb +12 -10
  16. data/app/controllers/concerns/decidim/needs_permission.rb +22 -10
  17. data/app/controllers/concerns/decidim/onboarding_action_methods.rb +2 -0
  18. data/app/controllers/concerns/decidim/paginable.rb +7 -3
  19. data/app/controllers/concerns/decidim/payload_info.rb +2 -0
  20. data/app/controllers/concerns/decidim/resource_versions_concern.rb +14 -0
  21. data/app/controllers/decidim/application_controller.rb +0 -6
  22. data/app/controllers/decidim/authorization_modals_controller.rb +2 -0
  23. data/app/controllers/decidim/components/base_controller.rb +2 -0
  24. data/app/controllers/decidim/devise/passwords_controller.rb +8 -0
  25. data/app/controllers/decidim/favicon_controller.rb +9 -0
  26. data/app/controllers/decidim/free_resource_authorization_modals_controller.rb +2 -0
  27. data/app/controllers/decidim/gamification/badges_controller.rb +2 -0
  28. data/app/controllers/decidim/homepage_controller.rb +4 -1
  29. data/app/controllers/decidim/likes_controller.rb +1 -1
  30. data/app/controllers/decidim/links_controller.rb +2 -0
  31. data/app/controllers/decidim/manifests_controller.rb +2 -0
  32. data/app/controllers/decidim/messaging/conversations_controller.rb +10 -4
  33. data/app/controllers/decidim/newsletters_controller.rb +4 -0
  34. data/app/controllers/decidim/notifications_subscriptions_controller.rb +4 -0
  35. data/app/controllers/decidim/offline_controller.rb +5 -1
  36. data/app/controllers/decidim/open_data_controller.rb +5 -1
  37. data/app/controllers/decidim/pages_controller.rb +31 -3
  38. data/app/controllers/decidim/private_downloads_controller.rb +2 -0
  39. data/app/controllers/decidim/profiles_controller.rb +19 -1
  40. data/app/controllers/decidim/qr_controller.rb +3 -1
  41. data/app/controllers/decidim/resource_autocomplete_controller.rb +2 -0
  42. data/app/controllers/decidim/searches_controller.rb +2 -0
  43. data/app/controllers/decidim/short_links_controller.rb +4 -0
  44. data/app/controllers/decidim/static_map_controller.rb +2 -0
  45. data/app/controllers/decidim/timeouts_controller.rb +4 -0
  46. data/app/controllers/decidim/tos_controller.rb +2 -0
  47. data/app/controllers/decidim/upload_validations_controller.rb +4 -2
  48. data/app/controllers/decidim/user_activities_controller.rb +3 -0
  49. data/app/forms/decidim/upload_validation_form.rb +16 -10
  50. data/app/helpers/concerns/decidim/user_role_checker.rb +35 -10
  51. data/app/helpers/decidim/decidim_form_helper.rb +1 -1
  52. data/app/helpers/decidim/sanitize_helper.rb +11 -1
  53. data/app/jobs/decidim/application_job.rb +4 -0
  54. data/app/models/decidim/authorization.rb +24 -0
  55. data/app/models/decidim/oauth_application.rb +1 -0
  56. data/app/models/decidim/user.rb +1 -0
  57. data/app/models/decidim/user_base_entity.rb +1 -1
  58. data/app/packs/src/decidim/callout.js +10 -0
  59. data/app/packs/src/decidim/callout.test.js +32 -0
  60. data/app/packs/src/decidim/controllers/accordion/accordion.test.js +64 -0
  61. data/app/packs/src/decidim/controllers/accordion/controller.js +43 -0
  62. data/app/packs/src/decidim/controllers/autofocus/controller.js +30 -0
  63. data/app/packs/src/decidim/controllers/language_change/controller.js +21 -8
  64. data/app/packs/src/decidim/controllers/language_change/language_change.test.js +0 -1
  65. data/app/packs/src/decidim/controllers/mention/controller.js +32 -3
  66. data/app/packs/src/decidim/controllers/mention/input_mentions.test.js +8 -5
  67. data/app/packs/src/decidim/controllers/multiple_mentions/input_multiple_mentions.test.js +1 -1
  68. data/app/packs/src/decidim/datepicker/datepicker_functions.js +41 -25
  69. data/app/packs/src/decidim/datepicker/generate_datepicker.js +4 -4
  70. data/app/packs/src/decidim/datepicker/test/datepicker_functions_adjust_picker_position.test.js +64 -0
  71. data/app/packs/src/decidim/datepicker/test/time.test.js +39 -24
  72. data/app/packs/src/decidim/editor/common/suggestion.js +32 -22
  73. data/app/packs/src/decidim/editor/extensions/mention/index.js +14 -3
  74. data/app/packs/src/decidim/editor/index.js +4 -0
  75. data/app/packs/src/decidim/editor/test/extensions/mention.test.js +32 -9
  76. data/app/packs/src/decidim/refactor/implementation/autofocus.js +22 -0
  77. data/app/packs/src/decidim/refactor/implementation/autofocus.test.js +171 -0
  78. data/app/packs/src/decidim/utilities/dom.js +2 -2
  79. data/app/packs/stylesheets/decidim/_content_blocks.scss +4 -10
  80. data/app/packs/stylesheets/decidim/_conversations.scss +0 -8
  81. data/app/packs/stylesheets/decidim/_modal.scss +16 -8
  82. data/app/packs/stylesheets/decidim/_modal_share.scss +0 -22
  83. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +11 -1
  84. data/app/packs/stylesheets/decidim/_rich_text.scss +12 -9
  85. data/app/packs/stylesheets/decidim/_typography.scss +5 -2
  86. data/app/packs/stylesheets/decidim/application.scss +1 -0
  87. data/app/packs/stylesheets/decidim/legacy/email.scss +0 -5
  88. data/app/permissions/decidim/permissions.rb +20 -0
  89. data/app/presenters/decidim/admin_log/component_presenter.rb +1 -1
  90. data/app/presenters/decidim/log/base_presenter.rb +10 -1
  91. data/app/presenters/decidim/log/user_presenter.rb +2 -2
  92. data/app/presenters/decidim/menu_item_presenter.rb +1 -5
  93. data/app/presenters/decidim/resource_presenter.rb +11 -0
  94. data/app/resolvers/decidim/meta_image_url_resolver.rb +7 -1
  95. data/app/serializers/decidim/exporters/open_data_blocked_user_serializer.rb +11 -2
  96. data/app/serializers/decidim/exporters/open_data_moderation_serializer.rb +25 -1
  97. data/app/services/decidim/svg_content_validator.rb +554 -0
  98. data/app/uploaders/decidim/application_uploader.rb +2 -2
  99. data/app/validators/uploader_image_content_validator.rb +276 -0
  100. data/app/views/decidim/application/_radio_accordion.html.erb +1 -5
  101. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +1 -1
  102. data/app/views/decidim/messaging/conversations/create.js.erb +1 -3
  103. data/app/views/decidim/shared/_login_modal.html.erb +12 -14
  104. data/app/views/layouts/decidim/_mailer_logo.html.erb +1 -1
  105. data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +3 -2
  106. data/config/initializers/rack_attack.rb +10 -0
  107. data/config/locales/bg.yml +0 -1
  108. data/config/locales/ca-IT.yml +3 -1
  109. data/config/locales/ca.yml +10 -6
  110. data/config/locales/cs.yml +15 -1
  111. data/config/locales/de.yml +99 -3
  112. data/config/locales/en.yml +5 -1
  113. data/config/locales/es-MX.yml +5 -1
  114. data/config/locales/es-PY.yml +5 -1
  115. data/config/locales/es.yml +9 -5
  116. data/config/locales/eu.yml +161 -160
  117. data/config/locales/fi-plain.yml +3 -1
  118. data/config/locales/fi.yml +3 -1
  119. data/config/locales/fr-CA.yml +5 -1
  120. data/config/locales/fr.yml +5 -1
  121. data/config/locales/gl.yml +1485 -33
  122. data/config/locales/hu.yml +0 -1
  123. data/config/locales/ja.yml +3 -1
  124. data/config/locales/pl.yml +0 -1
  125. data/config/locales/pt-BR.yml +0 -1
  126. data/config/locales/ro-RO.yml +0 -1
  127. data/config/locales/sk.yml +2 -1
  128. data/config/locales/sv.yml +68 -12
  129. data/config/locales/tr-TR.yml +0 -2
  130. data/config/routes.rb +11 -2
  131. data/db/migrate/20260909000000_add_failed_attempts_and_locked_at_to_decidim_authorizations.rb +8 -0
  132. data/decidim-core.gemspec +1 -1
  133. data/lib/decidim/api/functions/user_entity_list.rb +1 -0
  134. data/lib/decidim/api/types/user_moderation_type.rb +2 -2
  135. data/lib/decidim/content_parsers/user_parser.rb +1 -1
  136. data/lib/decidim/content_parsers.rb +0 -1
  137. data/lib/decidim/content_renderers/mention_resource_renderer.rb +18 -4
  138. data/lib/decidim/content_renderers/user_renderer.rb +15 -4
  139. data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +77 -0
  140. data/lib/decidim/core/test/shared_examples/participatory_space_members_shared_examples.rb +58 -0
  141. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +23 -1
  142. data/lib/decidim/core/version.rb +1 -1
  143. data/lib/decidim/core.rb +9 -0
  144. data/lib/decidim/form_builder.rb +9 -1
  145. data/lib/decidim/has_upload_validations.rb +1 -0
  146. data/lib/decidim/legacy_form_builder.rb +4 -0
  147. metadata +12 -7
  148. data/lib/decidim/content_parsers/inline_images_parser.rb +0 -68
  149. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +0 -79
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-core version.
5
5
  module Core
6
6
  def self.version
7
- "0.32.1"
7
+ "0.32.2"
8
8
  end
9
9
  end
10
10
  end
data/lib/decidim/core.rb CHANGED
@@ -447,6 +447,15 @@ module Decidim
447
447
  # Time window in which the throttling is applied.
448
448
  mattr_accessor :throttling_period, default: Decidim::Env.new("DECIDIM_THROTTLING_PERIOD", "1").to_i.minutes
449
449
 
450
+ # Max failed attempts for verification code confirmation before lockout.
451
+ mattr_accessor :verification_max_failed_attempts, default: Decidim::Env.new("DECIDIM_VERIFICATION_MAX_FAILED_ATTEMPTS", "5").to_i
452
+
453
+ # Time window after which a locked verification is automatically unlocked.
454
+ mattr_accessor :verification_unlock_in, default: Decidim::Env.new("DECIDIM_VERIFICATION_UNLOCK_IN", "30").to_i.minutes
455
+
456
+ # Time window (in minutes) after which a verification code expires (SMS only).
457
+ mattr_accessor :verification_code_expiry_minutes, default: Decidim::Env.new("DECIDIM_VERIFICATION_CODE_EXPIRY_MINUTES", "10").to_i
458
+
450
459
  # Time window were users can access the website even if their email is not confirmed.
451
460
  mattr_accessor :unconfirmed_access_for, default: Decidim::Env.new("DECIDIM_UNCONFIRMED_ACCESS_FOR", "0").to_i.days
452
461
 
@@ -886,12 +886,20 @@ module Decidim
886
886
  upload_dialog_selector: "##{upload_options[:modal_id]}"
887
887
  }.transform_keys { |key| key.to_s.camelize(:lower) }
888
888
 
889
- editor_options[:mention] = options.delete(:mentionable)
889
+ mentionable = options.delete(:mentionable)
890
+ editor_options[:mention] = mention_options(mentionable) if mentionable
890
891
  editor_options[:emoji] = options.delete(:emojiable)
891
892
 
892
893
  { editor: editor_options, upload: upload_options }
893
894
  end
894
895
 
896
+ def mention_options(mentionable)
897
+ mention_options = mentionable.is_a?(Hash) ? mentionable.dup : {}
898
+ mention_options[:searchPromptMessage] ||= I18n.t("decidim.shared.mentions.search_prompt")
899
+
900
+ mention_options
901
+ end
902
+
895
903
  # Private: creates an upload modal for the editor that we use to dynamically
896
904
  # upload the images to the editor.
897
905
  def editor_upload(editor_image, options = {})
@@ -15,6 +15,7 @@ module Decidim
15
15
  file_size: { less_than_or_equal_to: max_size },
16
16
  organization_present: true,
17
17
  uploader_content_type: true,
18
+ uploader_image_content: true,
18
19
  uploader_image_dimensions: true
19
20
  )
20
21
 
@@ -32,6 +32,10 @@ module Decidim
32
32
  options[:data][:controller] ||= ""
33
33
  options[:data][:controller] += " date-picker"
34
34
 
35
+ if (default_time = options.delete(:default_time))
36
+ options[:data][:default_time] = default_time
37
+ end
38
+
35
39
  field(attribute, options) do |opts|
36
40
  super(attribute, opts)
37
41
  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.32.1
4
+ version: 0.32.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -913,28 +913,28 @@ dependencies:
913
913
  requirements:
914
914
  - - '='
915
915
  - !ruby/object:Gem::Version
916
- version: 0.32.1
916
+ version: 0.32.2
917
917
  type: :development
918
918
  prerelease: false
919
919
  version_requirements: !ruby/object:Gem::Requirement
920
920
  requirements:
921
921
  - - '='
922
922
  - !ruby/object:Gem::Version
923
- version: 0.32.1
923
+ version: 0.32.2
924
924
  - !ruby/object:Gem::Dependency
925
925
  name: decidim-dev
926
926
  requirement: !ruby/object:Gem::Requirement
927
927
  requirements:
928
928
  - - '='
929
929
  - !ruby/object:Gem::Version
930
- version: 0.32.1
930
+ version: 0.32.2
931
931
  type: :development
932
932
  prerelease: false
933
933
  version_requirements: !ruby/object:Gem::Requirement
934
934
  requirements:
935
935
  - - '='
936
936
  - !ruby/object:Gem::Version
937
- version: 0.32.1
937
+ version: 0.32.2
938
938
  description: Adds core features so other engines can hook into the framework.
939
939
  email:
940
940
  - josepjaume@gmail.com
@@ -1657,6 +1657,7 @@ files:
1657
1657
  - app/packs/src/decidim/attachments/file_or_link_tabs.js
1658
1658
  - app/packs/src/decidim/attachments/index.js
1659
1659
  - app/packs/src/decidim/callout.js
1660
+ - app/packs/src/decidim/callout.test.js
1660
1661
  - app/packs/src/decidim/confirm.js
1661
1662
  - app/packs/src/decidim/confirm.test.js
1662
1663
  - app/packs/src/decidim/controllers/.keep
@@ -1666,6 +1667,7 @@ files:
1666
1667
  - app/packs/src/decidim/controllers/account_form/controller.js
1667
1668
  - app/packs/src/decidim/controllers/assign_role/assign_role.test.js
1668
1669
  - app/packs/src/decidim/controllers/assign_role/controller.js
1670
+ - app/packs/src/decidim/controllers/autofocus/controller.js
1669
1671
  - app/packs/src/decidim/controllers/breadcrumb_truncate/breadcrumb_truncate.test.js
1670
1672
  - app/packs/src/decidim/controllers/breadcrumb_truncate/controller.js
1671
1673
  - app/packs/src/decidim/controllers/character_counter/controller.js
@@ -1808,6 +1810,8 @@ files:
1808
1810
  - app/packs/src/decidim/map/provider/default.js
1809
1811
  - app/packs/src/decidim/map/provider/here.js
1810
1812
  - app/packs/src/decidim/notifications.js
1813
+ - app/packs/src/decidim/refactor/implementation/autofocus.js
1814
+ - app/packs/src/decidim/refactor/implementation/autofocus.test.js
1811
1815
  - app/packs/src/decidim/refactor/implementation/configuration.js
1812
1816
  - app/packs/src/decidim/refactor/implementation/external_domain_warning.js
1813
1817
  - app/packs/src/decidim/refactor/implementation/external_link.js
@@ -2035,6 +2039,7 @@ files:
2035
2039
  - app/services/decidim/send_push_notification.rb
2036
2040
  - app/services/decidim/settings_change.rb
2037
2041
  - app/services/decidim/static_map_generator.rb
2042
+ - app/services/decidim/svg_content_validator.rb
2038
2043
  - app/services/decidim/tokenizer.rb
2039
2044
  - app/services/decidim/traceability.rb
2040
2045
  - app/uploaders/decidim/application_uploader.rb
@@ -2062,6 +2067,7 @@ files:
2062
2067
  - app/validators/translatable_presence_validator.rb
2063
2068
  - app/validators/translated_etiquette_validator.rb
2064
2069
  - app/validators/uploader_content_type_validator.rb
2070
+ - app/validators/uploader_image_content_validator.rb
2065
2071
  - app/validators/uploader_image_dimensions_validator.rb
2066
2072
  - app/validators/url_validator.rb
2067
2073
  - app/views/decidim/account/_account_notification.js.erb
@@ -2610,6 +2616,7 @@ files:
2610
2616
  - db/migrate/20260208201407_remove_user_group_organizations.rb
2611
2617
  - db/migrate/20260217152425_remove_enable_participatory_space_filters_from_decidim_organizations.rb
2612
2618
  - db/migrate/20260314081619_add_index_on_decidim_members.rb
2619
+ - db/migrate/20260909000000_add_failed_attempts_and_locked_at_to_decidim_authorizations.rb
2613
2620
  - db/seeds.rb
2614
2621
  - db/seeds/Exampledocument.pdf
2615
2622
  - db/seeds/avatars/001.jpg
@@ -2859,7 +2866,6 @@ files:
2859
2866
  - lib/decidim/content_parsers.rb
2860
2867
  - lib/decidim/content_parsers/base_parser.rb
2861
2868
  - lib/decidim/content_parsers/blob_parser.rb
2862
- - lib/decidim/content_parsers/inline_images_parser.rb
2863
2869
  - lib/decidim/content_parsers/link_parser.rb
2864
2870
  - lib/decidim/content_parsers/mention_resource_parser.rb
2865
2871
  - lib/decidim/content_parsers/newline_parser.rb
@@ -3179,7 +3185,6 @@ files:
3179
3185
  - lib/tasks/decidim_taxonomies.rake
3180
3186
  - lib/tasks/upgrade/clean.rake
3181
3187
  - lib/tasks/upgrade/decidim_action_log_valuation_assignment.rake
3182
- - lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake
3183
3188
  - lib/tasks/upgrade/decidim_attachments.rake
3184
3189
  - lib/tasks/upgrade/decidim_change_valuator_tasks.rake
3185
3190
  - lib/tasks/upgrade/decidim_content_blocks_tasks.rake
@@ -1,68 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module ContentParsers
5
- # A parser that searches for inline images in an html content and
6
- # replaces them with EditorImage attachments. Note that rewrite method may
7
- # create EditorImage instances
8
- #
9
- # @see BaseParser Examples of how to use a content parser
10
- class InlineImagesParser < BaseParser
11
- # @return [String] the content with the inline images replaced.
12
- def rewrite
13
- return content unless inline_images?
14
-
15
- replace_inline_images
16
- parsed_content.to_html
17
- end
18
-
19
- def inline_images?
20
- parsed_content.search(:img).find do |image|
21
- image.attr(:src).start_with?(%r{data:image/[a-z]{3,4};base64,})
22
- end
23
- end
24
-
25
- private
26
-
27
- def parsed_content
28
- @parsed_content ||= Nokogiri::HTML(content)
29
- end
30
-
31
- def replace_inline_images
32
- parsed_content.search(:img).each do |image|
33
- next unless image.attr(:src).start_with?(%r{data:image/[a-z]{3,4};base64,})
34
-
35
- file = base64_tempfile(image.attr(:src))
36
- editor_image = EditorImage.create!(
37
- decidim_author_id: context[:user]&.id,
38
- organization: context[:user].organization,
39
- file:
40
- )
41
-
42
- image.set_attribute(:src, editor_image.attached_uploader(:file).path)
43
- end
44
- end
45
-
46
- def base64_tempfile(base64_data, filename = nil)
47
- return base64_data unless base64_data.is_a? String
48
-
49
- start_regex = %r{data:image/[a-z]{3,4};base64,}
50
- filename ||= SecureRandom.hex
51
-
52
- regex_result = start_regex.match(base64_data)
53
-
54
- return unless base64_data && regex_result
55
-
56
- start = regex_result.to_s
57
- tempfile = Tempfile.new(filename)
58
- tempfile.binmode
59
- tempfile.write(Base64.decode64(base64_data[start.length..-1]))
60
- ActionDispatch::Http::UploadedFile.new(
61
- tempfile:,
62
- filename:,
63
- original_filename: filename
64
- )
65
- end
66
- end
67
- end
68
- end
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- namespace :decidim do
4
- namespace :upgrade do
5
- namespace :active_storage_migrations do
6
- desc "Migrates inline images to ActiveStorage editor_image attachments"
7
- task :migrate_inline_images_to_active_storage, [:admin_email] => :environment do |_t, args|
8
- user = Decidim::User.find_by(email: args[:admin_email])
9
-
10
- raise "Invalid admin. Please, provide the email of an admin with permissions to create editor images" unless user&.admin? && user.admin_terms_accepted?
11
-
12
- inline_images_available_attributes.each do |model, attributes|
13
- puts "=== Updating model #{model.name} (attributes: #{attributes.join(", ")})..."
14
- model.all.each do |item|
15
- attributes.each do |attribute|
16
- item.update(attribute => rewrite_value(item.send(attribute), user))
17
- end
18
- end
19
- puts "=== Finished update of model #{model.name}\n\n"
20
- end
21
- end
22
-
23
- def rewrite_value(value, user)
24
- if value.is_a?(Hash)
25
- value.transform_values do |nested_value|
26
- rewrite_value(nested_value, user)
27
- end
28
- else
29
- parser = Decidim::ContentParsers::InlineImagesParser.new(value, user:)
30
- parser.rewrite
31
- end
32
- end
33
-
34
- def inline_images_available_attributes
35
- {
36
- "Decidim::Accountability::Result" => %w(description),
37
- "Decidim::Proposals::Proposal" => %w(body answer cost_report execution_period),
38
- "Decidim::Votings::Voting" => %w(description),
39
- "Decidim::Elections::Question" => %w(description),
40
- "Decidim::Elections::Answer" => %w(description),
41
- "Decidim::Elections::Election" => %w(description),
42
- "Decidim::Initiative" => %w(description answer),
43
- "Decidim::InitiativesType" => %w(description extra_fields_legal_information),
44
- "Decidim::Assembly" => %w(short_description description purpose_of_action composition internal_organisation announcement closing_date_reason special_features),
45
- "Decidim::Forms::Questionnaire" => %w(description tos),
46
- "Decidim::Forms::Question" => %w(description),
47
- "Decidim::Organization" => %w(
48
- welcome_notification_body
49
- admin_terms_of_use_body
50
- admin_terms_of_service_body
51
- description
52
- highlighted_content_banner_short_description
53
- id_documents_explanation_text
54
- ),
55
- "Decidim::StaticPage" => %w(content),
56
- "Decidim::ContextualHelpSection" => %w(content),
57
- "Decidim::Category" => %w(description),
58
- "Decidim::Blogs::Post" => %w(body),
59
- "Decidim::Pages::Page" => %w(body),
60
- "Decidim::Debates::Debate" => %w(description instructions information_updates conclusions),
61
- "Decidim::Budgets::Budget" => %w(description),
62
- "Decidim::Budgets::Project" => %w(description),
63
- "Decidim::ConferenceSpeaker" => %w(short_bio),
64
- "Decidim::Conferences::RegistrationType" => %w(description),
65
- "Decidim::Conference" => %w(short_description description objectives registration_terms),
66
- "Decidim::ParticipatoryProcessGroup" => %w(description),
67
- "Decidim::ParticipatoryProcess" => %w(short_description description announcement),
68
- "Decidim::ParticipatoryProcessStep" => %w(description),
69
- "Decidim::Meetings::AgendaItem" => %w(description),
70
- "Decidim::Meetings::Meeting" => %w(registration_terms description registration_email_custom_content closing_report)
71
- }.each_with_object({}) do |(main_model, attributes), hash|
72
- hash[main_model.constantize] = attributes
73
- rescue NameError
74
- hash
75
- end
76
- end
77
- end
78
- end
79
- end