decidim-core 0.32.0 → 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.
- checksums.yaml +4 -4
- data/app/cells/decidim/comments_button_cell.rb +9 -1
- data/app/cells/decidim/content_blocks/participatory_space_main_data/title.erb +1 -14
- data/app/cells/decidim/data_consent/category.erb +20 -33
- data/app/cells/decidim/following_cell.rb +1 -1
- data/app/cells/decidim/footer_topics/show.erb +5 -8
- data/app/cells/decidim/member/show.erb +1 -1
- data/app/cells/decidim/nav_links/show.erb +3 -1
- data/app/cells/decidim/share_text_widget/modal.erb +1 -0
- data/app/cells/decidim/share_widget/modal.erb +1 -0
- data/app/cells/decidim/share_widget/qr_code_modal.erb +2 -4
- data/app/commands/decidim/create_omniauth_registration.rb +17 -2
- data/app/controllers/concerns/decidim/devise_authentication_methods.rb +4 -0
- data/app/controllers/concerns/decidim/devise_controllers.rb +2 -0
- data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +2 -0
- data/app/controllers/concerns/decidim/filter_resource.rb +2 -0
- data/app/controllers/concerns/decidim/impersonate_users.rb +2 -2
- data/app/controllers/concerns/decidim/locale_switcher.rb +12 -10
- data/app/controllers/concerns/decidim/needs_permission.rb +22 -10
- data/app/controllers/concerns/decidim/onboarding_action_methods.rb +2 -0
- data/app/controllers/concerns/decidim/paginable.rb +7 -3
- data/app/controllers/concerns/decidim/payload_info.rb +2 -0
- data/app/controllers/concerns/decidim/resource_versions_concern.rb +14 -0
- data/app/controllers/decidim/application_controller.rb +0 -6
- data/app/controllers/decidim/authorization_modals_controller.rb +2 -0
- data/app/controllers/decidim/components/base_controller.rb +2 -0
- data/app/controllers/decidim/devise/passwords_controller.rb +8 -0
- data/app/controllers/decidim/favicon_controller.rb +9 -0
- data/app/controllers/decidim/free_resource_authorization_modals_controller.rb +2 -0
- data/app/controllers/decidim/gamification/badges_controller.rb +2 -0
- data/app/controllers/decidim/homepage_controller.rb +4 -1
- data/app/controllers/decidim/likes_controller.rb +1 -1
- data/app/controllers/decidim/links_controller.rb +2 -0
- data/app/controllers/decidim/manifests_controller.rb +2 -0
- data/app/controllers/decidim/messaging/conversations_controller.rb +10 -4
- data/app/controllers/decidim/newsletters_controller.rb +4 -0
- data/app/controllers/decidim/notifications_subscriptions_controller.rb +4 -0
- data/app/controllers/decidim/offline_controller.rb +5 -1
- data/app/controllers/decidim/open_data_controller.rb +5 -1
- data/app/controllers/decidim/pages_controller.rb +31 -3
- data/app/controllers/decidim/private_downloads_controller.rb +2 -0
- data/app/controllers/decidim/profiles_controller.rb +19 -1
- data/app/controllers/decidim/qr_controller.rb +3 -1
- data/app/controllers/decidim/resource_autocomplete_controller.rb +2 -0
- data/app/controllers/decidim/searches_controller.rb +2 -0
- data/app/controllers/decidim/short_links_controller.rb +4 -0
- data/app/controllers/decidim/static_map_controller.rb +2 -0
- data/app/controllers/decidim/timeouts_controller.rb +4 -0
- data/app/controllers/decidim/tos_controller.rb +2 -0
- data/app/controllers/decidim/upload_validations_controller.rb +4 -2
- data/app/controllers/decidim/user_activities_controller.rb +3 -0
- data/app/forms/decidim/upload_validation_form.rb +16 -10
- data/app/helpers/concerns/decidim/user_role_checker.rb +35 -10
- data/app/helpers/decidim/decidim_form_helper.rb +1 -1
- data/app/helpers/decidim/menu_helper.rb +0 -2
- data/app/helpers/decidim/sanitize_helper.rb +11 -1
- data/app/jobs/decidim/application_job.rb +4 -0
- data/app/models/decidim/authorization.rb +24 -0
- data/app/models/decidim/oauth_application.rb +1 -0
- data/app/models/decidim/user.rb +3 -2
- data/app/models/decidim/user_base_entity.rb +1 -1
- data/app/packs/src/decidim/callout.js +10 -0
- data/app/packs/src/decidim/callout.test.js +32 -0
- data/app/packs/src/decidim/controllers/accordion/accordion.test.js +260 -42
- data/app/packs/src/decidim/controllers/accordion/controller.js +136 -17
- data/app/packs/src/decidim/controllers/autofocus/controller.js +30 -0
- data/app/packs/src/decidim/controllers/dropdown/controller.js +6 -0
- data/app/packs/src/decidim/controllers/dropdown/dropdown.test.js +28 -0
- data/app/packs/src/decidim/controllers/language_change/controller.js +21 -8
- data/app/packs/src/decidim/controllers/language_change/language_change.test.js +0 -1
- data/app/packs/src/decidim/controllers/main_menu/controller.js +4 -0
- data/app/packs/src/decidim/controllers/main_menu/main_menu.test.js +23 -0
- data/app/packs/src/decidim/controllers/mention/controller.js +32 -3
- data/app/packs/src/decidim/controllers/mention/input_mentions.test.js +8 -5
- data/app/packs/src/decidim/controllers/multiple_mentions/input_multiple_mentions.test.js +1 -1
- data/app/packs/src/decidim/controllers/password_toggler/controller.js +22 -1
- data/app/packs/src/decidim/controllers/password_toggler/password_toggler.test.js +11 -20
- data/app/packs/src/decidim/datepicker/datepicker_functions.js +41 -25
- data/app/packs/src/decidim/datepicker/generate_datepicker.js +4 -4
- data/app/packs/src/decidim/datepicker/test/datepicker_functions_adjust_picker_position.test.js +64 -0
- data/app/packs/src/decidim/datepicker/test/time.test.js +39 -24
- data/app/packs/src/decidim/direct_uploads/upload_modal.js +2 -1
- data/app/packs/src/decidim/editor/common/suggestion.js +32 -22
- data/app/packs/src/decidim/editor/extensions/mention/index.js +14 -3
- data/app/packs/src/decidim/editor/index.js +4 -0
- data/app/packs/src/decidim/editor/test/extensions/mention.test.js +32 -9
- data/app/packs/src/decidim/map/controller.js +10 -1
- data/app/packs/src/decidim/refactor/implementation/autofocus.js +22 -0
- data/app/packs/src/decidim/refactor/implementation/autofocus.test.js +171 -0
- data/app/packs/src/decidim/refactor/moved/focus_guard.js +12 -12
- data/app/packs/src/decidim/refactor/moved/focus_guard.test.js +136 -0
- data/app/packs/src/decidim/utilities/dom.js +2 -2
- data/app/packs/stylesheets/decidim/_cards.scss +1 -1
- data/app/packs/stylesheets/decidim/_content_blocks.scss +4 -10
- data/app/packs/stylesheets/decidim/_conversations.scss +0 -8
- data/app/packs/stylesheets/decidim/_cookies.scss +13 -5
- data/app/packs/stylesheets/decidim/_documents.scss +1 -1
- data/app/packs/stylesheets/decidim/_footer.scss +33 -1
- data/app/packs/stylesheets/decidim/_modal.scss +16 -8
- data/app/packs/stylesheets/decidim/_modal_share.scss +0 -22
- data/app/packs/stylesheets/decidim/_participatory_spaces.scss +12 -2
- data/app/packs/stylesheets/decidim/_rich_text.scss +12 -9
- data/app/packs/stylesheets/decidim/_typography.scss +5 -2
- data/app/packs/stylesheets/decidim/application.scss +1 -0
- data/app/packs/stylesheets/decidim/legacy/email.scss +0 -5
- data/app/permissions/decidim/permissions.rb +20 -0
- data/app/presenters/decidim/admin_log/component_presenter.rb +1 -1
- data/app/presenters/decidim/footer_menu_presenter.rb +2 -4
- data/app/presenters/decidim/log/base_presenter.rb +10 -1
- data/app/presenters/decidim/log/user_presenter.rb +2 -2
- data/app/presenters/decidim/menu_item_presenter.rb +1 -5
- data/app/presenters/decidim/resource_presenter.rb +11 -0
- data/app/resolvers/decidim/meta_image_url_resolver.rb +14 -1
- data/app/serializers/decidim/exporters/open_data_blocked_user_serializer.rb +11 -2
- data/app/serializers/decidim/exporters/open_data_moderation_serializer.rb +25 -1
- data/app/services/decidim/svg_content_validator.rb +554 -0
- data/app/uploaders/decidim/application_uploader.rb +2 -2
- data/app/validators/uploader_image_content_validator.rb +276 -0
- data/app/views/decidim/application/_radio_accordion.html.erb +1 -5
- data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +1 -1
- data/app/views/decidim/messaging/conversations/create.js.erb +1 -3
- data/app/views/decidim/searches/_filters.html.erb +1 -1
- data/app/views/decidim/shared/_login_modal.html.erb +12 -14
- data/app/views/layouts/decidim/_mailer_logo.html.erb +1 -1
- data/app/views/layouts/decidim/footer/_main.html.erb +1 -1
- data/app/views/layouts/decidim/footer/_main_links.html.erb +56 -28
- data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +3 -2
- data/config/initializers/rack_attack.rb +10 -0
- data/config/locales/bg.yml +0 -1
- data/config/locales/ca-IT.yml +9 -1
- data/config/locales/ca.yml +16 -6
- data/config/locales/cs.yml +31 -1
- data/config/locales/de.yml +99 -3
- data/config/locales/en.yml +11 -1
- data/config/locales/es-MX.yml +11 -1
- data/config/locales/es-PY.yml +11 -1
- data/config/locales/es.yml +15 -5
- data/config/locales/eu.yml +166 -161
- data/config/locales/fi-plain.yml +9 -1
- data/config/locales/fi.yml +9 -1
- data/config/locales/fr-CA.yml +12 -1
- data/config/locales/fr.yml +12 -1
- data/config/locales/gl.yml +1485 -33
- data/config/locales/hu.yml +0 -1
- data/config/locales/ja.yml +28 -1
- data/config/locales/pl.yml +2 -1
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/ro-RO.yml +0 -1
- data/config/locales/sk.yml +2 -1
- data/config/locales/sv.yml +68 -12
- data/config/locales/tr-TR.yml +0 -2
- data/config/routes.rb +11 -2
- data/db/migrate/20250217192438_convert_user_groups_into_users.rb +3 -2
- data/db/migrate/20260909000000_add_failed_attempts_and_locked_at_to_decidim_authorizations.rb +8 -0
- data/decidim-core.gemspec +4 -1
- data/lib/decidim/api/functions/user_entity_list.rb +1 -0
- data/lib/decidim/api/types/user_moderation_type.rb +2 -2
- data/lib/decidim/content_parsers/user_parser.rb +1 -1
- data/lib/decidim/content_parsers.rb +0 -1
- data/lib/decidim/content_renderers/mention_resource_renderer.rb +18 -4
- data/lib/decidim/content_renderers/user_renderer.rb +15 -4
- data/lib/decidim/core/test/shared_examples/access_mode_restricted_participatory_spaces.rb +8 -5
- data/lib/decidim/core/test/shared_examples/access_mode_transparent_participatory_spaces.rb +14 -11
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +26 -0
- data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +77 -0
- data/lib/decidim/core/test/shared_examples/participatory_space_members_shared_examples.rb +58 -0
- data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +23 -1
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/core.rb +10 -1
- data/lib/decidim/form_builder.rb +9 -1
- data/lib/decidim/has_upload_validations.rb +1 -0
- data/lib/decidim/legacy_form_builder.rb +4 -0
- data/lib/decidim/map/dynamic_map.rb +3 -1
- metadata +33 -7
- data/lib/decidim/content_parsers/inline_images_parser.rb +0 -68
- data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +0 -79
data/config/locales/es-PY.yml
CHANGED
|
@@ -252,6 +252,7 @@ es-PY:
|
|
|
252
252
|
create: "%{user_name} agregó el componente %{resource_name} al espacio %{space_name}"
|
|
253
253
|
delete: "%{user_name} eliminó el componente %{resource_name} del espacio %{space_name}"
|
|
254
254
|
export_component: "%{user_name} ha exportado %{resource_name} %{component_name} en %{space_name} como %{format_name}"
|
|
255
|
+
menu_hidden: "%{user_name} ocultó el componente %{resource_name} del menú en el espacio de participación: %{space_name}"
|
|
255
256
|
publish: "%{user_name} publicó el componente %{resource_name} en el espacio %{space_name}"
|
|
256
257
|
restore: "%{user_name} restauró el componente %{resource_name} en el espacio %{space_name}"
|
|
257
258
|
soft_delete: "%{user_name} ha movido el componente %{resource_name} del espacio %{space_name} a la papelera"
|
|
@@ -858,6 +859,8 @@ es-PY:
|
|
|
858
859
|
errors:
|
|
859
860
|
files:
|
|
860
861
|
file_cannot_be_processed: No se ha podido procesar el archivo
|
|
862
|
+
file_contains_unsafe_content: El archivo contiene contenido no seguro
|
|
863
|
+
file_is_not_a_valid_image: El archivo no es una imagen válida
|
|
861
864
|
file_resolution_too_large: La resolución del archivo es demasiado grande
|
|
862
865
|
not_inside_organization: El archivo no está vinculado a ninguna organización.
|
|
863
866
|
internal_server_error:
|
|
@@ -1208,6 +1211,8 @@ es-PY:
|
|
|
1208
1211
|
dynamic:
|
|
1209
1212
|
screen_reader_explanation: El siguiente elemento es un mapa que presenta los componentes de esta página como puntos en el mapa. El elemento se puede utilizar con un lector de pantalla pero puede ser difícil de entender.
|
|
1210
1213
|
skip_button: Saltar el mapa
|
|
1214
|
+
zoom_in: Ampliar
|
|
1215
|
+
zoom_out: Alejar
|
|
1211
1216
|
static:
|
|
1212
1217
|
latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
|
|
1213
1218
|
map_service_brand: OpenStreetMap
|
|
@@ -1549,6 +1554,10 @@ es-PY:
|
|
|
1549
1554
|
never_logged_in: nunca ha iniciado sesión
|
|
1550
1555
|
subject: Aviso de cuenta inactiva
|
|
1551
1556
|
participatory_space:
|
|
1557
|
+
labels:
|
|
1558
|
+
reference: Referencia del espacio de participación
|
|
1559
|
+
restricted: Espacio de participación restringido
|
|
1560
|
+
transparent: Espacio de participación transparente
|
|
1552
1561
|
pages:
|
|
1553
1562
|
user_profile:
|
|
1554
1563
|
member_of:
|
|
@@ -1707,6 +1716,8 @@ es-PY:
|
|
|
1707
1716
|
login_modal:
|
|
1708
1717
|
please_log_in: Por favor, inicia la sesión
|
|
1709
1718
|
sign_up: Crea una cuenta
|
|
1719
|
+
mentions:
|
|
1720
|
+
search_prompt: Escribe aquí para buscar entre las participantes
|
|
1710
1721
|
mentions_modal:
|
|
1711
1722
|
remove_recipient: Eliminar destinataria %{name}
|
|
1712
1723
|
progress: Progreso
|
|
@@ -2086,7 +2097,6 @@ es-PY:
|
|
|
2086
2097
|
layouts:
|
|
2087
2098
|
decidim:
|
|
2088
2099
|
announcements:
|
|
2089
|
-
view_less: Mostrar menos
|
|
2090
2100
|
view_more: Más información
|
|
2091
2101
|
data_consent:
|
|
2092
2102
|
details:
|
data/config/locales/es.yml
CHANGED
|
@@ -252,6 +252,7 @@ es:
|
|
|
252
252
|
create: "%{user_name} agregó el componente %{resource_name} al espacio %{space_name}"
|
|
253
253
|
delete: "%{user_name} eliminó el componente %{resource_name} del espacio %{space_name}"
|
|
254
254
|
export_component: "%{user_name} ha exportado %{resource_name} %{component_name} en %{space_name} como %{format_name}"
|
|
255
|
+
menu_hidden: "%{user_name} ocultó el componente %{resource_name} del menú en el espacio de participación: %{space_name}"
|
|
255
256
|
publish: "%{user_name} publicó el componente %{resource_name} en el espacio %{space_name}"
|
|
256
257
|
restore: "%{user_name} restauró el componente %{resource_name} en el espacio %{space_name}"
|
|
257
258
|
soft_delete: "%{user_name} ha movido el componente %{resource_name} del espacio %{space_name} a la papelera"
|
|
@@ -855,6 +856,8 @@ es:
|
|
|
855
856
|
errors:
|
|
856
857
|
files:
|
|
857
858
|
file_cannot_be_processed: No se ha podido procesar el archivo
|
|
859
|
+
file_contains_unsafe_content: El archivo contiene contenido no seguro
|
|
860
|
+
file_is_not_a_valid_image: El archivo no es una imagen válida
|
|
858
861
|
file_resolution_too_large: La resolución del archivo es demasiado grande
|
|
859
862
|
not_inside_organization: El archivo no está vinculado a ninguna organización.
|
|
860
863
|
internal_server_error:
|
|
@@ -902,12 +905,12 @@ es:
|
|
|
902
905
|
email_intro: 'Una enmienda rechazada para %{amendable_title} ha sido publicada como una nueva %{amendable_type}. Puedes verla desde esta página:'
|
|
903
906
|
email_outro: Has recibido esta notificación porque se ha promocionado una esmena al apartado "%{amendable_title}" que administras.
|
|
904
907
|
email_subject: Se ha publicado una modificación de %{emendation_author_name} como nuevo %{amendable_type}
|
|
905
|
-
notification_title:
|
|
908
|
+
notification_title: La <a href="%{emendation_path}">enmienda rechazada</a> para <a href="%{amendable_path}">%{amendable_title}</a> se ha publicado como un nuevo %{amendable_type} por <a href="%{emendation_author_path}">%{emendation_author_name}</a>.
|
|
906
909
|
follower:
|
|
907
910
|
email_intro: 'Una enmienda rechazada para %{amendable_title} ha sido publicada como nueva %{amendable_type}. Puedes verla desde esta página:'
|
|
908
911
|
email_outro: Has recibido esta notificación porque estás siguiendo la enmienda "%{amendable_title}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
|
|
909
912
|
email_subject: Se ha publicado una enmienda hecha por %{emendation_author_name} como nuevo %{amendable_type}
|
|
910
|
-
notification_title:
|
|
913
|
+
notification_title: La <a href="%{emendation_path}">enmienda rechazada</a> para <a href="%{amendable_path}">%{amendable_title}</a> se ha publicado como un nuevo %{amendable_type} por <a href="%{emendation_author_path}">%{emendation_author_name}</a>.
|
|
911
914
|
amendment_rejected:
|
|
912
915
|
affected_user:
|
|
913
916
|
email_intro: 'Una enmienda ha sido rechazada por %{amendable_title}. Puedes verla desde esta página:'
|
|
@@ -987,7 +990,7 @@ es:
|
|
|
987
990
|
Una administradora eliminó tu %{resource_type} porque ha sido reportado como %{report_reasons}.</br>
|
|
988
991
|
<i>%{resource_content}</i>
|
|
989
992
|
resource_liked:
|
|
990
|
-
email_intro: '%{liker_name}, a quien sigues, le acaba de gustar: "%{resource_title}", que puede ser interesante para ti. Revisala y contribuye:'
|
|
993
|
+
email_intro: 'A %{liker_name}, a quien sigues, le acaba de gustar: "%{resource_title}", que puede ser interesante para ti. Revisala y contribuye:'
|
|
991
994
|
email_outro: Has recibido esta notificación porque estás siguiendo la iniciativa "%{liker_name}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
|
|
992
995
|
email_subject: "%{liker_name} ha realizado un nuevo \"me gusta\""
|
|
993
996
|
notification_title: 'A <a href="%{liker_path}">%{liker_name}</a> le ha gustado la %{resource_type}: <a href="%{resource_path}">%{resource_title}</a>.'
|
|
@@ -997,7 +1000,7 @@ es:
|
|
|
997
1000
|
users:
|
|
998
1001
|
profile_updated:
|
|
999
1002
|
email_intro: La <a href="%{resource_url}">página de perfil</a> de %{name}, a quien estás siguiendo, se ha actualizado.
|
|
1000
|
-
email_outro: Has recibido esta notificación porque estás siguiendo "%{name}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
|
|
1003
|
+
email_outro: Has recibido esta notificación porque estás siguiendo a "%{name}". Puedes dejar de recibir notificaciones siguiendo el enlace anterior.
|
|
1001
1004
|
email_subject: "%{name} actualizó su perfil"
|
|
1002
1005
|
notification_title: La <a href="%{resource_path}">página de perfil</a> de %{name}, a quien estás siguiendo, se ha actualizado.
|
|
1003
1006
|
user_officialized:
|
|
@@ -1205,6 +1208,8 @@ es:
|
|
|
1205
1208
|
dynamic:
|
|
1206
1209
|
screen_reader_explanation: El siguiente elemento es un mapa que presenta los componentes de esta página como puntos en el mapa. El elemento se puede utilizar con un lector de pantalla pero puede ser difícil de entender.
|
|
1207
1210
|
skip_button: Saltar el mapa
|
|
1211
|
+
zoom_in: Ampliar
|
|
1212
|
+
zoom_out: Alejar
|
|
1208
1213
|
static:
|
|
1209
1214
|
latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
|
|
1210
1215
|
map_service_brand: OpenStreetMap
|
|
@@ -1546,6 +1551,10 @@ es:
|
|
|
1546
1551
|
never_logged_in: nunca ha iniciado sesión
|
|
1547
1552
|
subject: Aviso de cuenta inactiva
|
|
1548
1553
|
participatory_space:
|
|
1554
|
+
labels:
|
|
1555
|
+
reference: Referencia del espacio de participación
|
|
1556
|
+
restricted: Espacio de participación restringido
|
|
1557
|
+
transparent: Espacio de participación transparente
|
|
1549
1558
|
pages:
|
|
1550
1559
|
user_profile:
|
|
1551
1560
|
member_of:
|
|
@@ -1704,6 +1713,8 @@ es:
|
|
|
1704
1713
|
login_modal:
|
|
1705
1714
|
please_log_in: Por favor, inicia la sesión
|
|
1706
1715
|
sign_up: Crea una cuenta
|
|
1716
|
+
mentions:
|
|
1717
|
+
search_prompt: Escribe aquí para buscar entre las participantes
|
|
1707
1718
|
mentions_modal:
|
|
1708
1719
|
remove_recipient: Eliminar destinataria %{name}
|
|
1709
1720
|
progress: Progreso
|
|
@@ -2086,7 +2097,6 @@ es:
|
|
|
2086
2097
|
layouts:
|
|
2087
2098
|
decidim:
|
|
2088
2099
|
announcements:
|
|
2089
|
-
view_less: Mostrar menos
|
|
2090
2100
|
view_more: Más información
|
|
2091
2101
|
data_consent:
|
|
2092
2102
|
details:
|