decidim-core 0.31.2 → 0.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +3 -13
- data/app/cells/decidim/amendable/amend_button_card/show.erb +2 -2
- data/app/cells/decidim/amendable/amend_button_card_cell.rb +1 -1
- data/app/cells/decidim/author_cell.rb +0 -4
- data/app/cells/decidim/card_metadata_cell.rb +1 -1
- data/app/cells/decidim/comments_button_cell.rb +9 -1
- data/app/cells/decidim/content_blocks/announcement_settings_form/show.erb +5 -0
- data/app/cells/decidim/content_blocks/announcement_settings_form_cell.rb +17 -0
- data/app/cells/decidim/content_blocks/cta_settings_form/show.erb +1 -1
- data/app/cells/decidim/content_blocks/hero_settings_form/show.erb +1 -1
- data/app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/highlighted_content_banner_settings_form/show.erb +1 -1
- data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list_cell.rb +5 -1
- data/app/cells/decidim/content_blocks/highlighted_participatory_spaces_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/how_to_participate/show.erb +1 -1
- data/app/cells/decidim/content_blocks/html_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/participatory_space_announcement_cell.rb +1 -3
- data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +1 -5
- data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb +1 -1
- data/app/cells/decidim/content_blocks/static_page/section_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/static_page/section_settings_form/show.erb +3 -1
- data/app/cells/decidim/content_blocks/static_page/summary_cell.rb +1 -1
- data/app/cells/decidim/content_blocks/static_page/summary_settings_form/show.erb +3 -1
- data/app/cells/decidim/content_blocks/static_page/two_pane_section_cell.rb +2 -2
- data/app/cells/decidim/content_blocks/static_page/two_pane_section_settings_form/show.erb +4 -2
- data/app/cells/decidim/data_consent/category.erb +25 -38
- data/app/cells/decidim/footer_topics/show.erb +5 -8
- data/app/cells/decidim/{participatory_space_private_user → member}/show.erb +6 -6
- data/app/cells/decidim/{participatory_space_private_user_cell.rb → member_cell.rb} +1 -5
- data/app/cells/decidim/nav_links/show.erb +3 -3
- data/app/cells/decidim/onboarding_action_message_cell.rb +1 -0
- data/app/cells/decidim/profile/details.erb +1 -1
- data/app/cells/decidim/profile_cell.rb +1 -0
- data/app/cells/decidim/profile_member_of/show.erb +13 -0
- data/app/cells/decidim/profile_member_of_cell.rb +35 -0
- data/app/cells/decidim/report_button/already_reported_modal.erb +1 -1
- data/app/cells/decidim/report_button/flag_modal.erb +1 -1
- data/app/cells/decidim/report_user_button/already_reported_modal.erb +1 -1
- data/app/cells/decidim/report_user_button/flag_modal.erb +1 -1
- data/app/cells/decidim/resource_types_filter/show.erb +2 -2
- data/app/cells/decidim/share_text_widget/modal.erb +1 -1
- data/app/cells/decidim/share_widget/qr_code_modal.erb +1 -1
- data/app/cells/decidim/tags_cell.rb +1 -1
- data/app/cells/decidim/upload_modal/files.erb +5 -1
- data/app/cells/decidim/upload_modal_cell.rb +15 -1
- data/app/cells/decidim/versions_list/show.erb +25 -0
- data/app/commands/decidim/create_follow.rb +3 -5
- data/app/commands/decidim/create_user_report.rb +1 -1
- data/app/commands/decidim/destroy_account.rb +15 -4
- data/app/commands/decidim/multiple_attachments_methods.rb +42 -24
- data/app/commands/decidim/search.rb +5 -5
- data/app/controllers/concerns/decidim/ajax_permission_handler.rb +1 -1
- data/app/controllers/concerns/decidim/devise_controllers.rb +9 -0
- data/app/controllers/concerns/decidim/direct_upload.rb +3 -2
- data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +1 -1
- data/app/controllers/concerns/decidim/force_authentication.rb +10 -1
- data/app/controllers/concerns/decidim/impersonate_users.rb +4 -0
- data/app/controllers/concerns/decidim/locale_switcher.rb +52 -2
- data/app/controllers/concerns/decidim/needs_tos_accepted.rb +1 -1
- data/app/controllers/concerns/decidim/participatory_space/has_members_page.rb +27 -0
- data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -5
- data/app/controllers/decidim/account_controller.rb +1 -1
- data/app/controllers/decidim/amendments_controller.rb +5 -4
- data/app/controllers/decidim/components/base_controller.rb +20 -3
- data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -1
- data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
- data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
- data/app/controllers/decidim/devise/sessions_controller.rb +1 -1
- data/app/controllers/decidim/download_your_data_controller.rb +2 -2
- data/app/controllers/decidim/editor_images_controller.rb +1 -1
- data/app/controllers/decidim/follows_controller.rb +4 -3
- data/app/controllers/decidim/geolocation_controller.rb +1 -1
- data/app/controllers/decidim/likes_controller.rb +2 -1
- data/app/controllers/decidim/locales_controller.rb +3 -11
- data/app/controllers/decidim/messaging/conversations_controller.rb +3 -3
- data/app/controllers/decidim/newsletters_controller.rb +1 -1
- data/app/controllers/decidim/notifications_settings_controller.rb +1 -1
- data/app/controllers/decidim/notifications_subscriptions_controller.rb +8 -0
- data/app/controllers/decidim/open_data_controller.rb +1 -1
- data/app/controllers/decidim/private_downloads_controller.rb +29 -0
- data/app/controllers/decidim/report_users_controller.rb +2 -2
- data/app/controllers/decidim/reports_controller.rb +1 -1
- data/app/controllers/decidim/user_activities_controller.rb +1 -2
- data/app/events/decidim/amendable/amendment_base_event.rb +7 -1
- data/app/events/decidim/welcome_notification_event.rb +1 -1
- data/app/forms/decidim/upload_validation_form.rb +1 -1
- data/app/helpers/concerns/decidim/flash_helper_extensions.rb +1 -0
- data/app/helpers/decidim/active_link_to_helper.rb +136 -0
- data/app/helpers/decidim/amendments_helper.rb +3 -3
- data/app/helpers/decidim/check_boxes_tree_helper.rb +2 -2
- data/app/helpers/decidim/component_path_helper.rb +9 -4
- data/app/helpers/decidim/filters_helper.rb +0 -2
- data/app/helpers/decidim/mailer_helper.rb +36 -0
- data/app/helpers/decidim/menu_helper.rb +4 -5
- data/app/helpers/decidim/meta_tags_helper.rb +0 -2
- data/app/helpers/decidim/newsletters_helper.rb +4 -22
- data/app/helpers/decidim/paginate_helper.rb +14 -1
- data/app/helpers/decidim/sanitize_helper.rb +1 -0
- data/app/helpers/decidim/short_link_helper.rb +5 -5
- data/app/helpers/decidim/translations_helper.rb +4 -4
- data/app/jobs/decidim/delete_inactive_participants_job.rb +2 -2
- data/app/jobs/decidim/find_and_update_descendants_job.rb +8 -2
- data/app/jobs/decidim/process_inactive_participant_job.rb +0 -7
- data/app/jobs/decidim/update_search_indexes_job.rb +2 -2
- data/app/mailers/decidim/application_mailer.rb +11 -2
- data/app/mailers/decidim/decidim_devise_mailer.rb +1 -0
- data/app/mailers/decidim/delete_user_mailer.rb +14 -0
- data/app/mailers/decidim/participants_account_mailer.rb +0 -16
- data/app/mailers/decidim/reported_mailer.rb +4 -1
- data/app/models/decidim/action_log.rb +1 -1
- data/app/models/decidim/attachment.rb +20 -2
- data/app/models/decidim/authorization.rb +7 -0
- data/app/models/decidim/authorization_transfer.rb +1 -1
- data/app/models/decidim/component.rb +6 -9
- data/app/models/decidim/content_block.rb +3 -3
- data/app/models/decidim/moderation.rb +1 -1
- data/app/models/decidim/newsletter.rb +2 -2
- data/app/models/decidim/participatory_space/member.rb +55 -0
- data/app/models/decidim/private_download.rb +61 -0
- data/app/models/decidim/private_export.rb +6 -0
- data/app/models/decidim/resource_link.rb +1 -1
- data/app/models/decidim/short_link.rb +1 -1
- data/app/models/decidim/user.rb +2 -2
- data/app/models/decidim/user_base_entity.rb +17 -2
- data/app/models/decidim/user_moderation.rb +1 -1
- data/app/packs/src/decidim/a11y.js +29 -0
- data/app/packs/src/decidim/a11y.test.js +81 -0
- data/app/packs/src/decidim/confirm.js +8 -1
- data/app/packs/src/decidim/confirm.test.js +225 -0
- data/app/packs/src/decidim/controllers/accordion/accordion.test.js +272 -0
- data/app/packs/src/decidim/controllers/accordion/controller.js +117 -17
- data/app/packs/src/decidim/controllers/assign_role/assign_role.test.js +80 -0
- data/app/packs/src/decidim/controllers/assign_role/controller.js +27 -0
- data/app/packs/src/decidim/controllers/breadcrumb_truncate/breadcrumb_truncate.test.js +230 -0
- data/app/packs/src/decidim/controllers/breadcrumb_truncate/controller.js +172 -0
- data/app/packs/src/decidim/controllers/dropdown/controller.js +32 -0
- data/app/packs/src/decidim/controllers/dropdown/dropdown.test.js +215 -0
- data/app/packs/src/decidim/controllers/form_validator/form_validator.js +9 -8
- data/app/packs/src/decidim/controllers/form_validator/form_validator.test.js +28 -1
- data/app/packs/src/decidim/controllers/language_change/controller.js +1 -0
- data/app/packs/src/decidim/controllers/language_change/language_change.test.js +13 -0
- data/app/packs/src/decidim/controllers/main_menu/controller.js +152 -0
- data/app/packs/src/decidim/controllers/main_menu/main_menu.test.js +285 -0
- data/app/packs/src/decidim/controllers/mention/controller.js +296 -140
- data/app/packs/src/decidim/controllers/mention/input_mentions.test.js +120 -457
- data/app/packs/src/decidim/controllers/multiple_mentions/controller.js +68 -32
- data/app/packs/src/decidim/controllers/multiple_mentions/input_multiple_mentions.test.js +30 -23
- 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 +26 -0
- data/app/packs/src/decidim/datepicker/generate_datepicker.js +3 -14
- data/app/packs/src/decidim/datepicker/generate_timepicker.js +3 -2
- data/app/packs/src/decidim/datepicker/test/datepicker_functions_adjust_picker_position.test.js +234 -0
- data/app/packs/src/decidim/direct_uploads/upload_field.js +4 -4
- data/app/packs/src/decidim/direct_uploads/upload_modal.js +12 -7
- data/app/packs/src/decidim/editor/common/suggestion.js +4 -2
- data/app/packs/src/decidim/editor/extensions/decidim_kit/index.js +4 -1
- data/app/packs/src/decidim/editor/extensions/image/index.js +57 -16
- data/app/packs/src/decidim/editor/extensions/image/node_view.js +9 -1
- data/app/packs/src/decidim/editor/extensions/indent/index.js +9 -0
- data/app/packs/src/decidim/editor/extensions/link/bubble_menu.js +34 -6
- data/app/packs/src/decidim/editor/extensions/link/index.js +53 -12
- data/app/packs/src/decidim/editor/extensions/mention/index.js +18 -5
- data/app/packs/src/decidim/editor/extensions/mention_resource/index.js +16 -7
- data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +13 -4
- data/app/packs/src/decidim/editor/test/extensions/heading.test.js +1 -1
- data/app/packs/src/decidim/editor/test/extensions/image.test.js +26 -28
- data/app/packs/src/decidim/editor/test/extensions/image_links.test.js +161 -0
- data/app/packs/src/decidim/editor/test/extensions/mention.test.js +6 -2
- data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +27 -15
- data/app/packs/src/decidim/editor/test/helpers.js +8 -10
- data/app/packs/src/decidim/editor/test/toolbar/full.test.js +15 -4
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +8 -4
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +5 -1
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +9 -5
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +5 -1
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +8 -4
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +13 -9
- data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +6 -2
- data/app/packs/src/decidim/geocoding/reverse_geocoding.js +15 -5
- data/app/packs/src/decidim/geocoding/reverse_geocoding.test.js +197 -0
- data/app/packs/src/decidim/index.js +4 -4
- data/app/packs/src/decidim/map/controller.js +10 -1
- data/app/packs/src/decidim/refactor/moved/focus_guard.js +16 -16
- data/app/packs/src/decidim/refactor/moved/focus_guard.test.js +136 -0
- data/app/packs/src/decidim/sw/push-permissions.js +48 -13
- data/app/packs/src/decidim/sw/sw.js +1 -1
- data/app/packs/src/decidim/utilities/text.js +6 -6
- data/app/packs/stylesheets/decidim/_cards.scss +15 -6
- data/app/packs/stylesheets/decidim/_conversations.scss +14 -0
- data/app/packs/stylesheets/decidim/_cookies.scss +13 -5
- data/app/packs/stylesheets/decidim/_datepicker.scss +0 -8
- data/app/packs/stylesheets/decidim/_documents.scss +1 -1
- data/app/packs/stylesheets/decidim/_dropdown.scss +22 -32
- data/app/packs/stylesheets/decidim/_editor_suggestions.scss +49 -0
- data/app/packs/stylesheets/decidim/_flash.scss +1 -1
- data/app/packs/stylesheets/decidim/_floating_help.scss +1 -1
- data/app/packs/stylesheets/decidim/_footer.scss +27 -31
- data/app/packs/stylesheets/decidim/_forms.scss +5 -1
- data/app/packs/stylesheets/decidim/_header.scss +183 -48
- data/app/packs/stylesheets/decidim/_language_chooser.scss +79 -0
- data/app/packs/stylesheets/decidim/_participatory_spaces.scss +1 -1
- data/app/packs/stylesheets/decidim/_rich_text.scss +17 -0
- data/app/packs/stylesheets/decidim/_tom_select.scss +23 -0
- data/app/packs/stylesheets/decidim/application.scss +3 -0
- data/app/packs/stylesheets/decidim/editor.scss +12 -33
- data/app/packs/stylesheets/decidim/geocoding_addons.scss +10 -2
- data/app/presenters/decidim/admin_log/participatory_space/member_presenter.rb +40 -0
- data/app/presenters/decidim/admin_log/static_page_resource_presenter.rb +1 -1
- data/app/presenters/decidim/authorization_transfer_presenter.rb +1 -1
- data/app/presenters/decidim/breadcrumb_root_menu_item_presenter.rb +3 -3
- data/app/presenters/decidim/footer_menu_presenter.rb +2 -4
- data/app/presenters/decidim/log/user_presenter.rb +1 -0
- data/app/presenters/decidim/log/value_types/access_mode_presenter.rb +45 -0
- data/app/presenters/decidim/menu_item_presenter.rb +15 -3
- data/app/presenters/decidim/participatory_space/member_presenter.rb +48 -0
- data/app/presenters/decidim/resource_locator_presenter.rb +22 -3
- data/app/presenters/decidim/stats_presenter.rb +1 -1
- data/app/queries/decidim/last_activity.rb +1 -1
- data/app/resolvers/decidim/meta_image_url_resolver.rb +7 -0
- data/app/serializers/decidim/exporters/participatory_space_serializer.rb +15 -1
- data/app/services/decidim/email_notification_generator.rb +2 -0
- data/app/services/decidim/notification_generator.rb +4 -0
- data/app/services/decidim/notifications_subscriptions_persistor.rb +6 -0
- data/app/services/decidim/push_subscription_endpoint_validator.rb +34 -0
- data/app/services/decidim/send_push_notification.rb +5 -1
- data/app/uploaders/decidim/image_uploader.rb +1 -1
- data/app/uploaders/decidim/organization_favicon_uploader.rb +4 -9
- data/app/validators/uploader_image_dimensions_validator.rb +13 -11
- data/app/views/decidim/delete_user_mailer/delete.html.erb +6 -0
- data/app/views/decidim/devise/invitations/edit.html.erb +3 -3
- data/app/views/decidim/devise/registrations/new.html.erb +1 -0
- data/app/views/decidim/devise/shared/_tos_fields.html.erb +3 -3
- data/app/views/decidim/gamification/badges/index.html.erb +1 -1
- data/app/views/decidim/homepage/show.html.erb +2 -2
- data/app/views/decidim/last_activities/index.html.erb +1 -1
- data/app/views/decidim/messaging/conversations/_error_modal.html.erb +11 -19
- data/app/views/decidim/messaging/conversations/_new_conversation_button.html.erb +1 -1
- data/app/views/decidim/messaging/conversations/_reply.html.erb +1 -1
- data/app/views/decidim/messaging/conversations/error.js.erb +12 -7
- data/app/views/decidim/messaging/conversations/new.html.erb +1 -1
- data/app/views/decidim/messaging/conversations/show.html.erb +2 -2
- data/app/views/decidim/newsletters/unsubscribe.html.erb +1 -1
- data/app/views/decidim/notification_mailer/event_received.html.erb +3 -3
- data/app/views/decidim/notifications_settings/show.html.erb +5 -5
- data/app/views/decidim/offline/show.html.erb +1 -1
- data/app/views/decidim/pages/_tabbed.html.erb +3 -3
- data/app/views/decidim/pages/index.html.erb +1 -1
- data/app/views/decidim/participatory_space/members/_member.html.erb +1 -0
- data/app/views/decidim/profiles/show.html.erb +1 -1
- data/app/views/decidim/searches/_filters.html.erb +1 -1
- data/app/views/decidim/shared/_filters.html.erb +5 -5
- data/app/views/decidim/shared/_resource_actions.html.erb +4 -4
- data/app/views/decidim/shared/_results_per_page.html.erb +1 -1
- data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +2 -2
- data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
- data/app/views/decidim/shared/filters/_dropdown_label.html.erb +4 -3
- data/app/views/decidim/user_activities/index.html.erb +1 -1
- data/app/views/devise/mailer/{invite_private_user.html.erb → invite_member.html.erb} +2 -2
- data/app/views/devise/mailer/{invite_private_user.text.erb → invite_member.text.erb} +2 -2
- data/app/views/layouts/decidim/_head.html.erb +2 -2
- data/app/views/layouts/decidim/_wrapper.html.erb +3 -3
- data/app/views/layouts/decidim/footer/_focus_mode_main.html.erb +0 -1
- data/app/views/layouts/decidim/footer/_main.html.erb +1 -2
- data/app/views/layouts/decidim/footer/_main_links.html.erb +56 -28
- data/app/views/layouts/decidim/header/_focus_mode_back_button.html.erb +4 -1
- data/app/views/layouts/decidim/header/_main.html.erb +17 -8
- data/app/views/layouts/decidim/header/_main_language_chooser.html.erb +24 -0
- data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +56 -56
- data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +2 -2
- data/app/views/layouts/decidim/header/_main_links_mobile_item_account.html.erb +3 -1
- data/app/views/layouts/decidim/header/_main_menu_mobile.html.erb +18 -5
- data/app/views/layouts/decidim/header/_main_search.html.erb +3 -3
- data/app/views/layouts/decidim/header/_menu.html.erb +5 -5
- data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +40 -12
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile.html.erb +33 -0
- data/app/views/layouts/decidim/shared/_layout_center.html.erb +1 -1
- data/app/views/layouts/decidim/shared/_layout_item.html.erb +1 -1
- data/app/views/layouts/decidim/shared/_layout_two_col.html.erb +1 -1
- data/config/initializers/decidim_locale_aware_named_route_helper.rb +16 -0
- data/config/initializers/devise.rb +6 -0
- data/config/initializers/invisible_captcha.rb +1 -0
- data/config/locales/ar.yml +6 -38
- data/config/locales/bg.yml +3 -39
- data/config/locales/ca-IT.yml +91 -58
- data/config/locales/ca.yml +91 -58
- data/config/locales/cs.yml +54 -58
- data/config/locales/de.yml +45 -68
- data/config/locales/el.yml +3 -31
- data/config/locales/en.yml +88 -55
- data/config/locales/es-MX.yml +93 -60
- data/config/locales/es-PY.yml +93 -60
- data/config/locales/es.yml +95 -62
- data/config/locales/eu.yml +124 -92
- data/config/locales/fi-plain.yml +93 -55
- data/config/locales/fi.yml +96 -58
- data/config/locales/fr-CA.yml +70 -52
- data/config/locales/fr.yml +71 -54
- data/config/locales/ga-IE.yml +3 -1
- data/config/locales/gl.yml +3 -31
- data/config/locales/hu.yml +7 -40
- data/config/locales/id-ID.yml +3 -30
- data/config/locales/is-IS.yml +0 -6
- data/config/locales/it.yml +15 -33
- data/config/locales/ja.yml +105 -71
- data/config/locales/lb.yml +3 -33
- data/config/locales/lt.yml +4 -37
- data/config/locales/lv.yml +3 -30
- data/config/locales/nl.yml +3 -33
- data/config/locales/no.yml +3 -33
- data/config/locales/pl.yml +7 -41
- data/config/locales/pt-BR.yml +24 -65
- data/config/locales/pt.yml +3 -33
- data/config/locales/ro-RO.yml +12 -55
- data/config/locales/ru.yml +0 -16
- data/config/locales/sk.yml +1417 -32
- data/config/locales/sv.yml +44 -62
- data/config/locales/tr-TR.yml +20 -37
- data/config/locales/uk.yml +0 -9
- data/config/locales/zh-CN.yml +3 -30
- data/config/locales/zh-TW.yml +4 -35
- data/config/routes.rb +140 -76
- data/db/data/20251213075429_rename_members_in_action_log.rb +22 -0
- data/db/data/20260319145808_rename_send_to_members_in_newsletter.rb +27 -0
- data/db/migrate/20200730142511_add_file_upload_settings_to_decidim_organizations.rb +13 -15
- data/db/migrate/20250217192438_convert_user_groups_into_users.rb +3 -2
- data/db/migrate/20250523104311_move_cta_to_hero_content_block.rb +1 -1
- data/db/migrate/20250527122040_move_highlighted_content_banner_settings_to_content_block.rb +1 -1
- data/db/migrate/20250819110800_convert_private_exports_id_to_uuid.rb +2 -2
- data/db/migrate/20251112132305_remove_legacy_images_from_core_module.rb +27 -0
- data/db/migrate/20251205122428_rename_participatory_space_private_users_to_members.rb +9 -0
- data/db/migrate/20251216185133_rename_privatable_to_to_participatory_space_in_members.rb +10 -0
- data/db/migrate/20260208201405_remove_user_group_core.rb +21 -0
- data/db/migrate/20260208201406_remove_user_group_memberships.rb +30 -0
- data/db/migrate/20260208201407_remove_user_group_organizations.rb +11 -0
- data/db/migrate/20260217152425_remove_enable_participatory_space_filters_from_decidim_organizations.rb +7 -0
- data/db/migrate/20260314081619_add_index_on_decidim_members.rb +25 -0
- data/decidim-core.gemspec +28 -28
- data/lib/decidim/acts_as_tree.rb +12 -12
- data/lib/decidim/admin_filters_registry.rb +1 -1
- data/lib/decidim/amendable.rb +5 -1
- data/lib/decidim/api/functions/category_list.rb +1 -0
- data/lib/decidim/api/functions/component_finder_base.rb +1 -1
- data/lib/decidim/api/functions/component_list.rb +3 -1
- data/lib/decidim/api/functions/component_list_base.rb +1 -0
- data/lib/decidim/api/functions/participatory_space_finder_base.rb +1 -1
- data/lib/decidim/api/functions/participatory_space_list_base.rb +1 -0
- data/lib/decidim/api/functions/user_entity_list.rb +2 -1
- data/lib/decidim/api/interfaces/amendable_entity_interface.rb +1 -0
- data/lib/decidim/api/interfaces/amendable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/attachable_collection_interface.rb +1 -0
- data/lib/decidim/api/interfaces/attachable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/author_interface.rb +2 -1
- data/lib/decidim/api/interfaces/authorable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/categories_container_interface.rb +1 -0
- data/lib/decidim/api/interfaces/categorizable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/coauthorable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/component_interface.rb +9 -8
- data/lib/decidim/api/interfaces/fingerprint_interface.rb +1 -0
- data/lib/decidim/api/interfaces/followable_interface.rb +2 -0
- data/lib/decidim/api/interfaces/likeable_interface.rb +2 -2
- data/lib/decidim/api/interfaces/localizable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/participatory_space_interface.rb +1 -0
- data/lib/decidim/api/interfaces/referable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/scopable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/taxonomizable_interface.rb +1 -0
- data/lib/decidim/api/interfaces/timestamps_interface.rb +1 -0
- data/lib/decidim/api/interfaces/traceable_interface.rb +1 -0
- data/lib/decidim/api/types/attachment_collection_type.rb +5 -3
- data/lib/decidim/api/types/attachment_type.rb +11 -4
- data/lib/decidim/api/types/badge_score_type.rb +28 -0
- data/lib/decidim/api/types/moderation_type.rb +25 -0
- data/lib/decidim/api/types/participant_details_type.rb +17 -0
- data/lib/decidim/api/types/reportable_type.rb +18 -0
- data/lib/decidim/api/types/reportable_user_type.rb +17 -0
- data/lib/decidim/api/types/static_page_topic_type.rb +16 -0
- data/lib/decidim/api/types/static_page_type.rb +22 -0
- data/lib/decidim/api/types/taxonomy_type.rb +2 -0
- data/lib/decidim/api/types/user_moderation_type.rb +36 -0
- data/lib/decidim/api/types/user_type.rb +13 -0
- data/lib/decidim/asset_router/pipeline.rb +1 -1
- data/lib/decidim/asset_router/storage.rb +9 -9
- data/lib/decidim/assets/tailwind/tailwind.config.js.erb +4 -1
- data/lib/decidim/attachment_attributes.rb +58 -9
- data/lib/decidim/attribute_encryptor.rb +51 -10
- data/lib/decidim/attribute_object/model.rb +0 -5
- data/lib/decidim/block_registry.rb +1 -1
- data/lib/decidim/coauthorable.rb +2 -1
- data/lib/decidim/command.rb +2 -1
- data/lib/decidim/content_parsers/blob_parser.rb +3 -3
- data/lib/decidim/content_processor.rb +1 -1
- data/lib/decidim/content_renderers/base_renderer.rb +112 -0
- data/lib/decidim/content_renderers/blob_renderer.rb +6 -9
- data/lib/decidim/content_renderers/mention_resource_renderer.rb +10 -6
- data/lib/decidim/content_renderers/resource_renderer.rb +16 -7
- data/lib/decidim/content_renderers/user_renderer.rb +11 -9
- data/lib/decidim/core/api.rb +8 -0
- data/lib/decidim/core/content_blocks/registry_manager.rb +4 -10
- data/lib/decidim/core/engine.rb +10 -34
- data/lib/decidim/core/menu.rb +0 -26
- data/lib/decidim/core/test/factories.rb +32 -18
- data/lib/decidim/core/test/shared_examples/access_mode_restricted_participatory_spaces.rb +175 -0
- data/lib/decidim/core/test/shared_examples/access_mode_transparent_participatory_spaces.rb +244 -0
- data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +10 -10
- data/lib/decidim/core/test/shared_examples/amendable/amendment_event_examples.rb +2 -2
- data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +3 -3
- data/lib/decidim/core/test/shared_examples/comments_examples.rb +147 -117
- data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +2 -0
- data/lib/decidim/core/test/shared_examples/has_members.rb +63 -0
- data/lib/decidim/core/test/shared_examples/has_space_in_mcell_examples.rb +2 -1
- data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/map_examples.rb +1 -1
- data/lib/decidim/core/test/shared_examples/participant_details_examples.rb +16 -0
- data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +10 -10
- data/lib/decidim/core/test/shared_examples/participatory_space_members_shared_examples.rb +121 -0
- data/lib/decidim/core/test/shared_examples/resource_liked_event_examples.rb +3 -3
- data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +7 -7
- data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +3 -3
- data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +2 -2
- data/lib/decidim/core/test/shared_examples/simple_event.rb +1 -0
- data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +2 -2
- data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +1 -1
- data/lib/decidim/core/test.rb +2 -1
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/core.rb +222 -335
- data/lib/decidim/download_your_data_serializers/{download_your_data_participatory_space_private_user_serializer.rb → download_your_data_member_serializer.rb} +6 -6
- data/lib/decidim/download_your_data_serializers.rb +2 -2
- data/lib/decidim/engine_router.rb +31 -6
- data/lib/decidim/exporters/csv.rb +1 -1
- data/lib/decidim/filter_form_builder.rb +1 -1
- data/lib/decidim/form_builder.rb +58 -36
- data/{app/controllers/concerns → lib}/decidim/form_factory.rb +11 -1
- data/lib/decidim/has_settings.rb +2 -2
- data/lib/decidim/legacy_form_builder.rb +1 -0
- data/lib/decidim/locale_router_detector.rb +41 -0
- data/lib/decidim/maintenance/import_models/scope.rb +1 -1
- data/lib/decidim/maintenance/import_models.rb +0 -2
- data/lib/decidim/maintenance/taxonomy_importer.rb +1 -1
- data/lib/decidim/map/autocomplete.rb +4 -3
- data/lib/decidim/map/dynamic_map.rb +3 -1
- data/lib/decidim/map/frontend.rb +1 -1
- data/lib/decidim/map/geocoding.rb +2 -2
- data/lib/decidim/map/static_map.rb +10 -22
- data/lib/decidim/map/utility.rb +3 -6
- data/lib/decidim/map.rb +2 -2
- data/lib/decidim/menu.rb +1 -1
- data/lib/decidim/menu_item.rb +1 -0
- data/lib/decidim/menu_registry.rb +1 -1
- data/lib/decidim/moderation_tools.rb +1 -1
- data/lib/decidim/newsletter_encryptor.rb +5 -8
- data/lib/decidim/organization_settings.rb +2 -2
- data/lib/decidim/participable.rb +1 -0
- data/lib/decidim/participatory_space/has_members.rb +61 -0
- data/lib/decidim/participatory_space_manifest.rb +0 -4
- data/lib/decidim/participatory_space_resourceable.rb +10 -1
- data/lib/decidim/participatory_space_user.rb +1 -1
- data/lib/decidim/routes/locale_redirects.rb +47 -0
- data/lib/decidim/routes.rb +7 -0
- data/lib/decidim/search_resource_fields_mapper.rb +3 -4
- data/lib/decidim/searchable.rb +9 -4
- data/lib/decidim/seeds.rb +17 -0
- data/lib/decidim/shakapacker/runner.rb +4 -4
- data/lib/decidim/shakapacker/shakapacker.yml +28 -3
- data/lib/decidim/taxonomizable.rb +1 -1
- data/lib/decidim/translatable_attributes.rb +9 -3
- data/lib/decidim/view_model.rb +5 -1
- data/lib/devise/models/decidim_newsletterable.rb +1 -1
- data/lib/tasks/decidim_mailers_tasks.rake +31 -9
- data/lib/tasks/decidim_procfile.rake +1 -1
- data/lib/tasks/decidim_tasks.rake +0 -1
- data/lib/tasks/decidim_taxonomies.rake +1 -1
- data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +0 -1
- data/lib/tasks/upgrade/decidim_encryption.rake +12 -0
- data/lib/tasks/upgrade/decidim_migrate_wysiwyg_content.rake +0 -1
- data/lib/tasks/upgrade/decidim_remove_deleted_users_left_data_tasks.rake +1 -1
- data/lib/tasks/upgrade/{fix_deleted_private_follows.rake → fix_deleted_members_follows.rake} +5 -5
- data/lib/tasks/upgrade/migrations.rake +0 -1
- data/lib/tasks/upgrade/user_groups_migration.rake +0 -1
- metadata +244 -132
- data/app/cells/decidim/content_blocks/global_menu/show.erb +0 -11
- data/app/cells/decidim/content_blocks/global_menu_cell.rb +0 -35
- data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity/show.erb +0 -10
- data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +0 -49
- data/app/cells/decidim/participatory_space_dropdown_metadata/links.erb +0 -9
- data/app/cells/decidim/participatory_space_dropdown_metadata/metadata.erb +0 -1
- data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +0 -11
- data/app/cells/decidim/participatory_space_dropdown_metadata_cell.rb +0 -26
- data/app/commands/decidim/gallery_methods.rb +0 -107
- data/app/controllers/concerns/decidim/has_members_page.rb +0 -25
- data/app/jobs/decidim/newsletters_opt_in_job.rb +0 -11
- data/app/jobs/decidim/user_report_job.rb +0 -11
- data/app/models/decidim/participatory_space_private_user.rb +0 -51
- data/app/packs/src/decidim/controllers/sticky_header/controller.js +0 -116
- data/app/packs/src/decidim/controllers/sticky_header/sticky_header.test.js +0 -320
- data/app/packs/src/decidim/dropdown_menu.js +0 -18
- data/app/packs/src/decidim/identity_selector_dialog.js +0 -33
- data/app/packs/src/decidim/vendor/tribute.js +0 -1890
- data/app/packs/stylesheets/decidim/_tribute.scss +0 -36
- data/app/presenters/decidim/admin_log/participatory_space_private_user_presenter.rb +0 -38
- data/app/presenters/decidim/participatory_space_private_user_presenter.rb +0 -46
- data/app/views/decidim/participants_account_mailer/removal_notification.html.erb +0 -11
- data/app/views/decidim/participatory_space_private_users/_participatory_space_private_user.html.erb +0 -1
- data/app/views/layouts/decidim/footer/_main_language_chooser.html.erb +0 -26
- data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +0 -34
- data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_desktop.html.erb +0 -10
- data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_mobile.html.erb +0 -17
- data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_top_left.html.erb +0 -2
- data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +0 -33
- data/app/views/layouts/decidim/header/_mobile_language_choose.html.erb +0 -25
- data/lib/decidim/core/test/shared_examples/has_private_users.rb +0 -63
- data/lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb +0 -81
- data/lib/decidim/has_private_users.rb +0 -57
- data/lib/decidim/maintenance/import_models/assembly_type.rb +0 -49
- data/lib/decidim/maintenance/import_models/participatory_process_type.rb +0 -21
- data/lib/decidim/query_extensions.rb +0 -64
data/config/locales/zh-CN.yml
CHANGED
|
@@ -109,9 +109,6 @@ zh-CN:
|
|
|
109
109
|
update: "%{user_name} 更新了 %{resource_name} OAuth 应用程序"
|
|
110
110
|
organization:
|
|
111
111
|
update: "%{user_name} 更新了组织设置"
|
|
112
|
-
participatory_space_private_user:
|
|
113
|
-
create: "%{user_name} 邀請了 %{resource_name} 作为私人参与者"
|
|
114
|
-
delete: "%{user_name} 移除了参与者 %{resource_name} 作为私人参与者"
|
|
115
112
|
scope:
|
|
116
113
|
create: "%{user_name} 创建了 %{resource_name} 范围"
|
|
117
114
|
create_with_parent: "%{user_name} 在 %{parent_scope} 范围内创建了 %{resource_name} 范围"
|
|
@@ -176,9 +173,6 @@ zh-CN:
|
|
|
176
173
|
update_draft:
|
|
177
174
|
error: 更新修正草案时遇到问题。
|
|
178
175
|
success: 修正草稿已成功更新。
|
|
179
|
-
wizard_step_form:
|
|
180
|
-
steps:
|
|
181
|
-
'1': 创建您的修改
|
|
182
176
|
anonymous_user: 匿名的
|
|
183
177
|
application:
|
|
184
178
|
document:
|
|
@@ -266,7 +260,6 @@ zh-CN:
|
|
|
266
260
|
global:
|
|
267
261
|
amendments_enabled: 修改已启用
|
|
268
262
|
comments_enabled: 评论已启用
|
|
269
|
-
comments_max_length: 评论最大长度
|
|
270
263
|
dummy_global_attribute1: 虚拟属性 1
|
|
271
264
|
dummy_global_attribute2: 虚拟属性 2
|
|
272
265
|
dummy_global_translatable_text: 虚拟可翻译文本
|
|
@@ -355,13 +348,9 @@ zh-CN:
|
|
|
355
348
|
affected_user:
|
|
356
349
|
email_intro: '%{amendable_title}的修改已被接受。您可以从这个页面查看:'
|
|
357
350
|
email_outro: 您收到此通知是因为您是 %{amendable_title} 的作者。
|
|
358
|
-
email_subject: 接受来自 %{amendable_title} 的 %{emendation_author_nickname} 修正案
|
|
359
|
-
notification_title: 由 <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> 创建的 <a href="%{emendation_path}">修正</a> 已被接受 <a href="%{amendable_path}">%{amendable_title}</a>。
|
|
360
351
|
follower:
|
|
361
352
|
email_intro: '%{amendable_title}的修改已被接受。您可以从这个页面查看:'
|
|
362
353
|
email_outro: 您收到此通知是因为您正在关注 %{amendable_title}。您可以停止收到跟随上一个链接的通知。
|
|
363
|
-
email_subject: 接受来自 %{amendable_title} 的 %{emendation_author_nickname} 修正案
|
|
364
|
-
notification_title: 由 <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> 创建的 <a href="%{emendation_path}">修正</a> 已被接受 <a href="%{amendable_path}">%{amendable_title}</a>。
|
|
365
354
|
amendment_created:
|
|
366
355
|
affected_user:
|
|
367
356
|
email_intro: '已经为 %{amendable_title}创建了一个新的版本。您可以从这个页面查看它:'
|
|
@@ -377,22 +366,16 @@ zh-CN:
|
|
|
377
366
|
affected_user:
|
|
378
367
|
email_intro: '%{amendable_title} 的被拒绝的修订已经发布为新的 %{amendable_type}。您可以从这个页面查看:'
|
|
379
368
|
email_outro: 您收到此通知是因为您是 %{amendable_title} 的作者。
|
|
380
|
-
email_subject: 来自 %{emendation_author_nickname} 的修订已经发布为新的 %{amendable_type}
|
|
381
369
|
follower:
|
|
382
370
|
email_intro: '%{amendable_title} 的被拒绝的修订已经发布为新的 %{amendable_type}。您可以从这个页面查看:'
|
|
383
371
|
email_outro: 您收到此通知是因为您正在关注 %{amendable_title}。您可以停止收到跟随上一个链接的通知。
|
|
384
|
-
email_subject: 来自 %{emendation_author_nickname} 的修订已经发布为新的 %{amendable_type}
|
|
385
372
|
amendment_rejected:
|
|
386
373
|
affected_user:
|
|
387
374
|
email_intro: '%{amendable_title}的修订已被拒绝。您可以从这个页面查看:'
|
|
388
375
|
email_outro: 您收到此通知是因为您是 %{amendable_title} 的作者。
|
|
389
|
-
email_subject: '%{amendable_title} 的 %{emendation_author_nickname} 修正案被拒绝'
|
|
390
|
-
notification_title: 由 <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> 创建的 <a href="%{emendation_path}">项修正</a> 已被 <a href="%{amendable_path}">%{amendable_title}</a> 拒绝。
|
|
391
376
|
follower:
|
|
392
377
|
email_intro: '%{amendable_title}的修订已被拒绝。您可以从这个页面查看:'
|
|
393
378
|
email_outro: 您收到此通知是因为您正在关注 %{amendable_title}。您可以停止收到跟随上一个链接的通知。
|
|
394
|
-
email_subject: '%{amendable_title} 的 %{emendation_author_nickname} 修正案被拒绝'
|
|
395
|
-
notification_title: 由 <a href="%{emendation_author_path}">%{emendation_author_nickname}</a> 创建的 <a href="%{emendation_path}">项修正</a> 已被 <a href="%{amendable_path}">%{amendable_title}</a> 拒绝。
|
|
396
379
|
attachments:
|
|
397
380
|
attachment_created:
|
|
398
381
|
email_intro: '一个新文档已添加到 %{resource_title}。您可以从这个页面查看:'
|
|
@@ -415,12 +398,6 @@ zh-CN:
|
|
|
415
398
|
email_outro: 您收到此通知是因为您在我们的网站上进行了活动。
|
|
416
399
|
level_up:
|
|
417
400
|
email_outro: 您收到此通知是因为您在我们的网站上进行了活动。
|
|
418
|
-
users:
|
|
419
|
-
profile_updated:
|
|
420
|
-
email_intro: 您关注的 %{name} (%{nickname}) 的 <a href="%{resource_url}">个人资料页面</a> 已经更新。
|
|
421
|
-
email_outro: 您收到此通知是因为您正在关注 %{nickname}。您可以停止收到跟随上一个链接的通知。
|
|
422
|
-
email_subject: "%{nickname} 更新了他们的个人资料"
|
|
423
|
-
notification_title: 您关注的 %{name} (%{nickname}) 的 <a href="%{resource_path}">个人资料页面</a> 已经更新。
|
|
424
401
|
export_mailer:
|
|
425
402
|
download_your_data_export:
|
|
426
403
|
download: 下载
|
|
@@ -527,7 +504,6 @@ zh-CN:
|
|
|
527
504
|
latlng_text: '纬度: %{latitude}, 经度: %{longitude}'
|
|
528
505
|
map_service_brand: OpenStreetMap
|
|
529
506
|
menu:
|
|
530
|
-
help: 帮助
|
|
531
507
|
home: 首页
|
|
532
508
|
messaging:
|
|
533
509
|
conversation_mailer:
|
|
@@ -546,7 +522,6 @@ zh-CN:
|
|
|
546
522
|
modal_title: 新建对话
|
|
547
523
|
no_results: 没有结果
|
|
548
524
|
error_modal:
|
|
549
|
-
close: 关闭模式
|
|
550
525
|
correct_errors: 请更正错误,然后重试。
|
|
551
526
|
intro: '您的消息有以下错误:'
|
|
552
527
|
ok: 好的
|
|
@@ -636,6 +611,9 @@ zh-CN:
|
|
|
636
611
|
subheading: 浏览 %{name} 的帮助页面
|
|
637
612
|
title: 帮助
|
|
638
613
|
topics: 主题
|
|
614
|
+
participatory_space_members:
|
|
615
|
+
index:
|
|
616
|
+
members: 成员
|
|
639
617
|
profile:
|
|
640
618
|
deleted: 删除参与者
|
|
641
619
|
profiles:
|
|
@@ -773,8 +751,6 @@ zh-CN:
|
|
|
773
751
|
submit_button: 发送邀请
|
|
774
752
|
no_invitations_remaining: 没有剩余邀请
|
|
775
753
|
send_instructions: 邀请邮件已发送至 %{email}。
|
|
776
|
-
updated: 您的密码设置成功。您现在已登录。
|
|
777
|
-
updated_not_active: 您的密码设置成功。
|
|
778
754
|
mailer:
|
|
779
755
|
confirmation_instructions:
|
|
780
756
|
action: 确认我的帐户
|
|
@@ -790,10 +766,8 @@ zh-CN:
|
|
|
790
766
|
decline: 拒绝邀请
|
|
791
767
|
hello: 您好 %{email},
|
|
792
768
|
invited_you_as_admin: "%{invited_by} 邀请您担任了 %{application}的管理员。您可以通过下面的链接接受它。"
|
|
793
|
-
invited_you_as_private_user: "%{invited_by} 邀请您作为私有参与者 %{application}。您可以通过下面的链接接受它。"
|
|
794
769
|
someone_invited_you: 有人邀请您访问 %{application}。您可以通过下面的链接接受它。
|
|
795
770
|
someone_invited_you_as_admin: 有人邀请您作为 %{application}的管理员,您可以通过下面的链接接受它。
|
|
796
|
-
someone_invited_you_as_private_user: 有人邀请您作为私有参与者 %{application},您可以通过下面的链接接受它。
|
|
797
771
|
subject: 邀请说明
|
|
798
772
|
password_change:
|
|
799
773
|
greeting: 你好 %{recipient}!
|
|
@@ -912,7 +886,6 @@ zh-CN:
|
|
|
912
886
|
fallback: 无效
|
|
913
887
|
name_included_in_password: 与您的名字太近了
|
|
914
888
|
not_enough_unique_characters: 没有足够的唯一字符
|
|
915
|
-
password_not_allowed: 不允许
|
|
916
889
|
password_too_common: 太常见了
|
|
917
890
|
password_too_long: 太长
|
|
918
891
|
password_too_short: 太短了
|
data/config/locales/zh-TW.yml
CHANGED
|
@@ -196,10 +196,6 @@ zh-TW:
|
|
|
196
196
|
organization:
|
|
197
197
|
update: "%{user_name} 更新了組織設定"
|
|
198
198
|
update_external_domain: "%{user_name} 更新了組織外部域名"
|
|
199
|
-
participatory_space_private_user:
|
|
200
|
-
create: "%{user_name} 邀請了 %{resource_name} 成為私人參與者"
|
|
201
|
-
create_via_csv: "%{user_name} 透過 CSV 邀請了 %{resource_name} 成為私人參與者"
|
|
202
|
-
delete: "%{user_name} 將參與者 %{resource_name} 從私人參與者中移除"
|
|
203
199
|
scope:
|
|
204
200
|
create: "%{user_name} 創建了 %{resource_name} 範圍"
|
|
205
201
|
create_with_parent: "%{user_name} 在 %{parent_scope} 範圍內創建了 %{resource_name} 範圍"
|
|
@@ -293,9 +289,6 @@ zh-TW:
|
|
|
293
289
|
success: 修正案草稿成功更新。
|
|
294
290
|
withdraw:
|
|
295
291
|
success: 修正案已成功撤回.
|
|
296
|
-
wizard_step_form:
|
|
297
|
-
steps:
|
|
298
|
-
'1': 創建您的修正案
|
|
299
292
|
anonymous_user: 匿名
|
|
300
293
|
application:
|
|
301
294
|
document:
|
|
@@ -409,7 +402,6 @@ zh-TW:
|
|
|
409
402
|
global:
|
|
410
403
|
amendments_enabled: 修改功能已啟用
|
|
411
404
|
comments_enabled: 啟用評論功能
|
|
412
|
-
comments_max_length: 評論最大長度
|
|
413
405
|
dummy_global_attribute1: 虛擬屬性 1
|
|
414
406
|
dummy_global_attribute2: 虛擬屬性 2
|
|
415
407
|
dummy_global_translatable_text: 虛擬可翻譯文字
|
|
@@ -554,13 +546,9 @@ zh-TW:
|
|
|
554
546
|
affected_user:
|
|
555
547
|
email_intro: '已接受對於 %{amendable_title} 的修正案。您可以從此頁面中查看:'
|
|
556
548
|
email_outro: 你收到此通知,是因為你是%{amendable_title} 的作者。
|
|
557
|
-
email_subject: 已接受對於 %{amendable_title} 的修正案,來自於 %{emendation_author_nickname}
|
|
558
|
-
notification_title: <a href="%{emendation_path}">修正案</a>由<a href="%{emendation_author_path}">%{emendation_author_nickname}</a>創建,已被接受適用於<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
559
549
|
follower:
|
|
560
550
|
email_intro: '已接受對於 %{amendable_title} 的修正案。您可以從此頁面中查看:'
|
|
561
551
|
email_outro: 您收到此通知,是因為您正在關注 %{amendable_title}。您可以使用上面的連結停止接收通知。
|
|
562
|
-
email_subject: 已接受對於 %{amendable_title} 的修正案,來自於 %{emendation_author_nickname}
|
|
563
|
-
notification_title: <a href="%{emendation_path}">修正案</a>由<a href="%{emendation_author_path}">%{emendation_author_nickname}</a>創建,已被接受適用於<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
564
552
|
amendment_created:
|
|
565
553
|
affected_user:
|
|
566
554
|
email_intro: '已為 %{amendable_title} 創建一個新的修正案。您可以從此頁面查看:'
|
|
@@ -576,24 +564,16 @@ zh-TW:
|
|
|
576
564
|
affected_user:
|
|
577
565
|
email_intro: '一個被拒絕的修正案已被發佈為新的 %{amendable_type},針對 %{amendable_title}。您可以從此頁面查看:'
|
|
578
566
|
email_outro: 你收到此通知,是因為你是%{amendable_title} 的作者。
|
|
579
|
-
email_subject: 來自 %{emendation_author_nickname} 的修正案已被發佈為新的 %{amendable_type}
|
|
580
|
-
notification_title: 一個<a href="%{emendation_path}">被拒絕的修正案</a>已由<a href="%{emendation_author_path}">%{emendation_author_nickname}</a>發佈為新的 %{amendable_type},針對<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
581
567
|
follower:
|
|
582
568
|
email_intro: '一個被拒絕的修正案已被發佈為新的 %{amendable_type},針對 %{amendable_title}。您可以從此頁面查看:'
|
|
583
569
|
email_outro: 您收到此通知,是因為您正在關注 %{amendable_title}。您可以使用上面的連結停止接收通知。
|
|
584
|
-
email_subject: 來自 %{emendation_author_nickname} 的修正案已被發佈為新的 %{amendable_type}
|
|
585
|
-
notification_title: 一個<a href="%{emendation_path}">被拒絕的修正案</a>已由<a href="%{emendation_author_path}">%{emendation_author_nickname}</a>發佈為新的 %{amendable_type},針對<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
586
570
|
amendment_rejected:
|
|
587
571
|
affected_user:
|
|
588
572
|
email_intro: '一個修正案已被拒絕,針對 %{amendable_title}。您可以從此頁面查看:'
|
|
589
573
|
email_outro: 你收到此通知,是因為你是%{amendable_title} 的作者。
|
|
590
|
-
email_subject: 修正案由 %{emendation_author_nickname} 提交,針對 %{amendable_title},已被拒絕。
|
|
591
|
-
notification_title: <a href="%{emendation_path}">%{emendation_author_nickname}</a>創建的<a href="%{emendation_path}">修正案</a>已被拒絕,針對<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
592
574
|
follower:
|
|
593
575
|
email_intro: '一個修正案已被拒絕,針對 %{amendable_title}。您可以從此頁面查看:'
|
|
594
576
|
email_outro: 您收到此通知,是因為您正在關注 %{amendable_title}。您可以使用上面的連結停止接收通知。
|
|
595
|
-
email_subject: 修正案由 %{emendation_author_nickname} 提交,針對 %{amendable_title},已被拒絕。
|
|
596
|
-
notification_title: <a href="%{emendation_path}">%{emendation_author_nickname}</a>創建的<a href="%{emendation_path}">修正案</a>已被拒絕,針對<a href="%{amendable_path}">%{amendable_title}</a>。
|
|
597
577
|
attachments:
|
|
598
578
|
attachment_created:
|
|
599
579
|
email_intro: '已新增一個文件至 %{resource_title}。您可以從此頁面查看:'
|
|
@@ -630,16 +610,9 @@ zh-TW:
|
|
|
630
610
|
notification_title: |-
|
|
631
611
|
一位管理員因為 %{report_reasons} 的舉報,移除了您的%{resource_type}。</br> <i>%{resource_content}</i>
|
|
632
612
|
users:
|
|
633
|
-
profile_updated:
|
|
634
|
-
email_intro: 你正在追蹤的 %{name}(%{nickname}) 的<a href="%{resource_path}">個人資料頁面</a>已被更新。
|
|
635
|
-
email_outro: 您收到此通知是因為您正在關注 %{nickname}。您可以點擊上方的連結停止接收通知。
|
|
636
|
-
email_subject: "%{nickname} 更新了他們的個人資料。"
|
|
637
|
-
notification_title: 你正在追蹤的 %{name}(%{nickname}) 的<a href="%{resource_path}">個人資料頁面</a>已被更新。
|
|
638
613
|
user_officialized:
|
|
639
|
-
email_intro: 參與者 %{name} (%{nickname}) 已被官方認證。
|
|
640
614
|
email_outro: 您收到此通知是因為您是該組織的管理員。
|
|
641
615
|
email_subject: "%{name} 已被官方認證。"
|
|
642
|
-
notification_title: 參與者 %{name} (%{nickname}) 已被官方認證。
|
|
643
616
|
export_mailer:
|
|
644
617
|
download_your_data_export:
|
|
645
618
|
download: 下載
|
|
@@ -797,7 +770,6 @@ zh-TW:
|
|
|
797
770
|
latlng_text: '緯度:%{latitude},經度:%{longitude}'
|
|
798
771
|
map_service_brand: 開放街圖
|
|
799
772
|
menu:
|
|
800
|
-
help: 幫助
|
|
801
773
|
home: 首頁
|
|
802
774
|
messaging:
|
|
803
775
|
conversation_mailer:
|
|
@@ -819,7 +791,6 @@ zh-TW:
|
|
|
819
791
|
create:
|
|
820
792
|
error: 對話未開始。請稍後再試。
|
|
821
793
|
error_modal:
|
|
822
|
-
close: 關閉視窗
|
|
823
794
|
correct_errors: 請修正錯誤後再試一次。
|
|
824
795
|
intro: '您的訊息有以下錯誤:'
|
|
825
796
|
ok: 好的
|
|
@@ -979,6 +950,9 @@ zh-TW:
|
|
|
979
950
|
alert: 我們已更新我們的服務條款,請您查閱。
|
|
980
951
|
body: 請花一點時間檢閱我們的服務條款更新,否則您將無法使用平台。
|
|
981
952
|
title: '必須:檢閱我們的服務條款更新'
|
|
953
|
+
participatory_space_members:
|
|
954
|
+
index:
|
|
955
|
+
members: 成員
|
|
982
956
|
passwords:
|
|
983
957
|
update:
|
|
984
958
|
error: 密碼更新時發生問題.
|
|
@@ -1167,8 +1141,6 @@ zh-TW:
|
|
|
1167
1141
|
submit_button: 發送一個邀請
|
|
1168
1142
|
no_invitations_remaining: 沒有待處理的邀請
|
|
1169
1143
|
send_instructions: 已向 %{email} 發送了一封邀請郵件。
|
|
1170
|
-
updated: 您的密碼已成功設定。您現在已登入。
|
|
1171
|
-
updated_not_active: 您的密碼已成功設定。
|
|
1172
1144
|
mailer:
|
|
1173
1145
|
confirmation_instructions:
|
|
1174
1146
|
action: 確認我的帳戶
|
|
@@ -1187,10 +1159,8 @@ zh-TW:
|
|
|
1187
1159
|
ignore: |-
|
|
1188
1160
|
如果您不想接受邀請,請忽略此電子郵件。<br />在您使用上述連結設置您的暱稱和密碼之前,您的帳戶不會被創建。
|
|
1189
1161
|
invited_you_as_admin: "%{invited_by} 邀請您成為 %{application} 的管理員。您可以通過下面的連結接受邀請。"
|
|
1190
|
-
invited_you_as_private_user: "%{invited_by} 邀請您成為 %{application} 的私密參與者。您可以通過下面的連結接受邀請。"
|
|
1191
1162
|
someone_invited_you: 有人邀請您加入 %{application}。您可以通過下面的連結接受邀請。
|
|
1192
1163
|
someone_invited_you_as_admin: 有人邀請您成為 %{application} 的管理員,您可以通過下面的連結接受邀請。
|
|
1193
|
-
someone_invited_you_as_private_user: 有人邀請您成為 %{application} 的私人參與者,您可以通過下面的連結接受邀請。
|
|
1194
1164
|
subject: 邀請說明
|
|
1195
1165
|
invite_admin:
|
|
1196
1166
|
subject: 你已經被邀請成為 %{organization} 的管理者
|
|
@@ -1306,7 +1276,7 @@ zh-TW:
|
|
|
1306
1276
|
description: 說明
|
|
1307
1277
|
name: 名稱
|
|
1308
1278
|
service: 服務
|
|
1309
|
-
type:
|
|
1279
|
+
type: 種類
|
|
1310
1280
|
items:
|
|
1311
1281
|
_session_id:
|
|
1312
1282
|
description: 允許網站在使用者在網頁之間移動時記住使用者。
|
|
@@ -1406,7 +1376,6 @@ zh-TW:
|
|
|
1406
1376
|
name_included_in_password: 與您的名字太相似
|
|
1407
1377
|
nickname_included_in_password: 與您的暱稱太相似
|
|
1408
1378
|
not_enough_unique_characters: 沒有足夠的獨特字符
|
|
1409
|
-
password_not_allowed: 不被允許
|
|
1410
1379
|
password_repeated: 不能重複使用舊密碼
|
|
1411
1380
|
password_too_common: 太常見了
|
|
1412
1381
|
password_too_long: 太長
|
data/config/routes.rb
CHANGED
|
@@ -1,47 +1,21 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
Decidim::Core::Engine.routes.draw do
|
|
4
|
+
extend Decidim::Routes::LocaleRedirects
|
|
5
|
+
|
|
4
6
|
mount Decidim::Api::Engine => "/api"
|
|
5
7
|
|
|
8
|
+
get "/", to: redirect(&locale_redirector("/")), as: :root_redirect
|
|
9
|
+
|
|
6
10
|
get "/offline", to: "offline#show"
|
|
7
11
|
|
|
8
12
|
get "/favicon.ico", to: "favicon#show"
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
class_name: "Decidim::User",
|
|
12
|
-
module: :devise,
|
|
13
|
-
router_name: :decidim,
|
|
14
|
-
controllers: {
|
|
15
|
-
invitations: "decidim/devise/invitations",
|
|
16
|
-
sessions: "decidim/devise/sessions",
|
|
17
|
-
confirmations: "decidim/devise/confirmations",
|
|
18
|
-
passwords: "decidim/devise/passwords",
|
|
19
|
-
unlocks: "decidim/devise/unlocks",
|
|
20
|
-
omniauth_callbacks: "decidim/devise/omniauth_registrations"
|
|
21
|
-
},
|
|
22
|
-
skip: [:registrations]
|
|
23
|
-
|
|
24
|
-
# Manually define the registration routes because otherwise the default "edit"
|
|
25
|
-
# route would be exposed through Devise while we already have the edit and
|
|
26
|
-
# destroy routes available through the account pages.
|
|
27
|
-
resource(
|
|
28
|
-
:registration,
|
|
29
|
-
only: [:new, :create],
|
|
30
|
-
as: :user_registration,
|
|
31
|
-
path: "/users",
|
|
32
|
-
path_names: { new: "sign_up" },
|
|
33
|
-
controller: "devise/registrations"
|
|
34
|
-
) do
|
|
35
|
-
# The "cancel" route forces the session data which is usually expired after
|
|
36
|
-
# sign in to be expired now. This is useful if the user wants to cancel
|
|
37
|
-
# OAuth signing in/up in the middle of the process, removing all OAuth
|
|
38
|
-
# session data. @see [Devise::RegistrationsController#cancel]
|
|
39
|
-
get :cancel
|
|
40
|
-
end
|
|
14
|
+
get "/admin", to: redirect(&locale_redirector("/admin"))
|
|
41
15
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
16
|
+
get "/admin/*rest", to: redirect { |params, request|
|
|
17
|
+
locale_redirect(params, request, "/admin/#{params[:rest]}")
|
|
18
|
+
}
|
|
45
19
|
|
|
46
20
|
resource :manifest, only: [:show]
|
|
47
21
|
|
|
@@ -54,35 +28,49 @@ Decidim::Core::Engine.routes.draw do
|
|
|
54
28
|
end
|
|
55
29
|
|
|
56
30
|
authenticate(:user) do
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
31
|
+
resources :private_downloads, only: :show
|
|
32
|
+
|
|
33
|
+
scope "/:locale", **locale_scope_options do
|
|
34
|
+
devise_scope :user do
|
|
35
|
+
get "change_password" => "devise/passwords"
|
|
36
|
+
put "apply_password" => "devise/passwords"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
resource :account, only: [:show, :update, :destroy], controller: "account" do
|
|
40
|
+
member do
|
|
41
|
+
get :delete
|
|
42
|
+
post :resend_confirmation_instructions
|
|
43
|
+
post :cancel_email_change
|
|
44
|
+
end
|
|
45
|
+
end
|
|
60
46
|
end
|
|
61
47
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
48
|
+
scope "/:locale", **locale_scope_options do
|
|
49
|
+
resource :download_your_data, only: [:show], controller: "download_your_data" do
|
|
50
|
+
member do
|
|
51
|
+
post :export
|
|
52
|
+
get "/:uuid", to: "download_your_data#download_file", as: :download
|
|
53
|
+
end
|
|
67
54
|
end
|
|
68
55
|
end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
56
|
+
|
|
57
|
+
scope "/:locale", **locale_scope_options do
|
|
58
|
+
resources :notifications, only: [:index, :destroy] do
|
|
59
|
+
collection do
|
|
60
|
+
delete :read_all
|
|
61
|
+
end
|
|
74
62
|
end
|
|
63
|
+
|
|
64
|
+
resources :conversations, only: [:new, :create, :index, :show, :update], controller: "messaging/conversations"
|
|
65
|
+
post "/conversations/check_multiple", to: "messaging/conversations#check_multiple"
|
|
66
|
+
|
|
67
|
+
resource :notifications_settings, only: [:show, :update], controller: "notifications_settings"
|
|
75
68
|
end
|
|
76
|
-
resource :notifications_settings, only: [:show, :update], controller: "notifications_settings"
|
|
77
69
|
|
|
78
70
|
get "/newsletters_opt_in/:token", to: "newsletters_opt_in#update", as: :newsletters_opt_in
|
|
79
71
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
post :export
|
|
83
|
-
get "/:uuid", to: "download_your_data#download_file", as: :download
|
|
84
|
-
end
|
|
85
|
-
end
|
|
72
|
+
get "/download_your_data", to: redirect(&locale_redirector("/download_your_data"))
|
|
73
|
+
get "/download_your_data/:uuid", to: redirect { |params, request| locale_redirector("/download_your_data/#{params[:uuid]}").call(params, request) }
|
|
86
74
|
|
|
87
75
|
resources :notifications_subscriptions, param: :auth, only: [:create, :destroy]
|
|
88
76
|
|
|
@@ -92,14 +80,12 @@ Decidim::Core::Engine.routes.draw do
|
|
|
92
80
|
to: "free_resource_authorization_modals#show",
|
|
93
81
|
as: :free_resource_authorization_modal
|
|
94
82
|
)
|
|
95
|
-
end
|
|
96
83
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
get "
|
|
102
|
-
get "activity", to: "user_activities#index", as: "profile_activity"
|
|
84
|
+
get "/account/*rest", to: redirect { |params, request|
|
|
85
|
+
locale_redirect(params, request, "/account/#{params[:rest]}")
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
get "/account", to: redirect(&locale_redirector("/account"))
|
|
103
89
|
end
|
|
104
90
|
|
|
105
91
|
scope :timeouts do
|
|
@@ -107,9 +93,99 @@ Decidim::Core::Engine.routes.draw do
|
|
|
107
93
|
get "seconds_until_timeout", to: "timeouts#seconds_until_timeout"
|
|
108
94
|
end
|
|
109
95
|
|
|
110
|
-
|
|
96
|
+
# OmniAuth callbacks must be defined outside any dynamic segment scope
|
|
97
|
+
# because Devise does not support scoping them under /:locale.
|
|
98
|
+
devise_for :users,
|
|
99
|
+
class_name: "Decidim::User",
|
|
100
|
+
module: :devise,
|
|
101
|
+
router_name: :decidim,
|
|
102
|
+
controllers: {
|
|
103
|
+
omniauth_callbacks: "decidim/devise/omniauth_registrations"
|
|
104
|
+
},
|
|
105
|
+
only: :omniauth_callbacks
|
|
106
|
+
|
|
107
|
+
scope "/:locale", **locale_scope_options do
|
|
108
|
+
devise_for :users,
|
|
109
|
+
class_name: "Decidim::User",
|
|
110
|
+
module: :devise,
|
|
111
|
+
router_name: :decidim,
|
|
112
|
+
controllers: {
|
|
113
|
+
invitations: "decidim/devise/invitations",
|
|
114
|
+
sessions: "decidim/devise/sessions",
|
|
115
|
+
confirmations: "decidim/devise/confirmations",
|
|
116
|
+
passwords: "decidim/devise/passwords",
|
|
117
|
+
unlocks: "decidim/devise/unlocks"
|
|
118
|
+
},
|
|
119
|
+
skip: [:registrations, :omniauth_callbacks]
|
|
120
|
+
|
|
121
|
+
# Manually define the registration routes because otherwise the default "edit"
|
|
122
|
+
# route would be exposed through Devise while we already have the edit and
|
|
123
|
+
# destroy routes available through the account pages.
|
|
124
|
+
resource(
|
|
125
|
+
:registration,
|
|
126
|
+
only: [:new, :create],
|
|
127
|
+
as: :user_registration,
|
|
128
|
+
path: "/users",
|
|
129
|
+
path_names: { new: "sign_up" },
|
|
130
|
+
controller: "devise/registrations"
|
|
131
|
+
) do
|
|
132
|
+
# The "cancel" route forces the session data which is usually expired after
|
|
133
|
+
# sign in to be expired now. This is useful if the user wants to cancel
|
|
134
|
+
# OAuth signing in/up in the middle of the process, removing all OAuth
|
|
135
|
+
# session data. @see [Devise::RegistrationsController#cancel]
|
|
136
|
+
get :cancel
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
devise_scope :user do
|
|
140
|
+
post "omniauth_registrations" => "devise/omniauth_registrations#create"
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
resources :pages, only: [:index, :show], format: false
|
|
144
|
+
|
|
145
|
+
resources :profiles, only: [:show], param: :nickname, constraints: { nickname: %r{[^/]+} }, format: false
|
|
146
|
+
scope "/profiles/:nickname", format: false, constraints: { nickname: %r{[^/]+} } do
|
|
147
|
+
get "following", to: "profiles#following", as: "profile_following"
|
|
148
|
+
get "followers", to: "profiles#followers", as: "profile_followers"
|
|
149
|
+
get "badges", to: "profiles#badges", as: "profile_badges"
|
|
150
|
+
get "activity", to: "user_activities#index", as: "profile_activity"
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
get "/open-data", to: "open_data#index", as: :open_data
|
|
154
|
+
get "/open-data/download", to: "open_data#download", as: :open_data_download
|
|
155
|
+
get "/open-data/download/:resource", to: "open_data#download", as: :open_data_download_resource
|
|
156
|
+
get "/search", to: "searches#index", as: :search
|
|
157
|
+
resources :last_activities, only: [:index]
|
|
158
|
+
namespace :gamification do
|
|
159
|
+
resources :badges, only: [:index]
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
root to: "homepage#show"
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
get "/last_activities", to: redirect(&locale_redirector("/last_activities"))
|
|
166
|
+
get "/search", to: redirect(&locale_redirector("/search"))
|
|
167
|
+
get "/pages", to: redirect(&locale_redirector("/pages"))
|
|
168
|
+
get "/pages/*rest", to: redirect { |params, request| locale_redirector("/pages/#{params[:rest]}").call(params, request) }
|
|
169
|
+
get "/gamification/*rest", to: redirect { |params, request| locale_redirector("/gamification/#{params[:rest]}").call(params, request) }
|
|
170
|
+
get "/open-data/*rest", to: redirect { |params, request| locale_redirector("/open-data/#{params[:rest]}").call(params, request) }
|
|
171
|
+
get "/open-data", to: redirect(&locale_redirector("/open-data"))
|
|
172
|
+
get "/profiles/*rest", to: redirect { |params, request| locale_redirector("/profiles/#{params[:rest]}").call(params, request) }
|
|
173
|
+
get "/notifications", to: redirect(&locale_redirector("/notifications"))
|
|
174
|
+
get "/conversations", to: redirect(&locale_redirector("/conversations"))
|
|
175
|
+
get "/conversations/*rest", to: redirect { |params, request| locale_redirector("/conversations/#{params[:rest]}").call(params, request) }
|
|
176
|
+
get "/notifications_settings", to: redirect(&locale_redirector("/notifications_settings"))
|
|
177
|
+
|
|
178
|
+
get "/users/sign_in", to: redirect(&locale_redirector("/users/sign_in"))
|
|
179
|
+
get "/users/sign_up", to: redirect(&locale_redirector("/users/sign_up"))
|
|
180
|
+
get "/users/password/new", to: redirect(&locale_redirector("/users/password/new"))
|
|
181
|
+
get "/users/password/edit", to: redirect(&locale_redirector("/users/password/edit"))
|
|
182
|
+
get "/users/confirmation/new", to: redirect(&locale_redirector("/users/confirmation/new"))
|
|
183
|
+
get "/users/confirmation", to: redirect(&locale_redirector("/users/confirmation"))
|
|
184
|
+
get "/users/unlock/new", to: redirect(&locale_redirector("/users/unlock/new"))
|
|
185
|
+
get "/users/unlock", to: redirect(&locale_redirector("/users/unlock"))
|
|
186
|
+
get "/users/invitation/new", to: redirect(&locale_redirector("/users/invitation/new"))
|
|
187
|
+
get "/users/invitation/accept", to: redirect(&locale_redirector("/users/invitation/accept"))
|
|
111
188
|
|
|
112
|
-
get "/search", to: "searches#index", as: :search
|
|
113
189
|
get "/resource_autocomplete", to: "resource_autocomplete#index", as: :resource_autocomplete
|
|
114
190
|
|
|
115
191
|
get "/link", to: "links#new", as: :link
|
|
@@ -121,15 +197,11 @@ Decidim::Core::Engine.routes.draw do
|
|
|
121
197
|
match "/404", to: "errors#not_found", via: :all
|
|
122
198
|
match "/500", to: "errors#internal_server_error", via: :all
|
|
123
199
|
|
|
124
|
-
get "/open-data", to: "open_data#index", as: :open_data
|
|
125
|
-
get "/open-data/download", to: "open_data#download", as: :open_data_download
|
|
126
|
-
get "/open-data/download/:resource", to: "open_data#download", as: :open_data_download_resource
|
|
127
|
-
|
|
128
200
|
resource :follow, only: [:create, :destroy]
|
|
129
201
|
resource :report, only: [:create]
|
|
130
202
|
resource :report_user, only: [:create]
|
|
131
203
|
resources :likes, only: [:create, :destroy]
|
|
132
|
-
resources :amends, only: [:new
|
|
204
|
+
resources :amends, only: [:new], controller: :amendments do
|
|
133
205
|
collection do
|
|
134
206
|
post :create
|
|
135
207
|
end
|
|
@@ -149,18 +221,12 @@ Decidim::Core::Engine.routes.draw do
|
|
|
149
221
|
|
|
150
222
|
resources :editor_images, only: [:create]
|
|
151
223
|
|
|
152
|
-
namespace :gamification do
|
|
153
|
-
resources :badges, only: [:index]
|
|
154
|
-
end
|
|
155
|
-
|
|
156
224
|
resources :newsletters, only: [:show] do
|
|
157
225
|
get :unsubscribe, on: :collection
|
|
158
226
|
end
|
|
159
227
|
|
|
160
228
|
resources :upload_validations, only: [:create]
|
|
161
229
|
|
|
162
|
-
resources :last_activities, only: [:index]
|
|
163
|
-
|
|
164
230
|
resources :short_links, only: [:index, :show], path: "s"
|
|
165
231
|
|
|
166
232
|
use_doorkeeper do
|
|
@@ -170,6 +236,4 @@ Decidim::Core::Engine.routes.draw do
|
|
|
170
236
|
scope :oauth do
|
|
171
237
|
get "/me" => "doorkeeper/credentials#me"
|
|
172
238
|
end
|
|
173
|
-
|
|
174
|
-
root to: "homepage#show"
|
|
175
239
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class RenameMembersInActionLog < ActiveRecord::Migration[7.2]
|
|
4
|
+
class ActionLog < ApplicationRecord
|
|
5
|
+
self.table_name = :decidim_action_logs
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def up
|
|
9
|
+
old_resource_type = "Decidim::ParticipatorySpacePrivateUser"
|
|
10
|
+
new_resource_type = "Decidim::ParticipatorySpace::Member"
|
|
11
|
+
|
|
12
|
+
# rubocop:disable Rails/SkipsModelValidations
|
|
13
|
+
updated_count = ActionLog.where(resource_type: old_resource_type).update_all(resource_type: new_resource_type)
|
|
14
|
+
# rubocop:enable Rails/SkipsModelValidations
|
|
15
|
+
|
|
16
|
+
Rails.logger.info "Updated #{updated_count} ActionLog records from #{old_resource_type} to #{new_resource_type}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def down
|
|
20
|
+
raise ActiveRecord::IrreversibleMigration
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class RenameSendToMembersInNewsletter < ActiveRecord::Migration[8.1]
|
|
4
|
+
class Newsletter < ApplicationRecord
|
|
5
|
+
self.table_name = :decidim_newsletters
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def up
|
|
9
|
+
Newsletter.find_each do |newsletter|
|
|
10
|
+
next unless newsletter.extended_data
|
|
11
|
+
next unless newsletter.extended_data.has_key?("send_to_private_members")
|
|
12
|
+
|
|
13
|
+
newsletter.extended_data["send_to_members"] = newsletter.extended_data.delete("send_to_private_members")
|
|
14
|
+
newsletter.save!(validate: false)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def down
|
|
19
|
+
Newsletter.find_each do |newsletter|
|
|
20
|
+
next unless newsletter.extended_data
|
|
21
|
+
next unless newsletter.extended_data.has_key?("send_to_members")
|
|
22
|
+
|
|
23
|
+
newsletter.extended_data["send_to_private_members"] = newsletter.extended_data.delete("send_to_members")
|
|
24
|
+
newsletter.save!(validate: false)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -6,23 +6,21 @@ class AddFileUploadSettingsToDecidimOrganizations < ActiveRecord::Migration[5.2]
|
|
|
6
6
|
|
|
7
7
|
reversible do |dir|
|
|
8
8
|
dir.up do
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
avatar_size = config.fetch(:maximum_avatar_size, 5.megabytes)
|
|
9
|
+
# Even when these configurations have been deleted, they are available
|
|
10
|
+
# in the config object if they are defined by the initializer.
|
|
11
|
+
attachment_size = Decidim.maximum_attachment_size || 10.megabytes
|
|
12
|
+
avatar_size = Decidim.maximum_avatar_size || 5.megabytes
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
)
|
|
14
|
+
# Update all organizations with the default file upload settings.
|
|
15
|
+
Decidim::Organization.all.each do |organization|
|
|
16
|
+
organization.update(
|
|
17
|
+
file_upload_settings: default_settings.merge(
|
|
18
|
+
"maximum_file_size" => {
|
|
19
|
+
"default" => attachment_size / 1.megabyte,
|
|
20
|
+
"avatar" => avatar_size / 1.megabyte
|
|
21
|
+
}
|
|
24
22
|
)
|
|
25
|
-
|
|
23
|
+
)
|
|
26
24
|
end
|
|
27
25
|
end
|
|
28
26
|
end
|