decidim-core 0.28.3 → 0.29.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (660) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/cells/decidim/activities_cell.rb +0 -1
  4. data/app/cells/decidim/activity_cell.rb +5 -7
  5. data/app/cells/decidim/address/online.erb +2 -2
  6. data/app/cells/decidim/address_cell.rb +3 -9
  7. data/app/cells/decidim/amendable/amend_button_card_cell.rb +0 -2
  8. data/app/cells/decidim/amendable/amendments_cell.rb +0 -2
  9. data/app/cells/decidim/amendable/announcement_cell.rb +10 -14
  10. data/app/cells/decidim/amendable/emendation_actions_cell.rb +0 -2
  11. data/app/cells/decidim/amendable/promote_button_card_cell.rb +0 -2
  12. data/app/cells/decidim/amendable/wizard_step_form_cell.rb +6 -19
  13. data/app/cells/decidim/announcement/show.erb +1 -1
  14. data/app/cells/decidim/announcement_cell.rb +6 -2
  15. data/app/cells/decidim/attachments_file_tab/show.erb +3 -0
  16. data/app/cells/decidim/attachments_file_tab_cell.rb +11 -0
  17. data/app/cells/decidim/attachments_link_tab/show.erb +12 -0
  18. data/app/cells/decidim/attachments_link_tab_cell.rb +21 -0
  19. data/app/cells/decidim/author/flag.erb +2 -2
  20. data/app/cells/decidim/author_cell.rb +0 -2
  21. data/app/cells/decidim/authorization_modal_cell.rb +0 -3
  22. data/app/cells/decidim/badge_cell.rb +0 -4
  23. data/app/cells/decidim/badges_cell.rb +0 -2
  24. data/app/cells/decidim/button_cell.rb +0 -3
  25. data/app/cells/decidim/card_cell.rb +1 -5
  26. data/app/cells/decidim/card_g/show.erb +1 -1
  27. data/app/cells/decidim/card_g_cell.rb +4 -7
  28. data/app/cells/decidim/card_l/image.erb +2 -2
  29. data/app/cells/decidim/card_l/space.erb +1 -1
  30. data/app/cells/decidim/card_l_cell.rb +3 -8
  31. data/app/cells/decidim/card_metadata_cell.rb +1 -5
  32. data/app/cells/decidim/card_s_cell.rb +1 -4
  33. data/app/cells/decidim/coauthorships_cell.rb +0 -2
  34. data/app/cells/decidim/comments_button_cell.rb +0 -2
  35. data/app/cells/decidim/content_blocks/footer_sub_hero/show.erb +1 -1
  36. data/app/cells/decidim/content_blocks/footer_sub_hero_cell.rb +0 -3
  37. data/app/cells/decidim/content_blocks/hero/show.erb +1 -1
  38. data/app/cells/decidim/content_blocks/hero_cell.rb +1 -2
  39. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +1 -1
  40. data/app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb +0 -2
  41. data/app/cells/decidim/content_blocks/how_to_participate/show.erb +1 -1
  42. data/app/cells/decidim/content_blocks/how_to_participate_cell.rb +0 -1
  43. data/app/cells/decidim/content_blocks/participatory_space_documents/content.erb +1 -1
  44. data/app/cells/decidim/content_blocks/participatory_space_documents_cell.rb +17 -1
  45. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +2 -4
  46. data/app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb +1 -3
  47. data/app/cells/decidim/content_blocks/stats/show.erb +1 -1
  48. data/app/cells/decidim/content_blocks/sub_hero_cell.rb +0 -3
  49. data/app/cells/decidim/date_range/show.erb +10 -10
  50. data/app/cells/decidim/date_range_cell.rb +0 -2
  51. data/app/cells/decidim/diff_cell.rb +0 -1
  52. data/app/cells/decidim/documents_panel/show.erb +4 -0
  53. data/app/cells/decidim/documents_panel_cell.rb +9 -1
  54. data/app/cells/decidim/endorsement_buttons_cell.rb +5 -13
  55. data/app/cells/decidim/flag_modal/flag_user.erb +3 -3
  56. data/app/cells/decidim/followers_cell.rb +0 -1
  57. data/app/cells/decidim/following_cell.rb +0 -1
  58. data/app/cells/decidim/footer_topics/show.erb +8 -0
  59. data/app/cells/decidim/footer_topics_cell.rb +39 -0
  60. data/app/cells/decidim/groups_cell.rb +0 -3
  61. data/app/cells/decidim/linked_resources_for_cell.rb +0 -3
  62. data/app/cells/decidim/members_cell.rb +0 -1
  63. data/app/cells/decidim/navbar_admin_link_cell.rb +0 -2
  64. data/app/cells/decidim/newsletter_templates/base_cell.rb +0 -1
  65. data/app/cells/decidim/newsletter_templates/basic_only_text/show.erb +2 -2
  66. data/app/cells/decidim/newsletter_templates/image_text_cta/show.erb +2 -2
  67. data/app/cells/decidim/notification/show.erb +5 -0
  68. data/app/cells/decidim/notification_actions/base_cell.rb +13 -0
  69. data/app/cells/decidim/notification_actions/buttons/show.erb +5 -0
  70. data/app/cells/decidim/notification_actions/buttons_cell.rb +41 -0
  71. data/app/cells/decidim/notification_cell.rb +9 -3
  72. data/app/cells/decidim/notifications_cell.rb +0 -1
  73. data/app/cells/decidim/pad_iframe/show.erb +2 -2
  74. data/app/cells/decidim/pad_iframe_cell.rb +0 -1
  75. data/app/cells/decidim/participatory_space_dropdown_metadata_cell.rb +1 -2
  76. data/app/cells/decidim/photo_cell.rb +1 -5
  77. data/app/cells/decidim/photos_list_cell.rb +0 -2
  78. data/app/cells/decidim/profile_cell.rb +0 -2
  79. data/app/cells/decidim/profile_sidebar/show.erb +20 -20
  80. data/app/cells/decidim/profile_sidebar_cell.rb +1 -10
  81. data/app/cells/decidim/progress_bar/show.erb +8 -6
  82. data/app/cells/decidim/public_participation/show.erb +1 -1
  83. data/app/cells/decidim/report_button/flag_modal.erb +1 -1
  84. data/app/cells/decidim/resource_types_filter_cell.rb +0 -2
  85. data/app/cells/decidim/scopes_picker/show.erb +1 -1
  86. data/app/cells/decidim/scopes_picker_cell.rb +0 -1
  87. data/app/cells/decidim/search_results_cell.rb +1 -1
  88. data/app/cells/decidim/statistic_cell.rb +0 -2
  89. data/app/cells/decidim/tab_panels/show.erb +1 -1
  90. data/app/cells/decidim/tab_panels_cell.rb +12 -2
  91. data/app/cells/decidim/tags_cell.rb +0 -2
  92. data/app/cells/decidim/tos_page_cell.rb +0 -3
  93. data/app/cells/decidim/translation_bar/show.erb +1 -1
  94. data/app/cells/decidim/translation_bar_cell.rb +0 -2
  95. data/app/cells/decidim/upload_modal/files.erb +1 -1
  96. data/app/cells/decidim/upload_modal_cell.rb +1 -3
  97. data/app/cells/decidim/user_conversation/new.erb +1 -1
  98. data/app/cells/decidim/user_conversation/show.erb +1 -1
  99. data/app/cells/decidim/user_conversation_cell.rb +0 -1
  100. data/app/cells/decidim/user_conversations/show.erb +1 -1
  101. data/app/cells/decidim/user_conversations_cell.rb +0 -1
  102. data/app/cells/decidim/user_group_pending_invitations_list_cell.rb +0 -1
  103. data/app/cells/decidim/user_group_pending_requests_list_cell.rb +0 -1
  104. data/app/cells/decidim/user_timeline/show.erb +1 -1
  105. data/app/cells/decidim/version_cell.rb +3 -5
  106. data/app/cells/decidim/versions_list_cell.rb +1 -3
  107. data/app/cells/decidim/versions_list_item_cell.rb +2 -4
  108. data/app/cells/decidim/wizard_step_form/wizard_aside.erb +2 -2
  109. data/app/cells/decidim/wizard_step_form/wizard_header.erb +2 -3
  110. data/app/cells/decidim/wizard_step_form_cell.rb +0 -8
  111. data/app/commands/decidim/amendable/create_draft.rb +4 -3
  112. data/app/commands/decidim/amendable/promote.rb +3 -2
  113. data/app/commands/decidim/amendable/publish_draft.rb +3 -2
  114. data/app/commands/decidim/amendable/update_draft.rb +4 -3
  115. data/app/commands/decidim/amendable/withdraw.rb +1 -1
  116. data/app/commands/decidim/create_follow.rb +4 -4
  117. data/app/commands/decidim/create_omniauth_registration.rb +4 -10
  118. data/app/commands/decidim/create_report.rb +3 -3
  119. data/app/commands/decidim/create_user_report.rb +5 -5
  120. data/app/commands/decidim/delete_follow.rb +4 -4
  121. data/app/commands/decidim/demote_membership.rb +2 -2
  122. data/app/commands/decidim/destroy_account.rb +21 -19
  123. data/app/commands/decidim/endorse_resource.rb +1 -1
  124. data/app/commands/decidim/invite_user_to_group.rb +5 -4
  125. data/app/commands/decidim/update_account.rb +24 -22
  126. data/app/commands/decidim/update_notifications_settings.rb +13 -11
  127. data/app/commands/decidim/update_password.rb +7 -7
  128. data/app/commands/decidim/update_user_interests.rb +9 -7
  129. data/app/controllers/concerns/decidim/devise_controllers.rb +2 -1
  130. data/app/controllers/concerns/decidim/filter_resource.rb +1 -1
  131. data/app/controllers/concerns/decidim/needs_rtl_direction.rb +23 -0
  132. data/app/controllers/concerns/decidim/paginable.rb +1 -1
  133. data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -23
  134. data/app/controllers/concerns/decidim/payload_info.rb +2 -1
  135. data/app/controllers/concerns/decidim/registers_permissions.rb +4 -4
  136. data/app/controllers/concerns/decidim/use_organization_time_zone.rb +1 -1
  137. data/app/controllers/concerns/decidim/withdrawable.rb +1 -1
  138. data/app/controllers/decidim/account_controller.rb +2 -2
  139. data/app/controllers/{concerns/decidim → decidim}/amendments_controller.rb +3 -16
  140. data/app/controllers/decidim/application_controller.rb +1 -1
  141. data/app/controllers/decidim/components/base_controller.rb +1 -1
  142. data/app/controllers/decidim/devise/invitations_controller.rb +1 -1
  143. data/app/controllers/decidim/devise/passwords_controller.rb +2 -2
  144. data/app/controllers/decidim/endorsements_controller.rb +1 -1
  145. data/app/controllers/decidim/favicon_controller.rb +1 -1
  146. data/app/controllers/decidim/follows_controller.rb +2 -2
  147. data/app/controllers/decidim/group_invites_controller.rb +36 -9
  148. data/app/controllers/decidim/newsletters_opt_in_controller.rb +1 -1
  149. data/app/controllers/decidim/notifications_settings_controller.rb +1 -1
  150. data/app/controllers/decidim/report_users_controller.rb +1 -1
  151. data/app/controllers/decidim/reports_controller.rb +1 -1
  152. data/app/controllers/decidim/user_interests_controller.rb +1 -1
  153. data/app/events/decidim/change_nickname_event.rb +0 -1
  154. data/app/events/decidim/invited_to_group_event.rb +29 -0
  155. data/app/events/decidim/welcome_notification_event.rb +2 -4
  156. data/app/forms/decidim/form.rb +4 -0
  157. data/app/forms/decidim/omniauth_registration_form.rb +1 -1
  158. data/app/forms/decidim/upload_validation_form.rb +1 -1
  159. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +1 -1
  160. data/app/helpers/decidim/amendments_helper.rb +4 -14
  161. data/app/helpers/decidim/application_helper.rb +8 -0
  162. data/app/helpers/decidim/authorization_form_helper.rb +2 -2
  163. data/app/helpers/decidim/breadcrumb_helper.rb +1 -1
  164. data/app/helpers/decidim/cells_helper.rb +1 -1
  165. data/app/helpers/decidim/check_boxes_tree_helper.rb +1 -1
  166. data/app/helpers/decidim/datalist_select_helper.rb +1 -1
  167. data/app/helpers/decidim/decidim_form_helper.rb +3 -3
  168. data/app/helpers/decidim/filters_helper.rb +1 -1
  169. data/app/helpers/decidim/layout_helper.rb +1 -36
  170. data/app/helpers/decidim/localized_locales_helper.rb +1 -1
  171. data/app/helpers/decidim/menu_helper.rb +8 -0
  172. data/app/helpers/decidim/meta_tags_helper.rb +26 -23
  173. data/app/helpers/decidim/modal_helper.rb +1 -1
  174. data/app/helpers/decidim/orders_helper.rb +1 -1
  175. data/app/helpers/decidim/organization_helper.rb +55 -0
  176. data/app/helpers/decidim/paginate_helper.rb +5 -3
  177. data/app/helpers/decidim/resource_helper.rb +0 -7
  178. data/app/helpers/decidim/scopes_helper.rb +4 -2
  179. data/app/helpers/decidim/searches_helper.rb +1 -1
  180. data/app/helpers/decidim/short_link_helper.rb +2 -2
  181. data/app/helpers/decidim/translations_helper.rb +2 -2
  182. data/app/helpers/decidim/twitter_search_helper.rb +1 -1
  183. data/app/helpers/decidim/user_profile_helper.rb +0 -1
  184. data/app/jobs/decidim/email_notifications_digest_generator_job.rb +2 -2
  185. data/app/mailers/decidim/application_mailer.rb +6 -2
  186. data/app/mailers/decidim/block_user_mailer.rb +1 -1
  187. data/app/mailers/decidim/decidim_devise_mailer.rb +7 -1
  188. data/app/mailers/decidim/newsletter_mailer.rb +1 -4
  189. data/app/mailers/decidim/newsletters_opt_in_mailer.rb +2 -2
  190. data/app/mailers/decidim/notification_mailer.rb +0 -1
  191. data/app/mailers/decidim/notifications_digest_mailer.rb +0 -1
  192. data/app/mailers/decidim/reported_mailer.rb +6 -3
  193. data/app/mailers/decidim/user_report_mailer.rb +1 -1
  194. data/app/models/decidim/action_log.rb +1 -1
  195. data/app/models/decidim/area_type.rb +1 -1
  196. data/app/models/decidim/attachment.rb +28 -4
  197. data/app/models/decidim/authorization.rb +1 -1
  198. data/app/models/decidim/authorization_transfer.rb +1 -0
  199. data/app/models/decidim/component.rb +3 -6
  200. data/app/models/decidim/content_block.rb +3 -3
  201. data/app/models/decidim/messaging/message.rb +2 -2
  202. data/app/models/decidim/newsletter.rb +9 -9
  203. data/app/models/decidim/notification.rb +2 -2
  204. data/app/models/decidim/organization.rb +23 -2
  205. data/app/models/decidim/push_notification_message.rb +1 -1
  206. data/app/models/decidim/resource_link.rb +1 -1
  207. data/app/models/decidim/user.rb +14 -14
  208. data/app/models/decidim/user_group.rb +2 -2
  209. data/app/packs/src/decidim/a11y.js +46 -0
  210. data/app/packs/src/decidim/attachments/file_or_link_tabs.js +55 -0
  211. data/app/packs/src/decidim/attachments/index.js +1 -0
  212. data/app/packs/src/decidim/back_to_list.js +1 -1
  213. data/app/packs/src/decidim/check_boxes_tree.js +1 -1
  214. data/app/packs/src/decidim/data_consent/consent_manager.js +1 -1
  215. data/app/packs/src/decidim/data_consent/consent_manager.test.js +6 -6
  216. data/app/packs/src/decidim/data_consent/index.js +1 -1
  217. data/app/packs/src/decidim/datepicker/datepicker_functions.js +243 -0
  218. data/app/packs/src/decidim/datepicker/datepicker_listeners.js +78 -0
  219. data/app/packs/src/decidim/datepicker/form_datepicker.js +91 -0
  220. data/app/packs/src/decidim/datepicker/generate_datepicker.js +148 -0
  221. data/app/packs/src/decidim/datepicker/generate_timepicker.js +298 -0
  222. data/app/packs/src/decidim/datepicker/test/date.test.js +118 -0
  223. data/app/packs/src/decidim/datepicker/test/time.test.js +227 -0
  224. data/app/packs/src/decidim/editor/extensions/indent/index.js +1 -1
  225. data/app/packs/src/decidim/editor/extensions/video_embed/index.js +4 -4
  226. data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +0 -15
  227. data/app/packs/src/decidim/editor/test/extensions/indent.test.js +1 -1
  228. data/app/packs/src/decidim/editor/test/fixtures/upload_templates.js +1 -1
  229. data/app/packs/src/decidim/editor/test/helpers.js +1 -14
  230. data/app/packs/src/decidim/editor/utilities/paste_transform.js +2 -2
  231. data/app/packs/src/decidim/external_domain_warning.js +2 -2
  232. data/app/packs/src/decidim/external_domain_warning.test.js +4 -4
  233. data/app/packs/src/decidim/form_filter.js +4 -4
  234. data/app/packs/src/decidim/impersonation.js +1 -1
  235. data/app/packs/src/decidim/index.js +11 -5
  236. data/app/packs/src/decidim/input_character_counter.js +2 -2
  237. data/app/packs/src/decidim/input_emoji.js +171 -72
  238. data/app/packs/src/decidim/input_hashtags.js +1 -1
  239. data/app/packs/src/decidim/input_mentions.js +1 -1
  240. data/app/packs/src/decidim/notifications_actions.js +40 -0
  241. data/app/packs/src/decidim/sticky_header.js +87 -0
  242. data/app/packs/src/decidim/sw/sw.js +8 -6
  243. data/app/packs/src/decidim/tooltips.js +1 -1
  244. data/app/packs/stylesheets/decidim/_datepicker.scss +193 -0
  245. data/app/packs/stylesheets/decidim/_dropdown.scss +45 -9
  246. data/app/packs/stylesheets/decidim/_emoji.scss +36 -0
  247. data/app/packs/stylesheets/decidim/_filters.scss +4 -2
  248. data/app/packs/stylesheets/decidim/_flash.scss +2 -2
  249. data/app/packs/stylesheets/decidim/_footer.scss +1 -3
  250. data/app/packs/stylesheets/decidim/_forms.scss +13 -5
  251. data/app/packs/stylesheets/decidim/_header.scss +70 -50
  252. data/app/packs/stylesheets/decidim/_home.scss +1 -1
  253. data/app/packs/stylesheets/decidim/_layout.scss +13 -0
  254. data/app/packs/stylesheets/decidim/_modal.scss +1 -1
  255. data/app/packs/stylesheets/decidim/_modal_update.scss +1 -1
  256. data/app/packs/stylesheets/decidim/_notifications.scss +4 -0
  257. data/app/packs/stylesheets/decidim/_tabs_x.scss +5 -1
  258. data/app/packs/stylesheets/decidim/_tooltip.scss +10 -10
  259. data/app/packs/stylesheets/decidim/application.scss +4 -0
  260. data/app/packs/stylesheets/decidim/editor.scss +1 -1
  261. data/app/packs/stylesheets/decidim/legacy/leaflet.scss +1 -1
  262. data/app/packs/stylesheets/decidim/vendor/_datepicker_light.scss +228 -0
  263. data/app/permissions/decidim/default_permissions.rb +2 -2
  264. data/app/presenters/decidim/admin_log/organization_presenter.rb +1 -1
  265. data/app/presenters/decidim/admin_log/static_page_presenter.rb +1 -1
  266. data/app/presenters/decidim/authorization_transfer_presenter.rb +1 -1
  267. data/app/presenters/decidim/component_attachment_collection_presenter.rb +81 -0
  268. data/app/presenters/decidim/footer_menu_presenter.rb +1 -1
  269. data/app/presenters/decidim/home_stats_presenter.rb +1 -1
  270. data/app/presenters/decidim/organization_presenter.rb +1 -1
  271. data/app/queries/decidim/metric_measure.rb +1 -1
  272. data/app/queries/decidim/public_activities.rb +1 -1
  273. data/app/queries/decidim/user_groups/admin_memberships.rb +1 -1
  274. data/app/queries/decidim/user_groups/member_memberships.rb +1 -1
  275. data/app/services/decidim/action_logger.rb +3 -3
  276. data/app/services/decidim/download_your_data_exporter.rb +25 -36
  277. data/app/services/decidim/log/diff_changeset_calculator.rb +2 -2
  278. data/app/services/decidim/notifications_digest_sending_decider.rb +1 -1
  279. data/app/services/decidim/open_data_exporter.rb +7 -8
  280. data/app/services/decidim/zip_stream/writer.rb +39 -0
  281. data/app/uploaders/decidim/organization_favicon_uploader.rb +1 -1
  282. data/app/uploaders/decidim/record_image_uploader.rb +2 -2
  283. data/app/validators/organization_present_validator.rb +1 -1
  284. data/app/validators/passthru_validator.rb +1 -1
  285. data/app/validators/uploader_image_dimensions_validator.rb +2 -2
  286. data/app/views/decidim/account/show.html.erb +1 -1
  287. data/app/views/decidim/amendments/_wizard_header.html.erb +1 -2
  288. data/app/views/decidim/application/_collection.html.erb +3 -1
  289. data/app/views/decidim/application/_component_documents.html.erb +4 -0
  290. data/app/views/decidim/application/_document.html.erb +23 -9
  291. data/app/views/decidim/block_user_mailer/notify.html.erb +2 -2
  292. data/app/views/decidim/devise/invitations/edit.html.erb +2 -2
  293. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +1 -1
  294. data/app/views/decidim/devise/registrations/new.html.erb +1 -1
  295. data/app/views/decidim/devise/shared/_login_boxes.html.erb +1 -1
  296. data/app/views/decidim/doorkeeper/authorizations/new.html.erb +1 -1
  297. data/app/views/decidim/endorsements/_identity.html.erb +1 -1
  298. data/app/views/decidim/gamification/badges/index.html.erb +1 -1
  299. data/app/views/decidim/manifests/show.json.erb +4 -4
  300. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +2 -2
  301. data/app/views/decidim/messaging/conversations/_error_modal.html.erb +5 -5
  302. data/app/views/decidim/newsletter_mailer/newsletter.html.erb +1 -1
  303. data/app/views/decidim/newsletters/show.html.erb +1 -1
  304. data/app/views/decidim/newsletters_opt_in_mailer/notify.html.erb +2 -2
  305. data/app/views/decidim/pages/index.html.erb +1 -2
  306. data/app/views/decidim/reported_mailer/report.html.erb +4 -2
  307. data/app/views/decidim/scopes/picker.html.erb +5 -5
  308. data/app/views/decidim/searches/_resources_filter_block.html.erb +6 -6
  309. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +8 -8
  310. data/app/views/decidim/shared/_login_modal.html.erb +1 -1
  311. data/app/views/decidim/user_interests/_areas.html.erb +2 -2
  312. data/app/views/decidim/user_report_mailer/notify.html.erb +2 -2
  313. data/app/views/decidim/user_update_mailer/notify.html.erb +1 -1
  314. data/app/views/decidim/widgets/_data_picker.html.erb +1 -1
  315. data/app/views/devise/mailer/invitation_instructions.html.erb +1 -1
  316. data/app/views/devise/mailer/invitation_instructions.text.erb +1 -1
  317. data/app/views/devise/mailer/invite_admin.html.erb +2 -2
  318. data/app/views/devise/mailer/invite_admin.text.erb +2 -2
  319. data/app/views/devise/mailer/invite_collaborator.html.erb +2 -2
  320. data/app/views/devise/mailer/invite_collaborator.text.erb +2 -2
  321. data/app/views/devise/mailer/invite_private_user.html.erb +2 -2
  322. data/app/views/devise/mailer/invite_private_user.text.erb +2 -2
  323. data/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +1 -1
  324. data/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +1 -1
  325. data/app/views/layouts/decidim/_application.html.erb +3 -6
  326. data/app/views/layouts/decidim/_data_consent_warning.html.erb +2 -2
  327. data/app/views/layouts/decidim/_decidim_javascript.html.erb +1 -1
  328. data/app/views/layouts/decidim/_head_extra.html.erb +2 -2
  329. data/app/views/layouts/decidim/_impersonation_warning.html.erb +1 -1
  330. data/app/views/layouts/decidim/_js_configuration.html.erb +7 -2
  331. data/app/views/layouts/decidim/_logo.html.erb +2 -2
  332. data/app/views/layouts/decidim/_logo_mobile.html.erb +11 -0
  333. data/app/views/layouts/decidim/_mailer_logo.html.erb +2 -2
  334. data/app/views/layouts/decidim/_meta_tags_config.html.erb +1 -1
  335. data/app/views/layouts/decidim/_wrapper.html.erb +16 -9
  336. data/app/views/layouts/decidim/footer/_main.html.erb +2 -3
  337. data/app/views/layouts/decidim/footer/_main_intro.html.erb +2 -2
  338. data/app/views/layouts/decidim/footer/_main_legal.html.erb +2 -3
  339. data/app/views/layouts/decidim/footer/_main_links.html.erb +13 -11
  340. data/app/views/layouts/decidim/footer/_main_social_media_links.html.erb +8 -8
  341. data/app/views/layouts/decidim/header/_main.html.erb +9 -22
  342. data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +4 -5
  343. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +11 -4
  344. data/app/views/layouts/decidim/header/_main_links_mobile_item_account.html.erb +24 -0
  345. data/app/views/layouts/decidim/header/_main_links_mobile_search.html.erb +0 -21
  346. data/app/views/layouts/decidim/header/_main_menu_mobile.html.erb +12 -0
  347. data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +1 -1
  348. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_mobile.html.erb +17 -0
  349. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_top_left.html.erb +1 -1
  350. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
  351. data/app/views/layouts/decidim/header/_menu_form_search_mobile.html.erb +16 -0
  352. data/app/views/layouts/decidim/header/_mobile_language_choose.html.erb +25 -0
  353. data/app/views/layouts/decidim/mailer.html.erb +2 -2
  354. data/app/views/layouts/decidim/shared/_layout_center.html.erb +1 -1
  355. data/app/views/layouts/decidim/shared/_layout_item.html.erb +0 -14
  356. data/config/initializers/active_storage.rb +3 -0
  357. data/config/initializers/devise.rb +1 -1
  358. data/config/initializers/new_framework_defaults_7_0.rb +145 -0
  359. data/config/locales/ar.yml +2 -42
  360. data/config/locales/bg.yml +55 -57
  361. data/config/locales/ca.yml +68 -57
  362. data/config/locales/cs.yml +53 -57
  363. data/config/locales/de.yml +63 -52
  364. data/config/locales/el.yml +0 -29
  365. data/config/locales/en.yml +68 -57
  366. data/config/locales/es-MX.yml +67 -56
  367. data/config/locales/es-PY.yml +67 -56
  368. data/config/locales/es.yml +66 -55
  369. data/config/locales/eu.yml +67 -56
  370. data/config/locales/fi-plain.yml +69 -58
  371. data/config/locales/fi.yml +93 -82
  372. data/config/locales/fr-CA.yml +60 -55
  373. data/config/locales/fr.yml +55 -50
  374. data/config/locales/ga-IE.yml +0 -11
  375. data/config/locales/gl.yml +0 -18
  376. data/config/locales/hu.yml +36 -56
  377. data/config/locales/id-ID.yml +0 -14
  378. data/config/locales/is-IS.yml +0 -13
  379. data/config/locales/it.yml +0 -25
  380. data/config/locales/ja.yml +67 -56
  381. data/config/locales/lb.yml +0 -25
  382. data/config/locales/lt.yml +0 -48
  383. data/config/locales/lv.yml +0 -21
  384. data/config/locales/nl.yml +0 -24
  385. data/config/locales/no.yml +0 -25
  386. data/config/locales/pl.yml +67 -56
  387. data/config/locales/pt-BR.yml +4 -51
  388. data/config/locales/pt.yml +0 -25
  389. data/config/locales/ro-RO.yml +1 -28
  390. data/config/locales/ru.yml +0 -15
  391. data/config/locales/sk.yml +0 -21
  392. data/config/locales/sl.yml +0 -8
  393. data/config/locales/sv.yml +84 -154
  394. data/config/locales/tr-TR.yml +4 -27
  395. data/config/locales/uk.yml +0 -10
  396. data/config/locales/zh-CN.yml +0 -22
  397. data/config/locales/zh-TW.yml +0 -47
  398. data/config/routes.rb +0 -1
  399. data/db/migrate/20170128112958_change_user_groups_verified_to_timestamp.rb +1 -1
  400. data/db/migrate/20181025082245_add_timestamps_to_components.rb +1 -5
  401. data/db/migrate/20240110150230_rename_external_domain_whitelist_to_external_domain_allowlist.rb +7 -0
  402. data/db/migrate/20240326104215_remove_show_in_footer_in_static_pages.rb +7 -0
  403. data/db/migrate/20240401192628_change_name_on_decidim_organizations.rb +31 -0
  404. data/db/seeds/avatars/001.jpg +0 -0
  405. data/db/seeds/avatars/002.jpg +0 -0
  406. data/db/seeds/avatars/003.jpg +0 -0
  407. data/db/seeds/avatars/004.jpg +0 -0
  408. data/db/seeds/avatars/005.jpg +0 -0
  409. data/db/seeds/avatars/006.jpg +0 -0
  410. data/db/seeds/avatars/007.jpg +0 -0
  411. data/db/seeds/avatars/008.jpg +0 -0
  412. data/db/seeds/avatars/009.jpg +0 -0
  413. data/db/seeds/avatars/010.jpg +0 -0
  414. data/db/seeds/avatars/011.jpg +0 -0
  415. data/db/seeds/avatars/012.jpg +0 -0
  416. data/db/seeds/avatars/013.jpg +0 -0
  417. data/db/seeds/avatars/014.jpg +0 -0
  418. data/db/seeds/avatars/015.jpg +0 -0
  419. data/db/seeds/avatars/016.jpg +0 -0
  420. data/db/seeds/avatars/017.jpg +0 -0
  421. data/db/seeds/avatars/018.jpg +0 -0
  422. data/db/seeds/avatars/019.jpg +0 -0
  423. data/db/seeds/avatars/020.jpg +0 -0
  424. data/db/seeds/avatars/021.jpg +0 -0
  425. data/db/seeds/avatars/022.jpg +0 -0
  426. data/db/seeds/avatars/023.jpg +0 -0
  427. data/db/seeds/avatars/024.jpg +0 -0
  428. data/db/seeds/avatars/025.jpg +0 -0
  429. data/db/seeds/avatars/026.jpg +0 -0
  430. data/db/seeds/avatars/027.jpg +0 -0
  431. data/db/seeds/avatars/028.jpg +0 -0
  432. data/db/seeds/avatars/029.jpg +0 -0
  433. data/db/seeds/avatars/030.jpg +0 -0
  434. data/db/seeds/avatars/031.jpg +0 -0
  435. data/db/seeds/avatars/032.jpg +0 -0
  436. data/db/seeds/avatars/033.jpg +0 -0
  437. data/db/seeds/avatars/034.jpg +0 -0
  438. data/db/seeds/avatars/035.jpg +0 -0
  439. data/db/seeds/avatars/036.jpg +0 -0
  440. data/db/seeds/avatars/037.jpg +0 -0
  441. data/db/seeds/avatars/038.jpg +0 -0
  442. data/db/seeds/avatars/039.jpg +0 -0
  443. data/db/seeds/avatars/040.jpg +0 -0
  444. data/db/seeds/avatars/041.jpg +0 -0
  445. data/db/seeds/avatars/042.jpg +0 -0
  446. data/db/seeds/avatars/043.jpg +0 -0
  447. data/db/seeds/avatars/044.jpg +0 -0
  448. data/db/seeds/avatars/045.jpg +0 -0
  449. data/db/seeds/avatars/046.jpg +0 -0
  450. data/db/seeds/avatars/047.jpg +0 -0
  451. data/db/seeds/avatars/048.jpg +0 -0
  452. data/db/seeds/avatars/049.jpg +0 -0
  453. data/db/seeds/avatars/050.jpg +0 -0
  454. data/db/seeds/avatars/051.jpg +0 -0
  455. data/db/seeds/avatars/052.jpg +0 -0
  456. data/db/seeds/avatars/053.jpg +0 -0
  457. data/db/seeds/avatars/054.jpg +0 -0
  458. data/db/seeds/avatars/055.jpg +0 -0
  459. data/db/seeds/avatars/056.jpg +0 -0
  460. data/db/seeds/avatars/057.jpg +0 -0
  461. data/db/seeds/avatars/058.jpg +0 -0
  462. data/db/seeds/avatars/059.jpg +0 -0
  463. data/db/seeds/avatars/060.jpg +0 -0
  464. data/db/seeds/avatars/061.jpg +0 -0
  465. data/db/seeds/avatars/062.jpg +0 -0
  466. data/db/seeds/avatars/063.jpg +0 -0
  467. data/db/seeds/avatars/064.jpg +0 -0
  468. data/db/seeds/avatars/065.jpg +0 -0
  469. data/db/seeds/avatars/066.jpg +0 -0
  470. data/db/seeds/avatars/067.jpg +0 -0
  471. data/db/seeds/avatars/068.jpg +0 -0
  472. data/db/seeds/avatars/069.jpg +0 -0
  473. data/db/seeds/avatars/070.jpg +0 -0
  474. data/db/seeds/avatars/071.jpg +0 -0
  475. data/db/seeds/avatars/072.jpg +0 -0
  476. data/db/seeds/avatars/073.jpg +0 -0
  477. data/db/seeds/avatars/074.jpg +0 -0
  478. data/db/seeds/avatars/075.jpg +0 -0
  479. data/db/seeds/avatars/076.jpg +0 -0
  480. data/db/seeds/avatars/077.jpg +0 -0
  481. data/db/seeds/avatars/078.jpg +0 -0
  482. data/db/seeds/avatars/079.jpg +0 -0
  483. data/db/seeds/avatars/080.jpg +0 -0
  484. data/db/seeds/avatars/081.jpg +0 -0
  485. data/db/seeds/avatars/082.jpg +0 -0
  486. data/db/seeds/avatars/083.jpg +0 -0
  487. data/db/seeds/avatars/084.jpg +0 -0
  488. data/db/seeds/avatars/085.jpg +0 -0
  489. data/db/seeds/avatars/086.jpg +0 -0
  490. data/db/seeds/avatars/087.jpg +0 -0
  491. data/db/seeds/avatars/088.jpg +0 -0
  492. data/db/seeds/avatars/089.jpg +0 -0
  493. data/db/seeds/avatars/090.jpg +0 -0
  494. data/db/seeds/avatars/091.jpg +0 -0
  495. data/db/seeds/avatars/092.jpg +0 -0
  496. data/db/seeds/avatars/093.jpg +0 -0
  497. data/db/seeds/avatars/094.jpg +0 -0
  498. data/db/seeds/avatars/095.jpg +0 -0
  499. data/db/seeds/avatars/096.jpg +0 -0
  500. data/db/seeds/avatars/097.jpg +0 -0
  501. data/db/seeds/avatars/098.jpg +0 -0
  502. data/db/seeds/avatars/099.jpg +0 -0
  503. data/db/seeds/avatars/100.jpg +0 -0
  504. data/db/seeds/avatars/CREDITS.md +114 -0
  505. data/db/seeds/avatars/README.md +25 -0
  506. data/decidim-core.gemspec +7 -5
  507. data/lib/decidim/acts_as_author.rb +1 -1
  508. data/lib/decidim/admin_filter.rb +44 -0
  509. data/lib/decidim/admin_filters_registry.rb +55 -0
  510. data/lib/decidim/amendable.rb +1 -2
  511. data/lib/decidim/api/functions/component_finder_base.rb +1 -1
  512. data/lib/decidim/api/functions/needs_api_filter_and_order.rb +3 -3
  513. data/lib/decidim/api/functions/participatory_space_finder_base.rb +1 -1
  514. data/lib/decidim/api/functions/participatory_space_list_base.rb +1 -1
  515. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +3 -3
  516. data/lib/decidim/api/interfaces/author_interface.rb +1 -1
  517. data/lib/decidim/api/types/organization_type.rb +1 -1
  518. data/lib/decidim/api/types/user_group_type.rb +1 -1
  519. data/lib/decidim/api/types/user_type.rb +1 -1
  520. data/lib/decidim/asset_router/pipeline.rb +2 -2
  521. data/lib/decidim/asset_router/storage.rb +11 -214
  522. data/lib/decidim/assets/tailwind/instance.rb +1 -1
  523. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +8 -3
  524. data/lib/decidim/attribute_object/model.rb +2 -2
  525. data/lib/decidim/attribute_object/type_resolver.rb +1 -3
  526. data/lib/decidim/attribute_object.rb +2 -2
  527. data/lib/decidim/attributes.rb +0 -4
  528. data/lib/decidim/authorable.rb +5 -0
  529. data/lib/decidim/command.rb +2 -2
  530. data/lib/decidim/commands/create_resource.rb +63 -0
  531. data/lib/decidim/commands/destroy_resource.rb +74 -0
  532. data/lib/decidim/commands/hook_error.rb +8 -0
  533. data/lib/decidim/commands/resource_handler.rb +85 -0
  534. data/lib/decidim/commands/update_resource.rb +64 -0
  535. data/lib/decidim/component_manifest.rb +3 -1
  536. data/lib/decidim/component_validator.rb +1 -1
  537. data/lib/decidim/content_blocks/has_related_components.rb +1 -1
  538. data/lib/decidim/content_parsers/resource_parser.rb +2 -2
  539. data/lib/decidim/content_processor.rb +1 -1
  540. data/lib/decidim/content_security_policy.rb +1 -1
  541. data/lib/decidim/core/engine.rb +12 -23
  542. data/lib/decidim/core/menu.rb +13 -3
  543. data/lib/decidim/core/seeds.rb +120 -147
  544. data/lib/decidim/core/test/factories.rb +24 -3
  545. data/lib/decidim/core/test/shared_examples/acts_as_author_examples.rb +1 -1
  546. data/lib/decidim/core/test/shared_examples/amendable/withdraw_amendment_examples.rb +2 -2
  547. data/lib/decidim/core/test/shared_examples/announcements_examples.rb +3 -3
  548. data/lib/decidim/core/test/shared_examples/assembly_announcements_examples.rb +4 -4
  549. data/lib/decidim/core/test/shared_examples/attachable_interface_examples.rb +1 -1
  550. data/lib/decidim/core/test/shared_examples/comments_examples.rb +88 -82
  551. data/lib/decidim/core/test/shared_examples/comments_reports_examples.rb +4 -4
  552. data/lib/decidim/core/test/shared_examples/digest_mail_examples.rb +1 -1
  553. data/lib/decidim/core/test/shared_examples/edit_link_shared_examples.rb +1 -1
  554. data/lib/decidim/core/test/shared_examples/editor_shared_examples.rb +7 -7
  555. data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +1 -1
  556. data/lib/decidim/core/test/shared_examples/follows_examples.rb +6 -11
  557. data/lib/decidim/core/test/shared_examples/has_attachment_collections.rb +4 -2
  558. data/lib/decidim/core/test/shared_examples/has_attachments.rb +3 -2
  559. data/lib/decidim/core/test/shared_examples/has_contextual_help.rb +4 -4
  560. data/lib/decidim/core/test/shared_examples/has_reference.rb +1 -1
  561. data/lib/decidim/core/test/shared_examples/logo_email.rb +1 -1
  562. data/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb +9 -9
  563. data/lib/decidim/core/test/shared_examples/map_examples.rb +5 -5
  564. data/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +7 -7
  565. data/lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb +3 -3
  566. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +3 -3
  567. data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +4 -4
  568. data/lib/decidim/core/test/shared_examples/reports_examples.rb +5 -5
  569. data/lib/decidim/core/test/shared_examples/rich_text_editor_examples.rb +10 -10
  570. data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +1 -1
  571. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +8 -8
  572. data/lib/decidim/core/test/shared_examples/share_link_examples.rb +2 -2
  573. data/lib/decidim/core/test/shared_examples/simple_event.rb +1 -1
  574. data/lib/decidim/core/test/shared_examples/space_cell_changes_button_text_cta.rb +3 -3
  575. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +11 -11
  576. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +2 -2
  577. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +2 -2
  578. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  579. data/lib/decidim/core/version.rb +1 -1
  580. data/lib/decidim/core.rb +24 -6
  581. data/lib/decidim/dependency_resolver.rb +3 -3
  582. data/lib/decidim/diffy_extension.rb +1 -1
  583. data/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb +2 -1
  584. data/lib/decidim/engine_router.rb +2 -2
  585. data/lib/decidim/events/base_event.rb +19 -0
  586. data/lib/decidim/events/simple_event.rb +1 -0
  587. data/lib/decidim/exporters/export_manifest.rb +1 -1
  588. data/lib/decidim/faker/localized.rb +3 -3
  589. data/lib/decidim/form_builder.rb +4 -4
  590. data/lib/decidim/hashtag.rb +1 -1
  591. data/lib/decidim/jsonb_attributes.rb +4 -4
  592. data/lib/decidim/manifest_messages.rb +2 -2
  593. data/lib/decidim/organization_settings.rb +5 -5
  594. data/lib/decidim/paddable.rb +1 -1
  595. data/lib/decidim/participable.rb +1 -1
  596. data/lib/decidim/participatory_space_manifest.rb +1 -1
  597. data/lib/decidim/resourceable.rb +1 -1
  598. data/lib/decidim/search_resource_fields_mapper.rb +2 -2
  599. data/lib/decidim/searchable.rb +3 -3
  600. data/lib/decidim/seeds.rb +62 -0
  601. data/lib/decidim/stats_registry.rb +2 -2
  602. data/lib/decidim/translatable_attributes.rb +3 -3
  603. data/lib/decidim/translatable_resource.rb +1 -1
  604. data/lib/decidim/view_hooks.rb +1 -1
  605. data/lib/decidim/view_model.rb +4 -0
  606. data/lib/decidim/webpacker/esbuild.config.js +14 -0
  607. data/lib/decidim/webpacker/shakapacker.yml +2 -2
  608. data/lib/decidim/webpacker/tsconfig.json +11 -0
  609. data/lib/decidim/webpacker/webpack/custom.js +13 -35
  610. data/lib/devise/models/decidim_newsletterable.rb +1 -1
  611. data/lib/tasks/decidim_download_your_data_tasks.rake +2 -2
  612. data/lib/tasks/decidim_locales_tasks.rake +1 -1
  613. data/lib/tasks/decidim_mailers_tasks.rake +2 -2
  614. data/lib/tasks/decidim_metrics_tasks.rake +6 -6
  615. data/lib/tasks/decidim_procfile.rake +9 -3
  616. data/lib/tasks/decidim_tasks.rake +5 -4
  617. data/lib/tasks/decidim_webpacker_tasks.rake +126 -117
  618. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +80 -0
  619. data/lib/tasks/upgrade/decidim_content_blocks_tasks.rake +50 -0
  620. data/lib/tasks/upgrade/decidim_deduplicate_endorsements.rake +1 -1
  621. data/lib/tasks/upgrade/decidim_fix_categorization.rake +0 -100
  622. data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +1 -1
  623. data/lib/tasks/upgrade/decidim_fix_short_url_resolver.rake +1 -1
  624. data/lib/tasks/upgrade/decidim_moderation_tasks.rake +1 -1
  625. data/lib/tasks/upgrade/decidim_user_moderation.rake +1 -1
  626. metadata +218 -77
  627. data/app/cells/decidim/content_blocks/cta/show.erb +0 -12
  628. data/app/cells/decidim/content_blocks/cta_cell.rb +0 -31
  629. data/app/cells/decidim/footer_pages/pages.erb +0 -3
  630. data/app/cells/decidim/footer_pages/topics.erb +0 -12
  631. data/app/cells/decidim/footer_pages_cell.rb +0 -68
  632. data/app/packs/src/decidim/vendor/modernizr.js +0 -5
  633. data/app/queries/decidim/similar_emendations.rb +0 -56
  634. data/app/uploaders/decidim/cw/application_uploader.rb +0 -77
  635. data/app/uploaders/decidim/cw/attachment_uploader.rb +0 -56
  636. data/app/uploaders/decidim/cw/avatar_uploader.rb +0 -24
  637. data/app/uploaders/decidim/cw/banner_image_uploader.rb +0 -7
  638. data/app/uploaders/decidim/cw/download_your_data_uploader.rb +0 -15
  639. data/app/uploaders/decidim/cw/downloader.rb +0 -9
  640. data/app/uploaders/decidim/cw/hero_image_uploader.rb +0 -10
  641. data/app/uploaders/decidim/cw/homepage_image_uploader.rb +0 -14
  642. data/app/uploaders/decidim/cw/image_uploader.rb +0 -78
  643. data/app/uploaders/decidim/cw/newsletter_template_image_uploader.rb +0 -38
  644. data/app/uploaders/decidim/cw/oauth_application_logo_uploader.rb +0 -10
  645. data/app/uploaders/decidim/cw/official_image_footer_uploader.rb +0 -10
  646. data/app/uploaders/decidim/cw/official_image_header_uploader.rb +0 -10
  647. data/app/uploaders/decidim/cw/open_data_uploader.rb +0 -23
  648. data/app/uploaders/decidim/cw/organization_favicon_uploader.rb +0 -18
  649. data/app/uploaders/decidim/cw/organization_logo_uploader.rb +0 -10
  650. data/app/uploaders/decidim/cw/record_image_uploader.rb +0 -15
  651. data/app/uploaders/decidim/downloader.rb +0 -9
  652. data/app/views/decidim/amendments/compare_draft.html.erb +0 -18
  653. data/app/views/layouts/decidim/_edit_link.html.erb +0 -0
  654. data/app/views/layouts/decidim/header/_main_links_mobile.html.erb +0 -36
  655. data/config/initializers/carrierwave.rb +0 -15
  656. data/lib/decidim/carrier_wave_migrator_service.rb +0 -287
  657. data/lib/decidim/seven_zip_wrapper.rb +0 -29
  658. data/lib/tasks/decidim_active_storage_migration_tasks.rake +0 -114
  659. data/lib/tasks/decidim_content_blocks_tasks.rake +0 -48
  660. /data/app/views/layouts/decidim/header/{_menu_breadcrumb_main_dropdown.html.erb → _menu_breadcrumb_main_dropdown_desktop.html.erb} +0 -0
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,114 @@
1
+ #### Version 1.0 – 12th October 2016
2
+
3
+ * [001.jpg](https://www.pexels.com/photo/blonde-haired-woman-in-blue-shirt-y-27411/)
4
+ * [002.jpg](https://www.pexels.com/photo/man-boy-black-and-white-person-9687/)
5
+ * [003.jpg](https://www.pexels.com/photo/camera-photographer-woman-fashion-7529/)
6
+ * [004.jpg](https://www.pexels.com/photo/man-portrait-street-people-108048/)
7
+ * [005.jpg](https://www.pexels.com/photo/woman-winter-grey-river-61100/)
8
+ * [006.jpg](https://www.pexels.com/photo/man-in-red-and-blue-v-neck-shirt-101584/)
9
+ * [007.jpg](https://www.pexels.com/photo/fashion-woman-foggy-river-61120/)
10
+ * [008.jpg](https://www.pexels.com/photo/men-s-black-blazer-31330/)
11
+ * [009.jpg](https://www.pexels.com/photo/woman-in-black-scoop-neck-shirt-smiling-38554/)
12
+ * [010.jpg](https://www.pexels.com/photo/man-wearing-green-tank-top-looking-on-man-wearing-black-leather-jacket-during-daytime-106224/)
13
+ * [011.jpg](https://www.pexels.com/photo/woman-wearing-black-top-27949/)
14
+ * [012.jpg](https://www.pexels.com/photo/adult-african-ethnicity-bow-tie-cap-173295/)
15
+ * [013.jpg](https://www.pexels.com/photo/woman-girl-hairs-portrait-69494/)
16
+ * [014.jpg](https://www.pexels.com/photo/person-man-confident-business-50855/)
17
+ * [015.jpg](https://www.pexels.com/photo/woman-in-blue-denim-shorts-standing-in-front-of-black-brick-wall-175703/)
18
+ * [016.jpg](https://www.pexels.com/photo/man-male-smart-businessman-59554/)
19
+ * [017.jpg](https://www.pexels.com/photo/person-lady-wall-smartphone-94560/)
20
+ * [018.jpg](https://www.pexels.com/photo/man-wearing-blue-dye-shirt-standing-at-front-165809/)
21
+ * [019.jpg](https://www.pexels.com/photo/music-guitar-woman-person-8988/)
22
+ * [020.jpg](https://www.pexels.com/photo/175697/)
23
+ * [021.jpg](https://www.pexels.com/photo/88641/)
24
+ * [022.jpg](https://www.pexels.com/photo/175697/)
25
+ * [023.jpg](https://www.pexels.com/photo/woman-in-black-framed-eyeglasses-drinking-185937/)
26
+ * [024.jpg](https://www.pexels.com/photo/city-man-coffee-men-105448/)
27
+ * [025.jpg](https://www.pexels.com/photo/woman-relaxation-girl-young-48196/)
28
+ * [026.jpg](https://www.pexels.com/photo/person-people-holi-festival-68775/)
29
+ * [027.jpg](https://www.pexels.com/photo/flowers-girl-portrait-brunette-110442/)
30
+ * [028.jpg](https://www.pexels.com/photo/old-man-6110/)
31
+ * [029.jpg](https://www.pexels.com/photo/woman-in-black-dress-and-teal-white-fringe-poncho-24326/)
32
+ * [030.jpg](https://www.pexels.com/photo/man-young-happy-smiling-91227/)
33
+
34
+ #### Version 1.1 – 27th December 2016
35
+
36
+ * [031.jpg](https://www.pexels.com/photo/woman-in-black-off-shoulder-dress-standing-in-green-flower-field-during-daytime-227349/)
37
+ * [032.jpg](https://www.pexels.com/photo/man-wearing-black-framed-sunglasses-making-face-while-taking-self-photo-128998/)
38
+ * [033.jpg](https://www.pexels.com/photo/man-in-gray-crew-neck-sweatshirt-and-black-pants-sitting-in-gray-concrete-holding-string-instrument-near-body-of-water-160651/)
39
+ * [034.jpg](https://www.pexels.com/photo/bangs-beautiful-eyeglasses-fern-240082/)
40
+ * [035.jpg](https://www.pexels.com/photo/adult-beautiful-casual-cell-phone-207452/)
41
+ * [036.jpg](https://www.pexels.com/photo/woman-in-white-black-half-sleeved-shirt-smiling-25845/)
42
+ * [037.jpg](https://www.pexels.com/photo/man-person-portrait-autumn-16622/)
43
+ * [038.jpg](https://www.pexels.com/photo/beautiful-blur-close-up-fashion-102602/)
44
+ * [039.jpg](https://www.pexels.com/photo/portrait-of-smiling-girl-against-white-background-253758/)
45
+ * [040.jpg](https://www.pexels.com/photo/man-wearing-dress-shirt-posing-beside-wall-199937/)
46
+
47
+ #### Version 1.2 – 16th September 2017
48
+
49
+ * [041.jpg](https://www.pexels.com/photo/portrait-of-young-woman-255274/)
50
+ * [042.jpg](https://www.pexels.com/photo/portrait-of-young-woman-311178/)
51
+ * [043.jpg](https://www.pexels.com/photo/portrait-of-young-man-251829/)
52
+ * [044.jpg](https://www.pexels.com/photo/adult-beautiful-blonde-blur-324658/)
53
+ * [045.jpg](https://www.pexels.com/photo/man-sitting-next-to-couple-of-person-walking-on-the-street-during-daytime-211050/)
54
+ * [046.jpg](https://www.pexels.com/photo/attractive-beautiful-beauty-cute-539727/)
55
+ * [047.jpg](https://www.pexels.com/photo/portrait-of-smiling-man-325682/)
56
+ * [048.jpg](https://www.pexels.com/photo/man-people-asian-photographer-46219/)
57
+ * [049.jpg](https://www.pexels.com/photo/cute-female-flora-flower-206505/)
58
+ * [050.jpg](https://www.pexels.com/photo/adult-beard-boy-casual-220453/)
59
+ * [051.jpg](https://www.pexels.com/photo/analog-watch-businessman-casual-close-up-544716/)
60
+ * [052.jpg](https://www.pexels.com/photo/portrait-of-young-woman-using-mobile-phone-in-cafe-323503/)
61
+ * [053.jpg](https://www.pexels.com/photo/selfie-portrait-man-sunglasses-7823/)
62
+ * [054.jpg](https://www.pexels.com/photo/attractive-beautiful-cute-face-355020/)
63
+ * [055.jpg](https://visualhunt.com/photo/121283/)
64
+ * [056.jpg](https://visualhunt.com/photo/199309/)
65
+ * [057.jpg](https://visualhunt.com/photo/198137/)
66
+ * [058.jpg](https://visualhunt.com/photo/198731/)
67
+ * [059.jpg](https://visualhunt.com/photo/199639/)
68
+ * [060.jpg](https://visualhunt.com/photo/199743/)
69
+ * [061.jpg](https://visualhunt.com/photo/199165/)
70
+ * [062.jpg](https://visualhunt.com/photo/199081/)
71
+ * [063.jpg](https://unsplash.com/photos/EdA845C1yXc)
72
+ * [064.jpg](https://unsplash.com/photos/NorYfP4rwmQ)
73
+ * [065.jpg](https://unsplash.com/photos/6anudmpILw4)
74
+ * [066.jpg](https://unsplash.com/photos/c0UxuPFtovA)
75
+ * [067.jpg](https://unsplash.com/photos/25VW-Ilb74g)
76
+ * [068.jpg](https://unsplash.com/photos/rVH9D9UvPRs)
77
+ * [069.jpg](https://unsplash.com/photos/cvpk5Y4ZWUs)
78
+ * [070.jpg](https://unsplash.com/photos/jRA-yoDL68M)
79
+
80
+ #### Version 1.3 – 4th January 2018
81
+
82
+ * [071.jpg](https://www.pexels.com/photo/beard-blur-casual-close-up-462680/)
83
+ * [072.jpg](https://www.pexels.com/photo/adult-attractive-blue-casual-415326/)
84
+ * [073.jpg](https://unsplash.com/photos/SpIKPT8zeAs)
85
+ * [074.jpg](https://unsplash.com/photos/s068iS_J_5Q)
86
+ * [075.jpg](https://unsplash.com/photos/6Qo_vw9kRlQ)
87
+ * [076.jpg](https://unsplash.com/photos/W7pk4FfrSY0)
88
+ * [077.jpg](https://unsplash.com/photos/Nm70URdtf3c)
89
+ * [078.jpg](https://unsplash.com/photos/pLzBsI6irDg)
90
+ * [079.jpg](https://unsplash.com/photos/IJrIeCs3D4g)
91
+ * [080.jpg](https://unsplash.com/photos/ciLAii9yZEo)
92
+ * [081.jpg](https://unsplash.com/photos/_l9LXmpgzRY)
93
+ * [082.jpg](https://www.pexels.com/photo/man-in-red-and-white-plaid-dress-shirt-and-black-bottoms-with-black-frame-eyeglasses-769728/)
94
+ * [083.jpg](https://www.pexels.com/photo/woman-in-gray-plunging-neckline-sleeveless-top-671800/)
95
+ * [084.jpg](https://unsplash.com/photos/ZGa9d1a_4tA)
96
+ * [085.jpg](https://unsplash.com/photos/-lYtsl62gyU)
97
+ * [086.jpg](https://unsplash.com/photos/IcML2g2svwA)
98
+ * [087.jpg](https://unsplash.com/photos/ILip77SbmOE)
99
+ * [088.jpg](https://unsplash.com/photos/aI45j8n3-5Y)
100
+ * [089.jpg](https://unsplash.com/photos/gKbrJTDV6os)
101
+ * [090.jpg](https://unsplash.com/photos/UPAtLXAEDi4)
102
+
103
+ #### Version 1.4 – 19th March 2018
104
+
105
+ * [091.jpg](https://unsplash.com/photos/eO_Uu_PMDKk)
106
+ * [092.jpg](https://unsplash.com/photos/ZBOv0GXXaiA)
107
+ * [093.jpg](https://unsplash.com/photos/mKeLPVQqEXk)
108
+ * [094.jpg](https://unsplash.com/photos/p7zGmc33s0U)
109
+ * [095.jpg](https://unsplash.com/photos/go_BEDXMeE0)
110
+ * [096.jpg](https://unsplash.com/photos/6PezXMvuCgk)
111
+ * [097.jpg](https://unsplash.com/photos/vMV6r4VRhJ8)
112
+ * [098.jpg](https://unsplash.com/photos/nOHn3pIyPaw)
113
+ * [099.jpg](https://unsplash.com/photos/das6NrjLoM0)
114
+ * [100.jpg](https://unsplash.com/photos/b1YG4_8wRYs)
@@ -0,0 +1,25 @@
1
+ # inter-faces
2
+
3
+ These images where extracted from the [inter-faces repository](https://github.com/cjdowner/interfaces)
4
+
5
+ **Latest release:** 1.4 – 19th March 2018
6
+
7
+ This download contains 100 images of people that can be applied as avatars for UI and the web, App Store screenshots, marketing graphics, etc. Use them for whatever you like, free.
8
+
9
+ ## <a href="https://github.com/cjdowner/interfaces/archive/master.zip">⬇️ Download All Images</a>
10
+
11
+ All images have been sourced from various community-powered stock photo websites, and have been cropped and resized to three different sizes.
12
+
13
+ A credits file has been included with links to the original images. There you will find the ability to support the photographer with a donation.
14
+
15
+ ## License
16
+
17
+ >All avatars are licensed under the **Creative Commons Zero (CC0) license**. This means the pictures are completely free to be used for any legal purpose.
18
+ >
19
+ >- The pictures are **free** for personal and even for commercial use.
20
+ >- You can modify, copy and distribute the photos.
21
+ >- All without asking for permission or setting a link to the source. So, **attribution is not required**.
22
+ >
23
+ >The only restriction is that identifiable people may not appear in a bad light or in a way that they may find offensive, unless they give their consent.
24
+ >
25
+ >The CC0 license was released by the non-profit organization Creative Commons (CC). Get more information about Creative Commons images and the license on the [official license page](https://creativecommons.org/publicdomain/zero/1.0/).
data/decidim-core.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
22
22
  s.summary = "The core of the Decidim framework."
23
23
  s.description = "Adds core features so other engines can hook into the framework."
24
24
  s.license = "AGPL-3.0"
25
- s.required_ruby_version = "~> 3.1.0"
25
+ s.required_ruby_version = "~> 3.2.0"
26
26
 
27
27
  s.files = Dir.chdir(__dir__) do
28
28
  `git ls-files -z`.split("\x0").select do |f|
@@ -35,7 +35,6 @@ Gem::Specification.new do |s|
35
35
  s.add_dependency "acts_as_list", "~> 1.0"
36
36
  s.add_dependency "batch-loader", "~> 1.2"
37
37
  s.add_dependency "browser", "~> 2.7"
38
- s.add_dependency "carrierwave", "~> 2.2.5", ">= 2.2.5"
39
38
  s.add_dependency "cells-erb", "~> 0.1.0"
40
39
  s.add_dependency "cells-rails", "~> 0.1.3"
41
40
  s.add_dependency "charlock_holmes", "~> 0.7"
@@ -50,12 +49,14 @@ Gem::Specification.new do |s|
50
49
  s.add_dependency "foundation_rails_helper", "~> 4.0"
51
50
  s.add_dependency "geocoder", "~> 1.8"
52
51
  s.add_dependency "hashdiff", ">= 0.4.0", "< 2.0.0"
52
+ s.add_dependency "image_processing", "~> 1.2"
53
53
  s.add_dependency "invisible_captcha", "~> 0.12"
54
54
  s.add_dependency "kaminari", "~> 1.2", ">= 1.2.1"
55
55
  s.add_dependency "loofah", "~> 2.19", ">= 2.19.1"
56
56
  s.add_dependency "mime-types", ">= 1.16", "< 4.0"
57
57
  s.add_dependency "mini_magick", "~> 4.9"
58
58
  s.add_dependency "net-smtp", "~> 0.3.1"
59
+ s.add_dependency "nokogiri", "~> 1.16", ">= 1.16.2"
59
60
  s.add_dependency "omniauth", "~> 2.0"
60
61
  s.add_dependency "omniauth-facebook", "~> 5.0"
61
62
  s.add_dependency "omniauth-google-oauth2", "~> 1.0"
@@ -70,15 +71,16 @@ Gem::Specification.new do |s|
70
71
  # Also note that we need Rails 6.1.5+,
71
72
  # see https://gist.github.com/yahonda/2776d8d7b6ea7045359f38c10449937b
72
73
  s.add_dependency "psych", "~> 4.0"
73
- s.add_dependency "rack", "~> 2.2", ">= 2.2.6.4"
74
+ s.add_dependency "rack", "~> 2.2", ">= 2.2.8.1"
74
75
  s.add_dependency "rack-attack", "~> 6.0"
75
- s.add_dependency "rails", "~> 6.1.7", ">=6.1.7.4"
76
- s.add_dependency "rails-i18n", "~> 6.0"
76
+ s.add_dependency "rails", "~> 7.0.8"
77
+ s.add_dependency "rails-i18n", "~> 7.0"
77
78
  s.add_dependency "ransack", "~> 3.2.1"
78
79
  s.add_dependency "redis", "~> 4.1"
79
80
  s.add_dependency "request_store", "~> 1.5.0"
80
81
  s.add_dependency "rubyXL", "~> 3.4"
81
82
  s.add_dependency "rubyzip", "~> 2.0"
83
+ s.add_dependency "seven_zip_ruby", "~> 1.3"
82
84
  s.add_dependency "shakapacker", "~> 7.1.0"
83
85
  s.add_dependency "valid_email2", "~> 4.0"
84
86
  s.add_dependency "web-push", "~> 3.0"
@@ -14,7 +14,7 @@ module Decidim
14
14
  #
15
15
  # Return: The presenter for the current author.
16
16
  def presenter
17
- raise NotImlementedError, "Authors must return an instance of its Presenter via this method."
17
+ raise NotImplementedError, "Authors must return an instance of its Presenter via this method."
18
18
  end
19
19
  end
20
20
  end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ #
5
+ # This class handles all logic regarding registering filters
6
+ #
7
+ class AdminFilter
8
+ attr_accessor :filters, :dynamically_translated_filters, :filters_with_values
9
+
10
+ def initialize(name)
11
+ @name = name
12
+ @filters = []
13
+ @dynamically_translated_filters = []
14
+ @filters_with_values = {}
15
+ end
16
+
17
+ def add_filters(*filters)
18
+ @filters += filters
19
+ end
20
+
21
+ def add_dynamically_translated_filters(*filters)
22
+ @dynamically_translated_filters += filters
23
+ end
24
+
25
+ def add_filters_with_values(**items)
26
+ @filters_with_values.merge!(items)
27
+ end
28
+
29
+ def build_for(context)
30
+ raise "Filter #{@name} is not registered" if registry.blank?
31
+
32
+ registry.configurations.each do |configuration|
33
+ context.instance_exec(self, &configuration)
34
+ end
35
+ self
36
+ end
37
+
38
+ private
39
+
40
+ def registry
41
+ @registry ||= AdminFiltersRegistry.find(@name)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ #
5
+ # This class handles all logic regarding registering filters
6
+ #
7
+ class AdminFiltersRegistry
8
+ class << self
9
+ #
10
+ # Finds a filter by name or creates it if it does not exist.
11
+ #
12
+ # @param name [Symbol] Name of the filter
13
+ # @param &block [Filter] Registration body of the filter. It is stored to
14
+ # be evaluated at rendering time
15
+ #
16
+ def register(name, &block)
17
+ filter = find(name) || create(name)
18
+
19
+ filter.configurations << block
20
+
21
+ filter
22
+ end
23
+
24
+ #
25
+ # Finds a filter by name
26
+ #
27
+ # @param name [Symbol] The name of the filter
28
+ #
29
+ def find(name)
30
+ all[name]
31
+ end
32
+
33
+ #
34
+ # Creates an empty named filter
35
+ #
36
+ # @param name [Symbol] The name of the filter
37
+ #
38
+ def create(name)
39
+ all[name] = new
40
+ end
41
+
42
+ private
43
+
44
+ def all
45
+ @all ||= {}
46
+ end
47
+ end
48
+
49
+ attr_reader :configurations
50
+
51
+ def initialize
52
+ @configurations = []
53
+ end
54
+ end
55
+ end
@@ -16,8 +16,7 @@ module Decidim
16
16
  has_many :emendations,
17
17
  through: :amendments,
18
18
  source: :emendation,
19
- source_type: name,
20
- inverse_of: :emendations
19
+ source_type: name
21
20
 
22
21
  # resource.amenders : users that have created emendations for the original resource
23
22
  has_many :amenders,
@@ -29,7 +29,7 @@ module Decidim
29
29
  query_scope.find_by(@query)
30
30
  end
31
31
 
32
- # By default, any model in its defaul scope
32
+ # By default, any model in its default scope
33
33
  # Particular implementations may restrict this by adding
34
34
  # additional constrains
35
35
  def query_scope
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Core
5
5
  module NeedsApiFilterAndOrder
6
- # Converts the result of a GraphQL::Schema::InputObject into ActiverRecord where argument
6
+ # Converts the result of a GraphQL::Schema::InputObject into ActiveRecord where argument
7
7
  # Each value InputObject can return 4 types of values:
8
8
  # 1. A Scalar, will filter by a simple match (==) with the default field name
9
9
  # 2. A Hash, then the field name will be ignored and the key from the hash used for filtering
@@ -28,10 +28,10 @@ module Decidim
28
28
  end
29
29
  end
30
30
 
31
- # Converts the result of a GraphQL::Schema::InputObject into ActiverRecord order argument
31
+ # Converts the result of a GraphQL::Schema::InputObject into ActiveRecord order argument
32
32
  # Each value of InputObject can return 3 types of values:
33
33
  # 1. A Scalar, will order using the default field name
34
- # 2. A Hash, the the field name will be ignored and the key from the hash used for ordering
34
+ # 2. A Hash, the field name will be ignored and the key from the hash used for ordering
35
35
  # 3. A Proc, the input can use it to construct queries using Arel
36
36
  # The Proc will receive the locale as argument
37
37
  def add_order_keys(order_input)
@@ -12,7 +12,7 @@ module Decidim
12
12
  @manifest = manifest
13
13
  end
14
14
 
15
- # lazy instantation of the class
15
+ # lazy instantiation of the class
16
16
  def model_class
17
17
  @model_class ||= manifest.model_class_name.constantize
18
18
  end
@@ -16,7 +16,7 @@ module Decidim
16
16
  @manifest = manifest
17
17
  end
18
18
 
19
- # lazy instantation of the class
19
+ # lazy instantiation of the class
20
20
  def model_class
21
21
  @model_class ||= manifest.model_class_name.constantize
22
22
  end
@@ -38,7 +38,7 @@ module Decidim
38
38
  }
39
39
  argument :name,
40
40
  type: String,
41
- description: "Filters by name of the user entity. Searches (case insensitive) any fragment of the provided string",
41
+ description: "Filters by name of the user entity. Searches (case-insensitive) any fragment of the provided string",
42
42
  required: false,
43
43
  prepare: lambda { |value, _ctx|
44
44
  [
@@ -49,7 +49,7 @@ module Decidim
49
49
  }
50
50
  argument :nickname,
51
51
  type: String,
52
- description: "Filters by nickname of the user entity. Searches (case insensitive) any fragment of the provided string",
52
+ description: "Filters by nickname of the user entity. Searches (case-insensitive) any fragment of the provided string",
53
53
  required: false,
54
54
  prepare: lambda { |value, _ctx|
55
55
  value = value[1..-1] if value.starts_with? "@"
@@ -61,7 +61,7 @@ module Decidim
61
61
  }
62
62
  argument :wildcard,
63
63
  type: String,
64
- description: "Filters by nickname or name of the user entity. Searches (case insensitive) any fragment of the provided string",
64
+ description: "Filters by nickname or name of the user entity. Searches (case-insensitive) any fragment of the provided string",
65
65
  required: false,
66
66
  prepare: lambda { |value, _ctx|
67
67
  value = value[1..-1] if value.starts_with? "@"
@@ -15,7 +15,7 @@ module Decidim
15
15
  field :avatar_url, String, "The author's avatar url", null: false
16
16
  field :profile_path, String, "The author's profile path", null: false
17
17
  field :badge, String, "The author's badge icon", null: false
18
- field :organization_name, String, "The authors's organization name", null: false
18
+ field :organization_name, Decidim::Core::TranslatedFieldType, "The authors's organization name", null: false
19
19
 
20
20
  def organization_name
21
21
  object.organization.name
@@ -5,7 +5,7 @@ module Decidim
5
5
  class OrganizationType < Decidim::Api::Types::BaseObject
6
6
  description "The current organization"
7
7
 
8
- field :name, GraphQL::Types::String, "The name of the current organization", null: true
8
+ field :name, Decidim::Core::TranslatedFieldType, "The name of the current organization", null: true
9
9
 
10
10
  field :stats, [Core::StatisticType, { null: true }], description: "The statistics associated to this object", null: true
11
11
 
@@ -30,7 +30,7 @@ module Decidim
30
30
  object.presenter.profile_path
31
31
  end
32
32
 
33
- field :organization_name, GraphQL::Types::String, "The user group's organization name", null: false
33
+ field :organization_name, Decidim::Core::TranslatedFieldType, "The user group's organization name", null: false
34
34
 
35
35
  def organization_name
36
36
  object.organization.name
@@ -23,7 +23,7 @@ module Decidim
23
23
  description: ["If the user making the request is logged in, it will return whether this recipient accepts a conversation or not.",
24
24
  " It will return false for non-logged requests."].join
25
25
 
26
- field :organization_name, GraphQL::Types::String, "The user's organization name", null: false
26
+ field :organization_name, Decidim::Core::TranslatedFieldType, "The user's organization name", null: false
27
27
 
28
28
  field :deleted, GraphQL::Types::Boolean, "Whether the user's account has been deleted or not", null: false
29
29
 
@@ -26,8 +26,8 @@ module Decidim
26
26
  # options Rails route helpers accept
27
27
  # @return [String] The full URL to the asset or when host cannot be
28
28
  # resolved, the asset path.
29
- def url(**options)
30
- path = ActionController::Base.helpers.asset_pack_path(asset, **options)
29
+ def url(**)
30
+ path = ActionController::Base.helpers.asset_pack_path(asset, **)
31
31
  return path if path.match?(%r{\A(https?:)?//})
32
32
 
33
33
  "#{asset_host}#{path}"