decidim-core 0.29.4 → 0.30.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/address/show.erb +3 -3
  3. data/app/cells/decidim/amendable/amend_button_card/show.erb +6 -4
  4. data/app/cells/decidim/amendable/amend_button_card_cell.rb +8 -0
  5. data/app/cells/decidim/amendable/amendments/show.erb +1 -1
  6. data/app/cells/decidim/amendable/promote_button_card/show.erb +2 -0
  7. data/app/cells/decidim/author/flag.erb +6 -0
  8. data/app/cells/decidim/author/flag_user.erb +14 -0
  9. data/app/cells/decidim/author/show.erb +4 -2
  10. data/app/cells/decidim/author_cell.rb +1 -1
  11. data/app/cells/decidim/card_l/extra_data.erb +1 -0
  12. data/app/cells/decidim/card_metadata_cell.rb +9 -16
  13. data/app/cells/decidim/comments_button_cell.rb +14 -2
  14. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +2 -0
  15. data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list_cell.rb +1 -1
  16. data/app/cells/decidim/content_blocks/participatory_space_extra_data/extra_data.erb +2 -2
  17. data/app/cells/decidim/endorsement_block/show.erb +0 -1
  18. data/app/cells/decidim/endorsement_block_cell.rb +6 -0
  19. data/app/cells/decidim/endorsement_buttons/button_content.erb +1 -1
  20. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +1 -1
  21. data/app/cells/decidim/endorsement_buttons/show.erb +7 -7
  22. data/app/cells/decidim/endorsement_buttons/verification_modal.erb +4 -2
  23. data/app/cells/decidim/endorsers_list/empty.erb +3 -0
  24. data/app/cells/decidim/endorsers_list/full.erb +17 -5
  25. data/app/cells/decidim/endorsers_list/show.erb +19 -10
  26. data/app/cells/decidim/endorsers_list_cell.rb +19 -6
  27. data/app/cells/decidim/flag_modal/flag_user.erb +34 -0
  28. data/app/cells/decidim/flag_modal/show.erb +52 -0
  29. data/app/cells/decidim/flag_modal_cell.rb +56 -0
  30. data/app/cells/decidim/follow_button/show.erb +1 -2
  31. data/app/cells/decidim/follow_button_cell.rb +5 -0
  32. data/app/cells/decidim/map/show.erb +3 -0
  33. data/app/cells/decidim/map/template.erb +14 -0
  34. data/app/cells/decidim/map_cell.rb +39 -0
  35. data/app/cells/decidim/notification_actions/buttons_cell.rb +1 -1
  36. data/app/cells/decidim/onboarding_action_message/show.erb +15 -0
  37. data/app/cells/decidim/onboarding_action_message_cell.rb +81 -0
  38. data/app/cells/decidim/participatory_space_dropdown_metadata/metadata.erb +4 -4
  39. data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +3 -5
  40. data/app/cells/decidim/participatory_space_private_user/show.erb +23 -0
  41. data/app/cells/decidim/participatory_space_private_user_cell.rb +21 -0
  42. data/app/cells/decidim/profile_actions/show.erb +1 -1
  43. data/app/cells/decidim/profile_sidebar/show.erb +167 -0
  44. data/app/cells/decidim/profile_sidebar_cell.rb +68 -0
  45. data/app/cells/decidim/progress_bar/show.erb +2 -2
  46. data/app/cells/decidim/report_button/already_reported_modal.erb +2 -2
  47. data/app/cells/decidim/report_button/flag_modal.erb +27 -13
  48. data/app/cells/decidim/report_button_cell.rb +9 -2
  49. data/app/cells/decidim/resource_history/show.erb +20 -0
  50. data/app/cells/decidim/resource_history_cell.rb +66 -0
  51. data/app/cells/decidim/resource_types_filter/show.erb +1 -1
  52. data/app/cells/decidim/resource_types_filter_cell.rb +6 -6
  53. data/app/cells/decidim/share_button_cell.rb +0 -4
  54. data/app/cells/decidim/share_widget/modal.erb +26 -0
  55. data/app/cells/decidim/share_widget/show.erb +2 -0
  56. data/app/cells/decidim/share_widget_cell.rb +20 -0
  57. data/app/cells/decidim/tags/show.erb +7 -4
  58. data/app/cells/decidim/tags_cell.rb +11 -72
  59. data/app/cells/decidim/user_activity/show.erb +1 -1
  60. data/app/commands/decidim/amendable/create_draft.rb +2 -2
  61. data/app/commands/decidim/create_ephemeral_user.rb +52 -0
  62. data/app/commands/decidim/create_omniauth_registration.rb +21 -17
  63. data/app/commands/decidim/create_report.rb +8 -11
  64. data/app/commands/decidim/create_user_group.rb +6 -2
  65. data/app/commands/decidim/destroy_ephemeral_user.rb +47 -0
  66. data/app/commands/decidim/invite_user.rb +1 -1
  67. data/app/commands/decidim/search.rb +0 -14
  68. data/app/commands/decidim/update_account.rb +11 -3
  69. data/app/commands/decidim/update_notifications_settings.rb +1 -0
  70. data/app/commands/decidim/update_resources_taxonomies.rb +67 -0
  71. data/app/commands/decidim/update_user_group.rb +7 -1
  72. data/app/constraints/decidim/current_component.rb +1 -1
  73. data/app/controllers/concerns/decidim/ajax_permission_handler.rb +21 -0
  74. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +3 -6
  75. data/app/controllers/concerns/decidim/devise_controllers.rb +2 -0
  76. data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +1 -1
  77. data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +87 -0
  78. data/app/controllers/concerns/decidim/filter_resource.rb +4 -2
  79. data/app/controllers/concerns/decidim/has_members_page.rb +25 -0
  80. data/app/controllers/concerns/decidim/headers/browser_feature_permissions.rb +50 -0
  81. data/app/controllers/concerns/decidim/locale_switcher.rb +2 -2
  82. data/app/controllers/concerns/decidim/needs_password_change.rb +0 -1
  83. data/app/controllers/concerns/decidim/needs_permission.rb +2 -1
  84. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +4 -5
  85. data/app/controllers/concerns/decidim/onboarding_action_methods.rb +52 -0
  86. data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -4
  87. data/app/controllers/decidim/application_controller.rb +10 -0
  88. data/app/controllers/decidim/authorization_modals_controller.rb +8 -2
  89. data/app/controllers/decidim/components/base_controller.rb +3 -7
  90. data/app/controllers/decidim/devise/confirmations_controller.rb +4 -0
  91. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +8 -1
  92. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  93. data/app/controllers/decidim/devise/sessions_controller.rb +2 -0
  94. data/app/controllers/decidim/download_your_data_controller.rb +33 -2
  95. data/app/controllers/decidim/editor_images_controller.rb +1 -11
  96. data/app/controllers/decidim/follows_controller.rb +1 -1
  97. data/app/controllers/decidim/geolocation_controller.rb +19 -0
  98. data/app/controllers/decidim/homepage_controller.rb +0 -1
  99. data/app/controllers/decidim/open_data_controller.rb +33 -8
  100. data/app/controllers/decidim/profiles_controller.rb +2 -2
  101. data/app/controllers/decidim/reports_controller.rb +2 -7
  102. data/app/controllers/decidim/user_activities_controller.rb +1 -1
  103. data/app/controllers/decidim/user_conversations_controller.rb +1 -11
  104. data/app/events/decidim/soft_delete_resource_event.rb +15 -0
  105. data/app/forms/decidim/account_form.rb +2 -5
  106. data/app/forms/decidim/amendable/form.rb +4 -2
  107. data/app/forms/decidim/ephemeral_user_form.rb +22 -0
  108. data/app/forms/decidim/notifications_settings_form.rb +1 -0
  109. data/app/forms/decidim/omniauth_registration_form.rb +15 -2
  110. data/app/forms/decidim/registration_form.rb +1 -1
  111. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +17 -2
  112. data/app/helpers/decidim/action_authorization_helper.rb +75 -14
  113. data/app/helpers/decidim/amendments_helper.rb +0 -9
  114. data/app/helpers/decidim/application_helper.rb +6 -2
  115. data/app/helpers/decidim/breadcrumb_helper.rb +6 -0
  116. data/app/helpers/decidim/cache_helper.rb +1 -1
  117. data/app/helpers/decidim/check_boxes_tree_helper.rb +25 -53
  118. data/app/helpers/decidim/decidim_form_helper.rb +0 -44
  119. data/app/helpers/decidim/endorsable_helper.rb +0 -10
  120. data/app/helpers/decidim/layout_helper.rb +6 -0
  121. data/app/helpers/decidim/menu_helper.rb +2 -2
  122. data/app/helpers/decidim/messaging/conversation_helper.rb +2 -3
  123. data/app/helpers/decidim/meta_tags_helper.rb +32 -23
  124. data/app/helpers/decidim/modal_helper.rb +23 -0
  125. data/app/helpers/decidim/omniauth_helper.rb +5 -5
  126. data/app/helpers/decidim/onboarding_action_helper.rb +13 -0
  127. data/app/helpers/decidim/orders_helper.rb +1 -2
  128. data/app/helpers/decidim/paginate_helper.rb +1 -1
  129. data/app/helpers/decidim/participatory_space_helpers.rb +1 -1
  130. data/app/helpers/decidim/passwords_helper.rb +2 -2
  131. data/app/helpers/decidim/taxonomies_helper.rb +40 -0
  132. data/app/helpers/decidim/tooltip_helper.rb +1 -4
  133. data/app/jobs/decidim/download_your_data_export_job.rb +2 -19
  134. data/app/jobs/decidim/event_publisher_job.rb +18 -9
  135. data/app/jobs/decidim/export_job.rb +5 -1
  136. data/app/jobs/decidim/export_participatory_space_job.rb +4 -1
  137. data/app/jobs/decidim/open_data_job.rb +4 -4
  138. data/app/mailers/decidim/export_mailer.rb +7 -12
  139. data/app/mailers/decidim/notifications_digest_mailer.rb +1 -7
  140. data/app/mailers/decidim/reported_mailer.rb +2 -18
  141. data/app/models/decidim/action_log.rb +20 -1
  142. data/app/models/decidim/category.rb +4 -0
  143. data/app/models/decidim/component.rb +25 -3
  144. data/app/models/decidim/metric.rb +2 -1
  145. data/app/models/decidim/moderation.rb +16 -0
  146. data/app/models/decidim/newsletter.rb +12 -8
  147. data/app/models/decidim/organization.rb +7 -3
  148. data/app/models/decidim/participatory_space_private_user.rb +20 -0
  149. data/app/models/decidim/private_export.rb +24 -0
  150. data/app/models/decidim/push_notification_message.rb +1 -1
  151. data/app/models/decidim/report.rb +1 -1
  152. data/app/models/decidim/scope.rb +4 -0
  153. data/app/models/decidim/share_token.rb +36 -10
  154. data/app/models/decidim/taxonomization.rb +23 -0
  155. data/app/models/decidim/taxonomy.rb +139 -0
  156. data/app/models/decidim/taxonomy_filter.rb +130 -0
  157. data/app/models/decidim/taxonomy_filter_item.rb +33 -0
  158. data/app/models/decidim/user.rb +13 -23
  159. data/app/models/decidim/user_base_entity.rb +12 -4
  160. data/app/models/decidim/user_moderation.rb +9 -0
  161. data/app/models/decidim/user_report.rb +4 -0
  162. data/app/packs/entrypoints/decidim_core.js +1 -0
  163. data/app/packs/entrypoints/decidim_geocoding.js +2 -0
  164. data/app/packs/images/decidim/brands/facebook.svg +10 -0
  165. data/app/packs/images/decidim/brands/google.svg +7 -1
  166. data/app/packs/images/decidim/brands/twitter-x.svg +3 -0
  167. data/app/packs/src/decidim/check_boxes_tree.js +0 -1
  168. data/app/packs/src/decidim/clipboard.js +18 -9
  169. data/app/packs/src/decidim/confirm.js +79 -59
  170. data/app/packs/src/decidim/datepicker/datepicker_functions.js +3 -3
  171. data/app/packs/src/decidim/decidim_application.js +1 -0
  172. data/app/packs/src/decidim/form_remote.js +1 -1
  173. data/app/packs/src/decidim/geocoding/reverse_geocoding.js +60 -0
  174. data/app/packs/src/decidim/impersonation.js +1 -1
  175. data/app/packs/src/decidim/index.js +13 -5
  176. data/app/packs/src/decidim/input_character_counter.js +1 -1
  177. data/app/packs/src/decidim/map/provider/here.js +1 -1
  178. data/app/packs/src/decidim/onboarding_pending_action.js +24 -0
  179. data/app/packs/src/decidim/session_timeouter.js +1 -1
  180. data/app/packs/src/decidim/sticky_footer.js +29 -0
  181. data/app/packs/src/decidim/sticky_header.js +6 -31
  182. data/app/packs/src/decidim/user_registrations.js +13 -0
  183. data/app/packs/src/decidim/utilities/dom.js +148 -0
  184. data/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js +212 -0
  185. data/app/packs/stylesheets/decidim/_accordion.scss +30 -0
  186. data/app/packs/stylesheets/decidim/_buttons.scss +19 -0
  187. data/app/packs/stylesheets/decidim/_cards.scss +1 -1
  188. data/app/packs/stylesheets/decidim/_content_blocks.scss +0 -4
  189. data/app/packs/stylesheets/decidim/_dropdown.scss +1 -1
  190. data/app/packs/stylesheets/decidim/_endorsers_list.scss +26 -20
  191. data/app/packs/stylesheets/decidim/_forms.scss +2 -2
  192. data/app/packs/stylesheets/decidim/_header.scss +37 -60
  193. data/app/packs/stylesheets/decidim/_layout.scss +32 -2
  194. data/app/packs/stylesheets/decidim/_login.scss +53 -6
  195. data/app/packs/stylesheets/decidim/_modal.scss +42 -0
  196. data/app/packs/stylesheets/decidim/_modal_tos_refuse.scss +4 -0
  197. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +46 -0
  198. data/app/packs/stylesheets/decidim/_profile.scss +1 -1
  199. data/app/packs/stylesheets/decidim/_success_image.scss +64 -0
  200. data/app/packs/stylesheets/decidim/_tribute.scss +36 -0
  201. data/app/packs/stylesheets/decidim/application.scss +1 -1
  202. data/app/packs/stylesheets/decidim/geocoding_addons.scss +5 -0
  203. data/app/packs/stylesheets/decidim/map.scss +7 -10
  204. data/app/packs/stylesheets/decidim/resource_history.scss +31 -0
  205. data/app/permissions/decidim/default_permissions.rb +0 -2
  206. data/app/permissions/decidim/permissions.rb +8 -2
  207. data/app/presenters/decidim/admin_log/base_user_presenter.rb +67 -0
  208. data/app/presenters/decidim/admin_log/component_presenter.rb +32 -3
  209. data/app/presenters/decidim/admin_log/moderation_presenter.rb +30 -3
  210. data/app/presenters/decidim/admin_log/share_token_presenter.rb +39 -0
  211. data/app/presenters/decidim/admin_log/taxonomy_filter_presenter.rb +57 -0
  212. data/app/presenters/decidim/admin_log/taxonomy_presenter.rb +48 -0
  213. data/app/presenters/decidim/admin_log/user_group_presenter.rb +6 -6
  214. data/app/presenters/decidim/admin_log/user_presenter.rb +4 -18
  215. data/app/presenters/decidim/log/user_presenter.rb +0 -1
  216. data/app/presenters/decidim/log/value_types/date_presenter.rb +1 -0
  217. data/app/presenters/decidim/log/value_types/taxonomy_presenter.rb +29 -0
  218. data/app/presenters/decidim/notification_to_mailer_presenter.rb +3 -7
  219. data/app/presenters/decidim/participatory_space_private_user_presenter.rb +50 -0
  220. data/app/presenters/decidim/taxonomy_filter_presenter.rb +19 -0
  221. data/app/presenters/decidim/taxonomy_presenter.rb +14 -0
  222. data/app/presenters/decidim/user_presenter.rb +1 -1
  223. data/app/queries/decidim/last_activity.rb +0 -25
  224. data/app/queries/decidim/metrics/blocked_users_metric_manage.rb +2 -2
  225. data/app/queries/decidim/metrics/users_metric_manage.rb +2 -2
  226. data/app/queries/decidim/public_activities.rb +1 -12
  227. data/app/queries/decidim/stats_users_count.rb +2 -2
  228. data/app/resolvers/decidim/meta_image_url_resolver.rb +128 -0
  229. data/app/serializers/decidim/exporters/open_data_blocked_user_serializer.rb +25 -0
  230. data/app/serializers/decidim/exporters/open_data_metric_serializer.rb +22 -0
  231. data/app/serializers/decidim/exporters/open_data_moderation_serializer.rb +30 -0
  232. data/app/serializers/decidim/exporters/open_data_taxonomy_serializer.rb +30 -0
  233. data/app/serializers/decidim/exporters/open_data_user_group_serializer.rb +38 -0
  234. data/app/serializers/decidim/exporters/open_data_user_serializer.rb +39 -0
  235. data/app/serializers/decidim/exporters/participatory_space_serializer.rb +104 -0
  236. data/app/serializers/decidim/exporters/serializer.rb +25 -0
  237. data/app/serializers/decidim/schema_org_breadcrumb_list_serializer.rb +52 -0
  238. data/app/services/decidim/action_authorizer.rb +32 -3
  239. data/app/services/decidim/base_diff_renderer.rb +1 -3
  240. data/app/services/decidim/download_your_data_exporter.rb +58 -24
  241. data/app/services/decidim/onboarding_manager.rb +272 -0
  242. data/app/services/decidim/open_data_exporter.rb +139 -13
  243. data/app/services/decidim/static_map_generator.rb +1 -1
  244. data/app/services/decidim/traceability.rb +13 -0
  245. data/app/uploaders/decidim/application_uploader.rb +1 -1
  246. data/app/validators/etiquette_validator.rb +9 -2
  247. data/app/validators/passthru_validator.rb +1 -1
  248. data/app/validators/translated_etiquette_validator.rb +32 -0
  249. data/app/views/decidim/account/_password_fields.html.erb +2 -2
  250. data/app/views/decidim/application/_accordion_section.html.erb +14 -0
  251. data/app/views/decidim/application/_collection.html.erb +30 -18
  252. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +5 -1
  253. data/app/views/decidim/devise/omniauth_registrations/new_tos_fields.html.erb +29 -0
  254. data/app/views/decidim/devise/registrations/new.html.erb +10 -22
  255. data/app/views/decidim/devise/sessions/new.html.erb +24 -29
  256. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +2 -4
  257. data/app/views/decidim/devise/shared/_tos_fields.html.erb +16 -0
  258. data/app/views/decidim/download_your_data/_export.html.erb +15 -0
  259. data/app/views/decidim/download_your_data/show.html.erb +51 -5
  260. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +16 -19
  261. data/app/views/decidim/export_mailer/download_your_data_export.html.erb +2 -2
  262. data/app/views/decidim/export_mailer/export.html.erb +5 -1
  263. data/app/views/decidim/last_activities/index.html.erb +1 -1
  264. data/app/views/decidim/messaging/conversations/_reply_form.html.erb +2 -1
  265. data/app/views/decidim/messaging/conversations/_start.html.erb +1 -1
  266. data/app/views/decidim/notifications_settings/show.html.erb +22 -0
  267. data/app/views/decidim/open_data/_how_to_open_accordion_section.html.erb +15 -0
  268. data/app/views/decidim/open_data/index.html.erb +108 -0
  269. data/app/views/decidim/pages/show.html.erb +2 -1
  270. data/app/views/decidim/participatory_space_private_users/_participatory_space_private_user.html.erb +1 -0
  271. data/app/views/decidim/reported_mailer/hide.html.erb +9 -0
  272. data/app/views/decidim/reported_mailer/report.html.erb +1 -1
  273. data/app/views/decidim/searches/_count.html.erb +1 -1
  274. data/app/views/decidim/searches/_filters.html.erb +38 -40
  275. data/app/views/decidim/shared/_login_modal.html.erb +26 -20
  276. data/app/views/decidim/shared/_orders.html.erb +2 -2
  277. data/app/views/decidim/shared/_resource_actions.html.erb +21 -0
  278. data/app/views/decidim/shared/_results_per_page.html.erb +1 -1
  279. data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -2
  280. data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
  281. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +7 -4
  282. data/app/views/kaminari/decidim/_page.html.erb +1 -1
  283. data/app/views/kaminari/decidim/_paginator.html.erb +1 -1
  284. data/app/views/layouts/decidim/_application.html.erb +0 -1
  285. data/app/views/layouts/decidim/_js_configuration.html.erb +1 -0
  286. data/app/views/layouts/decidim/_logo.html.erb +2 -2
  287. data/app/views/layouts/decidim/_logo_mobile.html.erb +1 -1
  288. data/app/views/layouts/decidim/_meta_tags_config.html.erb +6 -11
  289. data/app/views/layouts/decidim/_schema_org_breadcrumb_list.html.erb +3 -0
  290. data/app/views/layouts/decidim/_wrapper.html.erb +15 -9
  291. data/app/views/layouts/decidim/footer/_main_legal.html.erb +1 -1
  292. data/app/views/layouts/decidim/footer/_main_links.html.erb +1 -1
  293. data/app/views/layouts/decidim/header/_close_ephemeral_session.html.erb +25 -0
  294. data/app/views/layouts/decidim/header/_main.html.erb +14 -10
  295. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
  296. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_desktop.html.erb +11 -5
  297. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +5 -5
  298. data/app/views/layouts/decidim/shared/_layout_item.html.erb +1 -1
  299. data/config/assets.rb +2 -1
  300. data/config/locales/ar.yml +35 -74
  301. data/config/locales/bg.yml +33 -74
  302. data/config/locales/bs-BA.yml +0 -2
  303. data/config/locales/ca.yml +370 -102
  304. data/config/locales/cs.yml +374 -102
  305. data/config/locales/de.yml +350 -88
  306. data/config/locales/el.yml +22 -58
  307. data/config/locales/en.yml +350 -82
  308. data/config/locales/eo.yml +0 -4
  309. data/config/locales/es-MX.yml +364 -99
  310. data/config/locales/es-PY.yml +369 -104
  311. data/config/locales/es.yml +370 -102
  312. data/config/locales/eu.yml +426 -156
  313. data/config/locales/fi-plain.yml +366 -76
  314. data/config/locales/fi.yml +370 -77
  315. data/config/locales/fr-CA.yml +176 -97
  316. data/config/locales/fr.yml +176 -94
  317. data/config/locales/ga-IE.yml +4 -25
  318. data/config/locales/gl.yml +20 -58
  319. data/config/locales/hu.yml +30 -62
  320. data/config/locales/id-ID.yml +21 -57
  321. data/config/locales/is-IS.yml +5 -25
  322. data/config/locales/it.yml +36 -94
  323. data/config/locales/ja.yml +231 -112
  324. data/config/locales/lb.yml +28 -76
  325. data/config/locales/lt.yml +24 -64
  326. data/config/locales/lv.yml +21 -58
  327. data/config/locales/nl.yml +23 -75
  328. data/config/locales/no.yml +23 -70
  329. data/config/locales/pl.yml +30 -72
  330. data/config/locales/pt-BR.yml +41 -63
  331. data/config/locales/pt.yml +23 -70
  332. data/config/locales/ro-RO.yml +115 -184
  333. data/config/locales/ru.yml +13 -43
  334. data/config/locales/sk.yml +24 -70
  335. data/config/locales/sl.yml +0 -4
  336. data/config/locales/sr-CS.yml +0 -2
  337. data/config/locales/sv.yml +138 -106
  338. data/config/locales/tr-TR.yml +29 -75
  339. data/config/locales/uk.yml +6 -29
  340. data/config/locales/zh-CN.yml +21 -68
  341. data/config/locales/zh-TW.yml +23 -62
  342. data/config/routes.rb +4 -10
  343. data/db/migrate/20171212103803_create_unique_nicknames.rb +1 -1
  344. data/db/migrate/20180221101934_fix_nickname_index.rb +1 -1
  345. data/db/migrate/20180706104107_add_nickname_to_managed_users.rb +1 -1
  346. data/db/migrate/20181001124950_move_users_groups_to_users_table.rb +1 -1
  347. data/db/migrate/20181025082245_add_timestamps_to_components.rb +2 -0
  348. data/db/migrate/20190412131728_fix_user_names.rb +1 -1
  349. data/db/migrate/20240628111905_add_visible_to_components.rb +7 -0
  350. data/db/migrate/20240704115429_create_decidim_taxonomies.rb +23 -0
  351. data/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb +7 -0
  352. data/db/migrate/20240722215500_change_object_changes_on_versions.rb +39 -0
  353. data/db/migrate/20240806065417_create_decidim_taxonomy_filters.rb +23 -0
  354. data/db/migrate/20240822161348_add_deleted_at_to_decidim_components.rb +8 -0
  355. data/db/migrate/20240906162524_add_part_of_to_taxonomies.rb +26 -0
  356. data/db/migrate/20241001135825_add_role_to_participatory_space_private_users.rb +7 -0
  357. data/db/migrate/20241001140408_add_published_to_participatory_space_private_users.rb +7 -0
  358. data/db/migrate/20241022002600_create_private_exports.rb +18 -0
  359. data/db/migrate/20241028114430_add_component_counter_to_taxonomy_filters.rb +7 -0
  360. data/db/migrate/20241111104357_add_names_and_space_boolean_to_taxonomy_filters.rb +9 -0
  361. data/db/migrate/20241127093708_add_taxonomy_to_metrics.rb +7 -0
  362. data/db/migrate/20241204121445_add_participatory_space_manifests_from_taxonomy_filters.rb +9 -0
  363. data/decidim-core.gemspec +14 -17
  364. data/lib/decidim/action_authorization.rb +3 -2
  365. data/lib/decidim/amendable.rb +1 -1
  366. data/lib/decidim/api/input_filters/category_input_filter.rb +5 -3
  367. data/lib/decidim/api/input_filters/component_input_filter.rb +33 -20
  368. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +53 -44
  369. data/lib/decidim/api/input_sorts/component_input_sort.rb +15 -13
  370. data/lib/decidim/api/input_sorts/user_entity_input_sort.rb +4 -4
  371. data/lib/decidim/api/interfaces/author_interface.rb +3 -2
  372. data/lib/decidim/api/interfaces/coauthorable_interface.rb +5 -5
  373. data/lib/decidim/api/interfaces/endorsable_interface.rb +2 -2
  374. data/lib/decidim/api/interfaces/participatory_space_interface.rb +5 -10
  375. data/lib/decidim/api/interfaces/taxonomizable_interface.rb +13 -0
  376. data/lib/decidim/api/types/amendment_type.rb +5 -7
  377. data/lib/decidim/api/types/area_api_type.rb +3 -3
  378. data/lib/decidim/api/types/attachment_type.rb +3 -3
  379. data/lib/decidim/api/types/category_type.rb +2 -2
  380. data/lib/decidim/api/types/decidim_type.rb +5 -1
  381. data/lib/decidim/api/types/fingerprint_type.rb +1 -1
  382. data/lib/decidim/api/types/localized_string_type.rb +1 -1
  383. data/lib/decidim/api/types/metric_history_type.rb +2 -0
  384. data/lib/decidim/api/types/metric_type.rb +1 -1
  385. data/lib/decidim/api/types/organization_type.rb +5 -0
  386. data/lib/decidim/api/types/participatory_space_link_type.rb +2 -2
  387. data/lib/decidim/api/types/participatory_space_manifest_type.rb +1 -1
  388. data/lib/decidim/api/types/quantifiable_translated_field_type.rb +1 -1
  389. data/lib/decidim/api/types/scope_api_type.rb +2 -3
  390. data/lib/decidim/api/types/session_type.rb +1 -2
  391. data/lib/decidim/api/types/taxonomy_type.rb +15 -0
  392. data/lib/decidim/api/types/trace_version_type.rb +2 -2
  393. data/lib/decidim/api/types/translated_field_type.rb +3 -5
  394. data/lib/decidim/api/types/user_group_type.rb +7 -20
  395. data/lib/decidim/api/types/user_type.rb +7 -20
  396. data/lib/decidim/asset_router/storage.rb +6 -11
  397. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +2 -1
  398. data/lib/decidim/attachment_attributes.rb +1 -1
  399. data/lib/decidim/attribute_encryptor.rb +1 -1
  400. data/lib/decidim/attribute_object/nested_validator.rb +1 -1
  401. data/lib/decidim/attributes/integer_with_units.rb +27 -0
  402. data/lib/decidim/attributes/time_with_zone.rb +1 -5
  403. data/lib/decidim/attributes.rb +2 -0
  404. data/lib/decidim/authorization_form_builder.rb +0 -7
  405. data/lib/decidim/coauthorable.rb +1 -1
  406. data/lib/decidim/command.rb +3 -3
  407. data/lib/decidim/commands/destroy_resource.rb +5 -1
  408. data/lib/decidim/commands/resource_handler.rb +2 -2
  409. data/lib/decidim/commands/restore_resource.rb +45 -0
  410. data/lib/decidim/commands/soft_delete_resource.rb +63 -0
  411. data/lib/decidim/component_manifest.rb +7 -0
  412. data/lib/decidim/content_parsers/blob_parser.rb +8 -10
  413. data/lib/decidim/content_parsers/user_parser.rb +1 -1
  414. data/lib/decidim/core/api.rb +2 -0
  415. data/lib/decidim/core/engine.rb +21 -7
  416. data/lib/decidim/core/menu.rb +0 -5
  417. data/lib/decidim/core/seeds.rb +42 -2
  418. data/lib/decidim/core/test/factories.rb +105 -2
  419. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +85 -0
  420. data/lib/decidim/core/test/shared_examples/comments_examples.rb +393 -38
  421. data/lib/decidim/core/test/shared_examples/components_controller_hide_shared_examples.rb +11 -0
  422. data/lib/decidim/core/test/shared_examples/components_controller_reorder_shared_examples.rb +21 -0
  423. data/lib/decidim/core/test/shared_examples/download_open_data_shared_context.rb +36 -0
  424. data/lib/decidim/core/test/shared_examples/download_open_data_shared_examples.rb +45 -0
  425. data/lib/decidim/core/test/shared_examples/download_your_data_shared_examples.rb +17 -0
  426. data/lib/decidim/core/test/shared_examples/etiquette_validator_examples.rb +25 -0
  427. data/lib/decidim/core/test/shared_examples/follows_examples.rb +43 -0
  428. data/lib/decidim/core/test/shared_examples/has_taxonomies.rb +94 -0
  429. data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +237 -0
  430. data/lib/decidim/core/test/shared_examples/map_examples.rb +2 -0
  431. data/lib/decidim/core/test/shared_examples/open_data_exporter_examples.rb +102 -0
  432. data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +46 -0
  433. data/lib/decidim/core/test/shared_examples/participatory_space_search_examples.rb +98 -0
  434. data/lib/decidim/core/test/shared_examples/permissions.rb +7 -7
  435. data/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb +94 -0
  436. data/lib/decidim/core/test/shared_examples/reports_examples.rb +15 -53
  437. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +2 -2
  438. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +75 -69
  439. data/lib/decidim/core/test/shared_examples/searchable_resources_shared_context.rb +1 -1
  440. data/lib/decidim/core/test/shared_examples/simple_event.rb +33 -19
  441. data/lib/decidim/core/test/shared_examples/social_share_examples.rb +7 -14
  442. data/lib/decidim/core/test/shared_examples/softdeleteable_components_examples.rb +173 -0
  443. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +54 -8
  444. data/lib/decidim/core/test/shared_examples/taxonomizable_interface_examples.rb +20 -0
  445. data/lib/decidim/core/test/shared_examples/taxonomizable_resource_examples.rb +37 -0
  446. data/lib/decidim/core/test/shared_examples/taxonomy_settings.rb +49 -0
  447. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +1 -1
  448. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +0 -26
  449. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +2 -28
  450. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  451. data/lib/decidim/core/test.rb +9 -5
  452. data/lib/decidim/core/version.rb +1 -1
  453. data/lib/decidim/core.rb +58 -0
  454. data/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb +0 -4
  455. data/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb +3 -1
  456. data/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb +2 -1
  457. data/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb +6 -7
  458. data/lib/decidim/download_your_data_serializers.rb +19 -0
  459. data/lib/decidim/exporters/csv.rb +6 -0
  460. data/lib/decidim/exporters/export_manifest.rb +14 -0
  461. data/lib/decidim/exporters/pdf.rb +26 -22
  462. data/lib/decidim/filter_form_builder.rb +12 -15
  463. data/lib/decidim/form_builder.rb +6 -129
  464. data/lib/decidim/has_category.rb +5 -1
  465. data/lib/decidim/has_private_users.rb +4 -0
  466. data/lib/decidim/has_taxonomy_settings.rb +47 -0
  467. data/lib/decidim/has_upload_validations.rb +1 -1
  468. data/lib/decidim/legacy_form_builder.rb +118 -0
  469. data/lib/decidim/maintenance/import_models/application_record.rb +93 -0
  470. data/lib/decidim/maintenance/import_models/area.rb +82 -0
  471. data/lib/decidim/maintenance/import_models/area_type.rb +12 -0
  472. data/lib/decidim/maintenance/import_models/assembly_type.rb +49 -0
  473. data/lib/decidim/maintenance/import_models/categorization.rb +14 -0
  474. data/lib/decidim/maintenance/import_models/category.rb +107 -0
  475. data/lib/decidim/maintenance/import_models/participatory_process_type.rb +21 -0
  476. data/lib/decidim/maintenance/import_models/scope.rb +163 -0
  477. data/lib/decidim/maintenance/import_models.rb +19 -0
  478. data/lib/decidim/maintenance/taxonomy_importer.rb +132 -0
  479. data/lib/decidim/maintenance/taxonomy_plan.rb +78 -0
  480. data/lib/decidim/maintenance.rb +12 -0
  481. data/lib/decidim/map/autocomplete.rb +52 -8
  482. data/lib/decidim/map/dynamic_map.rb +1 -1
  483. data/lib/decidim/map/provider/dynamic_map/here.rb +40 -1
  484. data/lib/decidim/map/provider/geocoding/here.rb +9 -3
  485. data/lib/decidim/map/provider/static_map/here.rb +0 -34
  486. data/lib/decidim/map.rb +3 -6
  487. data/lib/decidim/moderation_tools.rb +16 -19
  488. data/lib/decidim/newsletter_encryptor.rb +1 -1
  489. data/lib/decidim/nicknamizable.rb +9 -6
  490. data/lib/decidim/paddable.rb +1 -1
  491. data/lib/decidim/participable.rb +10 -10
  492. data/lib/decidim/participatory_space_user.rb +10 -0
  493. data/lib/decidim/private_download_helper.rb +15 -0
  494. data/lib/decidim/record_encryptor.rb +51 -46
  495. data/lib/decidim/reportable.rb +2 -6
  496. data/lib/decidim/resourceable.rb +16 -0
  497. data/lib/decidim/seeds.rb +18 -20
  498. data/lib/decidim/settings_manifest.rb +34 -1
  499. data/lib/decidim/soft_deletable.rb +17 -0
  500. data/lib/decidim/taxonomizable.rb +72 -0
  501. data/lib/decidim/translatable_attributes.rb +1 -5
  502. data/lib/decidim/view_model.rb +0 -1
  503. data/lib/tasks/decidim_download_your_data_tasks.rake +2 -4
  504. data/lib/tasks/decidim_procfile.rake +6 -0
  505. data/lib/tasks/decidim_tasks.rake +1 -0
  506. data/lib/tasks/decidim_taxonomies.rake +155 -0
  507. data/lib/tasks/upgrade/{decidim_fix_categorization.rake → clean.rake} +25 -18
  508. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +1 -1
  509. data/lib/tasks/upgrade/decidim_fix_nickname_uniqueness.rake +20 -23
  510. data/lib/tasks/upgrade/migrations.rake +91 -0
  511. metadata +203 -112
  512. data/app/cells/decidim/amendable/amenders_list/show.erb +0 -0
  513. data/app/cells/decidim/content_blocks/base/content.erb +0 -0
  514. data/app/cells/decidim/endorsers_list/full_endorsers_list.erb +0 -3
  515. data/app/cells/decidim/endorsers_list_button/content.erb +0 -1
  516. data/app/cells/decidim/endorsers_list_button_cell.rb +0 -15
  517. data/app/cells/decidim/report_user_button/already_reported_modal.erb +0 -11
  518. data/app/cells/decidim/report_user_button/flag_modal.erb +0 -46
  519. data/app/cells/decidim/report_user_button/show.erb +0 -2
  520. data/app/cells/decidim/report_user_button_cell.rb +0 -59
  521. data/app/cells/decidim/scopes_picker/scope_picker_prompt.erb +0 -3
  522. data/app/cells/decidim/scopes_picker/scope_picker_values.erb +0 -5
  523. data/app/cells/decidim/scopes_picker/show.erb +0 -14
  524. data/app/cells/decidim/scopes_picker_cell.rb +0 -92
  525. data/app/commands/decidim/update_user_interests.rb +0 -41
  526. data/app/controllers/decidim/scopes_controller.rb +0 -84
  527. data/app/controllers/decidim/user_interests_controller.rb +0 -30
  528. data/app/forms/decidim/user_interest_scope_form.rb +0 -25
  529. data/app/forms/decidim/user_interests_form.rb +0 -17
  530. data/app/helpers/decidim/categories_helper.rb +0 -26
  531. data/app/helpers/decidim/scopes_helper.rb +0 -105
  532. data/app/jobs/decidim/hide_child_resources_job.rb +0 -24
  533. data/app/packs/images/decidim/vendor/leaflet/layers-2x.png +0 -0
  534. data/app/packs/images/decidim/vendor/leaflet/layers.png +0 -0
  535. data/app/packs/images/decidim/vendor/leaflet/marker-icon-2x.png +0 -0
  536. data/app/packs/images/decidim/vendor/leaflet/marker-icon.png +0 -0
  537. data/app/packs/images/decidim/vendor/leaflet/marker-shadow.png +0 -0
  538. data/app/packs/stylesheets/decidim/_hashtags.scss +0 -5
  539. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.Default.scss +0 -67
  540. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.scss +0 -18
  541. data/app/packs/stylesheets/decidim/legacy/leaflet.scss +0 -705
  542. data/app/validators/scope_belongs_to_component_validator.rb +0 -16
  543. data/app/views/decidim/account/_user_groups.html.erb +0 -0
  544. data/app/views/decidim/reported_mailer/hidden_automatically.html.erb +0 -25
  545. data/app/views/decidim/reported_mailer/hidden_manually.html.erb +0 -25
  546. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +0 -19
  547. data/app/views/decidim/scopes/picker.html.erb +0 -53
  548. data/app/views/decidim/shared/_comments.html.erb +0 -0
  549. data/app/views/decidim/shared/_share_modal.html.erb +0 -26
  550. data/app/views/decidim/shared/_tags.html.erb +0 -1
  551. data/app/views/decidim/user_interests/_areas.html.erb +0 -14
  552. data/app/views/decidim/user_interests/_scopes.html.erb +0 -22
  553. data/app/views/decidim/user_interests/show.html.erb +0 -22
  554. data/config/initializers/foundation_rails_helper.rb +0 -4
  555. data/config/locales/ca-IT.yml +0 -2122
  556. data/lib/decidim/core/test/shared_examples/has_category.rb +0 -38
  557. data/lib/decidim/core/test/shared_examples/has_scope.rb +0 -11
  558. data/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb +0 -83
  559. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +0 -49
  560. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +0 -93
  561. data/lib/decidim/seven_zip_wrapper.rb +0 -29
  562. data/lib/tasks/upgrade/clean_hidden_resources.rake +0 -33
@@ -31,8 +31,6 @@ zh-TW:
31
31
  personal_url: 個人 URL
32
32
  remove_avatar: 刪除頭像
33
33
  tos_agreement: 同意服務條款
34
- user_group:
35
- avatar: 頭像
36
34
  models:
37
35
  decidim/attachment_created_event: 附件
38
36
  decidim/component_published_event: 啟用組件
@@ -57,7 +55,6 @@ zh-TW:
57
55
  with_participatory_space: 參與空間
58
56
  decidim/user:
59
57
  current_password: 目前密碼
60
- email: 電子郵件
61
58
  name: 暱稱
62
59
  password: 密碼
63
60
  password_confirmation: 確認密碼
@@ -248,16 +245,13 @@ zh-TW:
248
245
  dismiss: 清除通知
249
246
  amendments:
250
247
  accepted:
251
- error: 接受修正案時發生錯誤。
252
248
  success: 修正案已成功接受。
253
249
  amendable:
254
250
  button: 修正 %{model_name}
255
- error: 在修改此資源時發生錯誤。
256
251
  promote_button: 晉升為 %{model_name}
257
252
  promote_confirm_text: 您確定要晉升此修正嗎?
258
253
  promote_help_text: 您可以提升此修正,並將其發布為獨立的 %{model_name}.
259
254
  created:
260
- error: 創建修正案草稿時發生錯誤。
261
255
  success: 修正案草稿已成功創建。
262
256
  destroy_draft:
263
257
  error: 刪除修正案草稿時遇到問題。
@@ -305,7 +299,6 @@ zh-TW:
305
299
  error: 更新修正案草稿時遇到問題。
306
300
  success: 修正案草稿成功更新。
307
301
  withdraw:
308
- error: 撤回修正案時發生錯誤.
309
302
  success: 修正案已成功撤回.
310
303
  wizard_step_form:
311
304
  steps:
@@ -339,10 +332,8 @@ zh-TW:
339
332
  explanation: 通過輸入以"X"結尾的證件號碼進行驗證
340
333
  fields:
341
334
  allowed_postal_codes: 允許的郵遞區號(以逗號分隔)
342
- allowed_scope_id: 允許的範圍
343
335
  document_number: 文件編號
344
336
  postal_code: 郵政編碼
345
- scope_id: 範圍
346
337
  name: 範例授權
347
338
  dummy_authorization_workflow:
348
339
  name: 虛擬授權工作流程
@@ -433,8 +424,6 @@ zh-TW:
433
424
  dummy_global_translatable_text: 虛擬可翻譯文字
434
425
  enable_pads_creation: 啟用平板創建
435
426
  resources_permissions_enabled: 啟用資源權限
436
- scope_id: 範圍
437
- scopes_enabled: 啟用範圍
438
427
  step:
439
428
  amendment_creation_enabled: 創建修正案已啟用
440
429
  amendment_promotion_enabled: 修正提案提升功能啟用
@@ -476,8 +465,6 @@ zh-TW:
476
465
  view_all: 檢視全部
477
466
  metrics:
478
467
  name: 組織指標
479
- participatory_space_metrics:
480
- name: 指標
481
468
  static_page:
482
469
  section:
483
470
  name: 節
@@ -496,9 +483,6 @@ zh-TW:
496
483
  core:
497
484
  actions:
498
485
  unauthorized: 您無權限執行此操作.
499
- application_helper:
500
- filter_category_values:
501
- all: 全部
502
486
  devise:
503
487
  omniauth_registrations:
504
488
  create:
@@ -520,7 +504,6 @@ zh-TW:
520
504
  username_help: 在您的帖子中顯示的公開名稱。為確保匿名性,可以是任何名稱。
521
505
  sessions:
522
506
  new:
523
- are_you_new?: 是第一次使用這個平台嗎?
524
507
  register: 建立一個帳號
525
508
  sign_in_disabled: 你可以使用外部帳戶登入。
526
509
  shared:
@@ -537,8 +520,6 @@ zh-TW:
537
520
  如果您仍然想避免收到電子報,我們完全理解您的決定。</p>
538
521
  <p>感謝您閱讀此內容!</p>
539
522
  title: 電子報通知
540
- omniauth_buttons:
541
- or: 或
542
523
  doorkeeper:
543
524
  authorizations:
544
525
  new:
@@ -556,22 +537,17 @@ zh-TW:
556
537
  download_your_data:
557
538
  export:
558
539
  ready: 準備就緒
559
- show:
560
- download_data: 下載資料
561
- request_data: 請求數據
562
540
  editor_images:
563
541
  create:
564
542
  error: 上傳圖片時發生錯誤.
565
543
  success: 圖片上傳成功.
566
544
  drag_and_drop_help: 通過拖放或粘貼方式添加圖片。
567
545
  endorsement_buttons_cell:
568
- already_endorsed: 不喜歡
546
+ endorse: 喜歡!
569
547
  endorsements:
570
548
  identities:
571
549
  done: 已完成
572
550
  select_identity: 選擇身份
573
- endorsers_list:
574
- endorsed_by: 被喜歡...
575
551
  errors:
576
552
  internal_server_error:
577
553
  copied: 文字已複製!
@@ -734,10 +710,7 @@ zh-TW:
734
710
  notification_title: 參與者 %{name} (%{nickname}) 已被官方認證。
735
711
  export_mailer:
736
712
  download_your_data_export:
737
- click_button: '點擊下方鏈接下載您的資料。<br/>檔案將可取得直到 %{date}.<br/>您需要 <a href="https://www.7-zip.org/">7-Zip</a> (Windows),<a href="https://www.keka.io/en/">Keka</a> (MacOS),或<a href="https://peazip.github.io">PeaZip</a> (Linux) 來打開它。密碼: %{password}'
738
713
  download: 下載
739
- export:
740
- ready: 請查收附上的壓縮檔,這是您的匯出資料。
741
714
  subject: 您的匯出檔案 "%{name}" 已準備就緒。
742
715
  filters:
743
716
  linked_classes:
@@ -820,7 +793,7 @@ zh-TW:
820
793
  badges:
821
794
  followers:
822
795
  conditions:
823
- - 積極參與並追蹤其他人,有助於吸引其他人追蹤您。
796
+ - 積極參與並追蹤其他人,有助於吸引其他人追蹤您。
824
797
  description: 當您達到一定數量的追蹤者時,將獲得此徽章。%{organization_name} 是一個社交和政治網絡,藉此平台與其他人溝通,編織您的網絡。
825
798
  description_another: 這位參與者有 %{score} 位追隨者。
826
799
  description_own: "這位參與者有 %{score} 位追隨者。"
@@ -1219,12 +1192,14 @@ zh-TW:
1219
1192
  conversations: 對話
1220
1193
  followers: 追隨者
1221
1194
  following: 關注
1222
- group_admins: 管理管理員
1223
- group_members: 管理成員
1224
1195
  groups: 群組
1225
1196
  members: 成員
1226
1197
  officialized: 正式認證參與者
1227
1198
  send_private_message: 發送私人訊息
1199
+ sidebar:
1200
+ badges:
1201
+ info: 徽章是通過在平台上執行特定活動而獲得的。
1202
+ title: 徽章
1228
1203
  user:
1229
1204
  actions:
1230
1205
  create_user_group: 建立群組
@@ -1232,14 +1207,26 @@ zh-TW:
1232
1207
  edit_user_group: 編輯群組資料
1233
1208
  invite_user: 邀請參與者
1234
1209
  join_user_group: 申請加入群組
1235
- leave_user_group: 退出群組
1236
1210
  manage_user_group_admins: 管理管理員
1237
1211
  manage_user_group_users: 管理成員
1238
1212
  message: 訊息
1239
- resend_email_confirmation_instructions: 重新發送電子郵件確認指示
1240
1213
  confirmation_instructions_sent: 電子郵件確認指示已發送.
1214
+ create_user_group: 建立群組
1215
+ edit_profile: 編輯個人資料
1216
+ edit_user_group: 編輯群組資料
1241
1217
  fill_in_email_to_confirm_it: 請填寫您的群組電子郵件以進行確認.
1218
+ invite_user: 邀請參與者
1219
+ join_user_group: 申請加入群組
1220
+ leave_user_group: 退出群組
1221
+ manage_user_group_admins: 管理管理員
1222
+ manage_user_group_users: 管理成員
1223
+ resend_email_confirmation_instructions: 重新發送電子郵件確認指示
1242
1224
  reported_mailer:
1225
+ hide:
1226
+ hello: 哈囉,%{name},
1227
+ manage_moderations: 管理版主
1228
+ report_html: <p>以下<a href="%{url}">內容</a>已自動隱藏。</p>
1229
+ subject: 一個資源已被自動隱藏。
1243
1230
  report:
1244
1231
  authors: 作者
1245
1232
  content: 已檢舉內容
@@ -1255,23 +1242,13 @@ zh-TW:
1255
1242
  subject: 一個資源已被檢舉。
1256
1243
  reports:
1257
1244
  create:
1258
- error: 在建立報告時發生錯誤。請再試一次。
1259
1245
  success: 報告已成功建立,將由管理員進行審查。
1260
1246
  resource_endorsements:
1261
1247
  create:
1262
1248
  error: 在連署操作過程中出現問題。
1263
1249
  scopes:
1264
1250
  global: 全域範圍
1265
- picker:
1266
- cancel: 取消
1267
- change: 更改所選範圍
1268
- choose: 選擇
1269
- currently_selected: 目前選取的範圍
1270
- title: 選擇 %{field}
1271
1251
  prompt: 選擇一個範圍
1272
- scopes: 範圍
1273
- scopes_picker_input:
1274
- select_scope: '選擇範圍 (目前: %{current})'
1275
1252
  search:
1276
1253
  results: 搜尋結果
1277
1254
  results_found_for_term: '搜尋結果:%{term}(共找到 %{count} 個結果)'
@@ -1320,20 +1297,18 @@ zh-TW:
1320
1297
  flag_user_modal:
1321
1298
  already_reported: 此內容已被舉報,將由管理員進行審查。
1322
1299
  block: 封鎖此參與者
1300
+ close: 關閉
1301
+ description: 關於該使用者有什麼不適當的行為?
1323
1302
  does_not_belong: 包含非法活動、自殺威脅、個人資訊或其他您認為不適合在%{organization_name} 上的內容。
1324
1303
  hide: 隱藏所有內容
1325
1304
  offensive: 包含種族主義、性別歧視、辱罵、人身攻擊、死亡威脅、自殺要求或任何形式的仇恨言論
1326
1305
  report: 報告
1327
1306
  spam: 包含點閱率誘導、廣告、詐騙或自動腳本。
1307
+ title: 舉報不適當的使用者
1328
1308
  floating_help:
1329
1309
  help: 幫助
1330
1310
  mentions_modal:
1331
1311
  remove_recipient: 移除收件人 %{name}。
1332
- participatory_space_filters:
1333
- filters:
1334
- areas: 區域
1335
- scope: 範圍
1336
- select_an_area: 選擇一個地區
1337
1312
  public_participation:
1338
1313
  public_participation: 公開展示我的出席情況。
1339
1314
  reference:
@@ -1361,9 +1336,6 @@ zh-TW:
1361
1336
  pages_count: 頁
1362
1337
  participants_count: 參與者
1363
1338
  users_count: 參與者
1364
- tags:
1365
- filter_results_for_category: '篩選類別為 %{resource} 的結果。'
1366
- filter_results_for_scope: '篩選範圍為 %{resource} 的結果。'
1367
1339
  translation_bar:
1368
1340
  help_text: "<strong>警告:</strong>內容可能會被自動翻譯,並且可能不是100%準確。"
1369
1341
  show_original: 顯示原始文本
@@ -1386,15 +1358,6 @@ zh-TW:
1386
1358
  send: 發送
1387
1359
  update:
1388
1360
  error: 訊息未送出,請稍後再試。
1389
- user_interests:
1390
- show:
1391
- my_interests: 我的興趣
1392
- no_scopes: 這個組織目前還沒有設定範圍!
1393
- select_your_interests: 選擇您感興趣的主題,以接收與其相關的活動,並在您的個人檔案時間軸選項卡中查看。
1394
- update_my_interests: 更新我的興趣
1395
- update:
1396
- error: 更新您的興趣時發生問題。
1397
- success: 您的興趣已成功更新。
1398
1361
  user_report_mailer:
1399
1362
  notify:
1400
1363
  body_1: 使用者 %{user} 已被 %{token} 舉報。
@@ -1644,7 +1607,6 @@ zh-TW:
1644
1607
  cc_by_license: 知識共用授權合約。
1645
1608
  data_consent_settings: Cookie 設定
1646
1609
  decidim_logo: Decidim 商標
1647
- download_open_data: 下載開放數據檔案
1648
1610
  log_in: 登入
1649
1611
  made_with_open_source: 使用<a target="_blank" href="https://github.com/decidim/decidim">自由軟體</a>建立的網站。
1650
1612
  header:
@@ -1684,7 +1646,6 @@ zh-TW:
1684
1646
  authorizations: 授權
1685
1647
  delete_my_account: 刪除我的帳號
1686
1648
  my_data: 我的資料
1687
- my_interests: 我的興趣
1688
1649
  notifications_settings: 通知設定
1689
1650
  title: 參與者設定
1690
1651
  user_groups: 群組
data/config/routes.rb CHANGED
@@ -55,12 +55,7 @@ Decidim::Core::Engine.routes.draw do
55
55
 
56
56
  resource :locale, only: [:create]
57
57
 
58
- Decidim.participatory_space_manifests.each do |manifest|
59
- mount manifest.context(:public).engine, at: "/", as: "decidim_#{manifest.name}"
60
- end
61
-
62
- mount Decidim::Verifications::Engine, at: "/", as: "decidim_verifications"
63
- mount Decidim::Comments::Engine, at: "/", as: "decidim_comments"
58
+ post :locate, to: "geolocation#locate"
64
59
 
65
60
  Decidim.global_engines.each do |name, engine_data|
66
61
  mount engine_data[:engine], at: engine_data[:at], as: name
@@ -94,12 +89,11 @@ Decidim::Core::Engine.routes.draw do
94
89
  resource :download_your_data, only: [:show], controller: "download_your_data" do
95
90
  member do
96
91
  post :export
97
- get :download_file
92
+ get "/:uuid", to: "download_your_data#download_file", as: :download
98
93
  end
99
94
  end
100
95
 
101
96
  resources :notifications_subscriptions, param: :auth, only: [:create, :destroy]
102
- resource :user_interests, only: [:show, :update]
103
97
 
104
98
  get "/authorization_modals/:authorization_action/f/:component_id(/:resource_name/:resource_id)", to: "authorization_modals#show", as: :authorization_modal
105
99
  get(
@@ -152,15 +146,15 @@ Decidim::Core::Engine.routes.draw do
152
146
 
153
147
  get "/link", to: "links#new", as: :link
154
148
 
155
- get "/scopes/picker", to: "scopes#picker", as: :scopes_picker
156
-
157
149
  get "/static_map", to: "static_map#show", as: :static_map
158
150
  put "/pages/terms-of-service/accept", to: "tos#accept_tos", as: :accept_tos
159
151
 
160
152
  match "/404", to: "errors#not_found", via: :all
161
153
  match "/500", to: "errors#internal_server_error", via: :all
162
154
 
155
+ get "/open-data", to: "open_data#index", as: :open_data
163
156
  get "/open-data/download", to: "open_data#download", as: :open_data_download
157
+ get "/open-data/download/:resource", to: "open_data#download", as: :open_data_download_resource
164
158
 
165
159
  resource :follow, only: [:create, :destroy]
166
160
  resource :report, only: [:create]
@@ -11,7 +11,7 @@ class CreateUniqueNicknames < ActiveRecord::Migration[5.1]
11
11
  add_column :decidim_users, :nickname, :string, limit: 20
12
12
 
13
13
  User.where.not(name: nil).find_each do |user|
14
- user.update!(nickname: UserBaseEntity.nicknamize(user.name, user.decidim_organization_id))
14
+ user.update!(nickname: UserBaseEntity.nicknamize(user.name, decidim_organization_id: user.decidim_organization_id))
15
15
  end
16
16
 
17
17
  add_index :decidim_users,
@@ -11,7 +11,7 @@ class FixNicknameIndex < ActiveRecord::Migration[5.1]
11
11
  User.where(nickname: nil)
12
12
  .where(deleted_at: nil)
13
13
  .where(managed: false)
14
- .find_each { |u| u.update(nickname: UserBaseEntity.nicknamize(u.name, u.decidim_organization_id)) }
14
+ .find_each { |u| u.update(nickname: UserBaseEntity.nicknamize(u.name, decidim_organization_id: u.decidim_organization_id)) }
15
15
 
16
16
  # rubocop:disable Rails/SkipsModelValidations
17
17
  User.where(nickname: nil).update_all("nickname = ''")
@@ -7,7 +7,7 @@ class AddNicknameToManagedUsers < ActiveRecord::Migration[5.2]
7
7
 
8
8
  def up
9
9
  User.where(managed: true, nickname: nil).includes(:organization).find_each do |user|
10
- user.nickname = UserBaseEntity.nicknamize(user.name, user.decidim_organization_id)
10
+ user.nickname = UserBaseEntity.nicknamize(user.name, organization: user.organization)
11
11
  user.save
12
12
  end
13
13
  end
@@ -64,7 +64,7 @@ class MoveUsersGroupsToUsersTable < ActiveRecord::Migration[5.2]
64
64
  verified_at: old_user_group.verified_at
65
65
  }
66
66
  new_attributes = clean_attributes.merge(
67
- nickname: UserBaseEntity.nicknamize(clean_attributes["name"], old_user_group.decidim_organization_id),
67
+ nickname: UserBaseEntity.nicknamize(clean_attributes["name"]),
68
68
  extended_data:
69
69
  )
70
70
  new_user_group = NewUserGroup.create!(new_attributes)
@@ -7,9 +7,11 @@ class AddTimestampsToComponents < ActiveRecord::Migration[5.2]
7
7
 
8
8
  def change
9
9
  add_timestamps :decidim_components, null: true
10
+
10
11
  # rubocop:disable Rails/SkipsModelValidations
11
12
  Component.update_all(created_at: Time.current, updated_at: Time.current)
12
13
  # rubocop:enable Rails/SkipsModelValidations
14
+
13
15
  change_column_null :decidim_components, :created_at, false
14
16
  change_column_null :decidim_components, :updated_at, false
15
17
  end
@@ -23,7 +23,7 @@ class FixUserNames < ActiveRecord::Migration[5.2]
23
23
 
24
24
  entity.name = entity.name.delete(characters_to_remove).strip
25
25
  sanitized_nickname = entity.nickname.delete(characters_to_remove).strip
26
- entity.nickname = UserBaseEntity.nicknamize(sanitized_nickname, entity.decidim_organization_id)
26
+ entity.nickname = UserBaseEntity.nicknamize(sanitized_nickname, organization: entity.organization)
27
27
  entity.save(validate: false)
28
28
  end
29
29
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddVisibleToComponents < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_components, :visible, :boolean, default: true
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTaxonomies < ActiveRecord::Migration[7.0]
4
+ def change
5
+ create_table :decidim_taxonomies do |t|
6
+ t.jsonb :name, null: false, default: {}
7
+ t.references :decidim_organization, null: false, index: true
8
+ t.references :parent, index: true
9
+ t.integer :weight
10
+ t.integer :children_count, null: false, default: 0
11
+ t.integer :taxonomizations_count, null: false, default: 0
12
+ t.timestamps
13
+ end
14
+
15
+ create_table :decidim_taxonomizations do |t|
16
+ t.references :taxonomy, null: false, index: true
17
+ t.references :taxonomizable, null: false, polymorphic: true, index: { name: "index_taxonomizations_on_taxonomizable" }
18
+ t.timestamps
19
+ end
20
+
21
+ add_index :decidim_taxonomizations, [:taxonomy_id, :taxonomizable_id, :taxonomizable_type], name: "index_taxonomizations_on_id_tid_and_ttype", unique: true
22
+ end
23
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddRegisteredOnlyToDecidimShareTokens < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_share_tokens, :registered_only, :boolean
6
+ end
7
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ChangeObjectChangesOnVersions < ActiveRecord::Migration[6.1]
4
+ def up
5
+ rename_column :versions, :object_changes, :old_object_changes
6
+ add_column :versions, :object_changes, :jsonb # or :json
7
+
8
+ PaperTrail::Version.where.not(old_object_changes: nil).find_each do |version|
9
+ # This is an adaptation of PaperTrail internal load_changeset method,having in mind that we
10
+ # need to call also the code from PaperTrail::AttributeSerializer::ObjectChangesAttribute
11
+ object_changes = ActiveSupport::HashWithIndifferentAccess.new(YAML.unsafe_load(version.old_object_changes))
12
+ unless version.item_type.constantize.unscoped.find_by(id: version.item_id).nil?
13
+ # This is the deserialization code from `PaperTrail::AttributeSerializer::ObjectChangesAttribute`
14
+ # where we skip checking the object changeset column type, as we migrate it from YAML to JSON
15
+ changes_to_serialize = object_changes.clone
16
+ if changes_to_serialize.present?
17
+ serializer = PaperTrail::AttributeSerializers::CastAttributeSerializer.new(version.item_type.constantize)
18
+ changes_to_serialize.each do |key, change|
19
+ # `change` is an Array with two elements, representing before and after.
20
+ object_changes[key] = Array(change).map do |value|
21
+ serializer.send(:deserialize, key, value)
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ version.update_columns(old_object_changes: nil, object_changes:) # rubocop:disable Rails/SkipsModelValidations
28
+ rescue NameError
29
+ Rails.logger.info "Skipping History of #{version.item_type} with id #{version.item_id}"
30
+ end
31
+
32
+ PaperTrail::Version.reset_column_information
33
+ remove_column :versions, :old_object_changes
34
+ end
35
+
36
+ def down
37
+ raise ActiveRecord::IrreversibleMigration
38
+ end
39
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTaxonomyFilters < ActiveRecord::Migration[7.0]
4
+ def change
5
+ create_table :decidim_taxonomy_filters do |t|
6
+ t.references :root_taxonomy, null: false, foreign_key: { to_table: :decidim_taxonomies }
7
+ t.integer :filter_items_count, null: false, default: 0
8
+ t.string :space_manifest, null: false
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :decidim_taxonomy_filter_items do |t|
13
+ t.references :taxonomy_filter, null: false, index: true
14
+ t.references :taxonomy_item, null: false, foreign_key: { to_table: :decidim_taxonomies }
15
+ t.timestamps
16
+ end
17
+
18
+ add_index :decidim_taxonomy_filter_items, [:taxonomy_filter_id, :taxonomy_item_id], name: "index_taxonomy_filter_items_on_filter_id_and_item_id", unique: true
19
+
20
+ add_column :decidim_taxonomies, :filters_count, :integer, null: false, default: 0
21
+ add_column :decidim_taxonomies, :filter_items_count, :integer, null: false, default: 0
22
+ end
23
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeletedAtToDecidimComponents < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_components, :deleted_at, :datetime
6
+ add_index :decidim_components, :deleted_at
7
+ end
8
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddPartOfToTaxonomies < ActiveRecord::Migration[7.0]
4
+ class Taxonomy < ApplicationRecord
5
+ self.table_name = :decidim_taxonomies
6
+ belongs_to :parent, class_name: "Taxonomy", optional: true
7
+ end
8
+
9
+ def change
10
+ add_column :decidim_taxonomies, :part_of, :integer, array: true, default: [], null: false
11
+ add_index :decidim_taxonomies, :part_of, using: "gin"
12
+
13
+ reversible do |dir|
14
+ dir.up do
15
+ Taxonomy.find_each do |taxonomy|
16
+ if taxonomy.parent
17
+ taxonomy.part_of.clear.append(taxonomy.id).concat(taxonomy.parent.reload.part_of)
18
+ else
19
+ taxonomy.part_of.clear.append(taxonomy.id)
20
+ end
21
+ taxonomy.save
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddRoleToParticipatorySpacePrivateUsers < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_participatory_space_private_users, :role, :jsonb
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddPublishedToParticipatorySpacePrivateUsers < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_participatory_space_private_users, :published, :boolean, default: false
6
+ end
7
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreatePrivateExports < ActiveRecord::Migration[7.0]
4
+ def change
5
+ create_table :decidim_private_exports, id: :uuid do |t|
6
+ t.string :export_type, null: false
7
+ t.string :attached_to_type
8
+ t.integer :attached_to_id
9
+ t.string :file
10
+ t.string :content_type, null: false
11
+ t.string :file_size, null: false
12
+ t.datetime :expires_at
13
+ t.jsonb :metadata, default: {}
14
+
15
+ t.timestamps
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddComponentCounterToTaxonomyFilters < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_taxonomy_filters, :components_count, :integer, null: false, default: 0
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddNamesAndSpaceBooleanToTaxonomyFilters < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_taxonomy_filters, :name, :jsonb, default: {}
6
+ add_column :decidim_taxonomy_filters, :internal_name, :jsonb, default: {}
7
+ add_column :decidim_taxonomy_filters, :space_filter, :boolean, null: false, default: false
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddTaxonomyToMetrics < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_reference :decidim_metrics, :decidim_taxonomy, index: true
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddParticipatorySpaceManifestsFromTaxonomyFilters < ActiveRecord::Migration[7.0]
4
+ def change
5
+ remove_column :decidim_taxonomy_filters, :space_manifest
6
+ remove_column :decidim_taxonomy_filters, :space_filter
7
+ add_column :decidim_taxonomy_filters, :participatory_space_manifests, :string, array: true, default: [], null: false
8
+ end
9
+ end