decidim-core 0.29.2 → 0.30.0.rc2

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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/amendable/amend_button_card/show.erb +6 -4
  3. data/app/cells/decidim/amendable/amend_button_card_cell.rb +8 -0
  4. data/app/cells/decidim/amendable/amendments/show.erb +1 -1
  5. data/app/cells/decidim/amendable/promote_button_card/show.erb +2 -0
  6. data/app/cells/decidim/author_cell.rb +1 -1
  7. data/app/cells/decidim/card_l/extra_data.erb +1 -0
  8. data/app/cells/decidim/card_metadata_cell.rb +9 -16
  9. data/app/cells/decidim/comments_button_cell.rb +14 -2
  10. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +2 -0
  11. data/app/cells/decidim/content_blocks/highlighted_elements_with_cell_for_list_cell.rb +1 -1
  12. data/app/cells/decidim/endorsement_block/show.erb +0 -1
  13. data/app/cells/decidim/endorsement_block_cell.rb +6 -0
  14. data/app/cells/decidim/endorsement_buttons/button_content.erb +1 -1
  15. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +1 -1
  16. data/app/cells/decidim/endorsement_buttons/show.erb +7 -7
  17. data/app/cells/decidim/endorsement_buttons/verification_modal.erb +4 -2
  18. data/app/cells/decidim/endorsers_list/empty.erb +3 -0
  19. data/app/cells/decidim/endorsers_list/full.erb +17 -5
  20. data/app/cells/decidim/endorsers_list/show.erb +19 -10
  21. data/app/cells/decidim/endorsers_list_cell.rb +19 -6
  22. data/app/cells/decidim/follow_button/show.erb +1 -2
  23. data/app/cells/decidim/follow_button_cell.rb +5 -0
  24. data/app/cells/decidim/map/show.erb +3 -0
  25. data/app/cells/decidim/map/template.erb +14 -0
  26. data/app/cells/decidim/map_cell.rb +39 -0
  27. data/app/cells/decidim/notification_actions/buttons_cell.rb +1 -1
  28. data/app/cells/decidim/onboarding_action_message/show.erb +15 -0
  29. data/app/cells/decidim/onboarding_action_message_cell.rb +81 -0
  30. data/app/cells/decidim/participatory_space_private_user/show.erb +23 -0
  31. data/app/cells/decidim/participatory_space_private_user_cell.rb +21 -0
  32. data/app/cells/decidim/progress_bar/show.erb +2 -2
  33. data/app/cells/decidim/report_button_cell.rb +1 -0
  34. data/app/cells/decidim/resource_history/show.erb +20 -0
  35. data/app/cells/decidim/resource_history_cell.rb +66 -0
  36. data/app/cells/decidim/share_button_cell.rb +0 -4
  37. data/app/cells/decidim/share_widget/modal.erb +26 -0
  38. data/app/cells/decidim/share_widget/show.erb +2 -0
  39. data/app/cells/decidim/share_widget_cell.rb +20 -0
  40. data/app/cells/decidim/tags/show.erb +7 -4
  41. data/app/cells/decidim/tags_cell.rb +11 -72
  42. data/app/commands/decidim/amendable/create_draft.rb +2 -2
  43. data/app/commands/decidim/create_ephemeral_user.rb +52 -0
  44. data/app/commands/decidim/create_omniauth_registration.rb +13 -3
  45. data/app/commands/decidim/create_report.rb +1 -5
  46. data/app/commands/decidim/create_user_group.rb +6 -2
  47. data/app/commands/decidim/destroy_ephemeral_user.rb +47 -0
  48. data/app/commands/decidim/update_account.rb +11 -3
  49. data/app/commands/decidim/update_notifications_settings.rb +1 -0
  50. data/app/commands/decidim/update_resources_taxonomies.rb +67 -0
  51. data/app/commands/decidim/update_user_group.rb +7 -1
  52. data/app/constraints/decidim/current_component.rb +1 -1
  53. data/app/controllers/concerns/decidim/ajax_permission_handler.rb +21 -0
  54. data/app/controllers/concerns/decidim/devise_authentication_methods.rb +3 -6
  55. data/app/controllers/concerns/decidim/devise_controllers.rb +2 -0
  56. data/app/controllers/concerns/decidim/disable_redirection_to_external_host.rb +1 -1
  57. data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +87 -0
  58. data/app/controllers/concerns/decidim/filter_resource.rb +4 -2
  59. data/app/controllers/concerns/decidim/has_members_page.rb +25 -0
  60. data/app/controllers/concerns/decidim/headers/browser_feature_permissions.rb +50 -0
  61. data/app/controllers/concerns/decidim/locale_switcher.rb +2 -2
  62. data/app/controllers/concerns/decidim/needs_password_change.rb +0 -1
  63. data/app/controllers/concerns/decidim/needs_permission.rb +2 -1
  64. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +4 -5
  65. data/app/controllers/concerns/decidim/onboarding_action_methods.rb +52 -0
  66. data/app/controllers/decidim/application_controller.rb +10 -0
  67. data/app/controllers/decidim/authorization_modals_controller.rb +8 -2
  68. data/app/controllers/decidim/components/base_controller.rb +3 -7
  69. data/app/controllers/decidim/devise/confirmations_controller.rb +4 -0
  70. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +8 -1
  71. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  72. data/app/controllers/decidim/devise/sessions_controller.rb +2 -0
  73. data/app/controllers/decidim/download_your_data_controller.rb +33 -2
  74. data/app/controllers/decidim/editor_images_controller.rb +1 -11
  75. data/app/controllers/decidim/follows_controller.rb +1 -1
  76. data/app/controllers/decidim/geolocation_controller.rb +19 -0
  77. data/app/controllers/decidim/homepage_controller.rb +0 -1
  78. data/app/controllers/decidim/open_data_controller.rb +33 -8
  79. data/app/controllers/decidim/user_conversations_controller.rb +1 -11
  80. data/app/events/decidim/soft_delete_resource_event.rb +15 -0
  81. data/app/forms/decidim/amendable/form.rb +4 -2
  82. data/app/forms/decidim/ephemeral_user_form.rb +22 -0
  83. data/app/forms/decidim/notifications_settings_form.rb +1 -0
  84. data/app/forms/decidim/omniauth_registration_form.rb +14 -1
  85. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +17 -2
  86. data/app/helpers/decidim/action_authorization_helper.rb +75 -14
  87. data/app/helpers/decidim/amendments_helper.rb +0 -9
  88. data/app/helpers/decidim/application_helper.rb +6 -2
  89. data/app/helpers/decidim/breadcrumb_helper.rb +6 -0
  90. data/app/helpers/decidim/cache_helper.rb +1 -1
  91. data/app/helpers/decidim/check_boxes_tree_helper.rb +25 -53
  92. data/app/helpers/decidim/decidim_form_helper.rb +0 -44
  93. data/app/helpers/decidim/endorsable_helper.rb +0 -10
  94. data/app/helpers/decidim/layout_helper.rb +6 -0
  95. data/app/helpers/decidim/messaging/conversation_helper.rb +2 -3
  96. data/app/helpers/decidim/meta_tags_helper.rb +32 -23
  97. data/app/helpers/decidim/modal_helper.rb +23 -0
  98. data/app/helpers/decidim/omniauth_helper.rb +5 -5
  99. data/app/helpers/decidim/onboarding_action_helper.rb +13 -0
  100. data/app/helpers/decidim/orders_helper.rb +2 -1
  101. data/app/helpers/decidim/participatory_space_helpers.rb +1 -1
  102. data/app/helpers/decidim/passwords_helper.rb +2 -2
  103. data/app/helpers/decidim/taxonomies_helper.rb +40 -0
  104. data/app/jobs/decidim/download_your_data_export_job.rb +2 -19
  105. data/app/jobs/decidim/event_publisher_job.rb +18 -9
  106. data/app/jobs/decidim/export_job.rb +5 -1
  107. data/app/jobs/decidim/export_participatory_space_job.rb +4 -1
  108. data/app/jobs/decidim/hide_child_resources_job.rb +24 -0
  109. data/app/jobs/decidim/open_data_job.rb +4 -4
  110. data/app/mailers/decidim/export_mailer.rb +7 -12
  111. data/app/models/decidim/action_log.rb +11 -0
  112. data/app/models/decidim/category.rb +4 -0
  113. data/app/models/decidim/component.rb +25 -3
  114. data/app/models/decidim/metric.rb +2 -1
  115. data/app/models/decidim/moderation.rb +16 -0
  116. data/app/models/decidim/newsletter.rb +12 -8
  117. data/app/models/decidim/organization.rb +7 -3
  118. data/app/models/decidim/participatory_space_private_user.rb +20 -0
  119. data/app/models/decidim/private_export.rb +24 -0
  120. data/app/models/decidim/push_notification_message.rb +1 -1
  121. data/app/models/decidim/report.rb +1 -1
  122. data/app/models/decidim/scope.rb +4 -0
  123. data/app/models/decidim/share_token.rb +36 -10
  124. data/app/models/decidim/taxonomization.rb +23 -0
  125. data/app/models/decidim/taxonomy.rb +139 -0
  126. data/app/models/decidim/taxonomy_filter.rb +130 -0
  127. data/app/models/decidim/taxonomy_filter_item.rb +33 -0
  128. data/app/models/decidim/user.rb +9 -23
  129. data/app/models/decidim/user_base_entity.rb +12 -0
  130. data/app/models/decidim/user_moderation.rb +9 -0
  131. data/app/models/decidim/user_report.rb +4 -0
  132. data/app/packs/entrypoints/decidim_core.js +1 -0
  133. data/app/packs/entrypoints/decidim_geocoding.js +2 -0
  134. data/app/packs/images/decidim/brands/facebook.svg +10 -0
  135. data/app/packs/images/decidim/brands/google.svg +7 -1
  136. data/app/packs/images/decidim/brands/twitter-x.svg +3 -0
  137. data/app/packs/src/decidim/check_boxes_tree.js +0 -1
  138. data/app/packs/src/decidim/clipboard.js +18 -9
  139. data/app/packs/src/decidim/confirm.js +79 -59
  140. data/app/packs/src/decidim/decidim_application.js +1 -0
  141. data/app/packs/src/decidim/form_remote.js +1 -1
  142. data/app/packs/src/decidim/geocoding/reverse_geocoding.js +60 -0
  143. data/app/packs/src/decidim/impersonation.js +1 -1
  144. data/app/packs/src/decidim/index.js +11 -1
  145. data/app/packs/src/decidim/map/provider/here.js +1 -1
  146. data/app/packs/src/decidim/onboarding_pending_action.js +24 -0
  147. data/app/packs/src/decidim/session_timeouter.js +1 -1
  148. data/app/packs/src/decidim/sticky_footer.js +29 -0
  149. data/app/packs/src/decidim/sticky_header.js +6 -31
  150. data/app/packs/src/decidim/user_registrations.js +13 -0
  151. data/app/packs/src/decidim/utilities/dom.js +148 -0
  152. data/app/packs/stylesheets/decidim/_accordion.scss +30 -0
  153. data/app/packs/stylesheets/decidim/_buttons.scss +19 -0
  154. data/app/packs/stylesheets/decidim/_dropdown.scss +1 -1
  155. data/app/packs/stylesheets/decidim/_endorsers_list.scss +26 -20
  156. data/app/packs/stylesheets/decidim/_forms.scss +2 -2
  157. data/app/packs/stylesheets/decidim/_hashtags.scss +5 -0
  158. data/app/packs/stylesheets/decidim/_header.scss +5 -3
  159. data/app/packs/stylesheets/decidim/_layout.scss +32 -2
  160. data/app/packs/stylesheets/decidim/_login.scss +53 -6
  161. data/app/packs/stylesheets/decidim/_modal.scss +42 -0
  162. data/app/packs/stylesheets/decidim/_modal_tos_refuse.scss +4 -0
  163. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +46 -0
  164. data/app/packs/stylesheets/decidim/_profile.scss +1 -1
  165. data/app/packs/stylesheets/decidim/_success_image.scss +64 -0
  166. data/app/packs/stylesheets/decidim/_tribute.scss +36 -0
  167. data/app/packs/stylesheets/decidim/application.scss +2 -0
  168. data/app/packs/stylesheets/decidim/geocoding_addons.scss +5 -0
  169. data/app/packs/stylesheets/decidim/map.scss +7 -10
  170. data/app/packs/stylesheets/decidim/resource_history.scss +31 -0
  171. data/app/permissions/decidim/permissions.rb +8 -2
  172. data/app/presenters/decidim/admin_log/base_user_presenter.rb +67 -0
  173. data/app/presenters/decidim/admin_log/component_presenter.rb +32 -3
  174. data/app/presenters/decidim/admin_log/moderation_presenter.rb +30 -3
  175. data/app/presenters/decidim/admin_log/share_token_presenter.rb +39 -0
  176. data/app/presenters/decidim/admin_log/taxonomy_filter_presenter.rb +57 -0
  177. data/app/presenters/decidim/admin_log/taxonomy_presenter.rb +48 -0
  178. data/app/presenters/decidim/admin_log/user_group_presenter.rb +6 -6
  179. data/app/presenters/decidim/admin_log/user_presenter.rb +4 -18
  180. data/app/presenters/decidim/log/value_types/date_presenter.rb +1 -0
  181. data/app/presenters/decidim/log/value_types/taxonomy_presenter.rb +29 -0
  182. data/app/presenters/decidim/participatory_space_private_user_presenter.rb +50 -0
  183. data/app/presenters/decidim/taxonomy_filter_presenter.rb +19 -0
  184. data/app/presenters/decidim/taxonomy_presenter.rb +14 -0
  185. data/app/queries/decidim/metrics/blocked_users_metric_manage.rb +2 -2
  186. data/app/queries/decidim/metrics/users_metric_manage.rb +2 -2
  187. data/app/queries/decidim/public_activities.rb +1 -12
  188. data/app/queries/decidim/stats_users_count.rb +2 -2
  189. data/app/resolvers/decidim/meta_image_url_resolver.rb +128 -0
  190. data/app/serializers/decidim/exporters/open_data_blocked_user_serializer.rb +25 -0
  191. data/app/serializers/decidim/exporters/open_data_metric_serializer.rb +22 -0
  192. data/app/serializers/decidim/exporters/open_data_moderation_serializer.rb +30 -0
  193. data/app/serializers/decidim/exporters/open_data_taxonomy_serializer.rb +30 -0
  194. data/app/serializers/decidim/exporters/open_data_user_group_serializer.rb +38 -0
  195. data/app/serializers/decidim/exporters/open_data_user_serializer.rb +39 -0
  196. data/app/serializers/decidim/exporters/participatory_space_serializer.rb +104 -0
  197. data/app/serializers/decidim/exporters/serializer.rb +25 -0
  198. data/app/serializers/decidim/schema_org_breadcrumb_list_serializer.rb +52 -0
  199. data/app/services/decidim/action_authorizer.rb +32 -3
  200. data/app/services/decidim/base_diff_renderer.rb +1 -1
  201. data/app/services/decidim/download_your_data_exporter.rb +58 -24
  202. data/app/services/decidim/onboarding_manager.rb +272 -0
  203. data/app/services/decidim/open_data_exporter.rb +139 -13
  204. data/app/services/decidim/traceability.rb +13 -0
  205. data/app/uploaders/decidim/application_uploader.rb +1 -1
  206. data/app/validators/etiquette_validator.rb +9 -2
  207. data/app/validators/passthru_validator.rb +1 -1
  208. data/app/validators/translated_etiquette_validator.rb +32 -0
  209. data/app/views/decidim/account/_password_fields.html.erb +2 -2
  210. data/app/views/decidim/application/_accordion_section.html.erb +14 -0
  211. data/app/views/decidim/application/_collection.html.erb +30 -18
  212. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +5 -1
  213. data/app/views/decidim/devise/omniauth_registrations/new_tos_fields.html.erb +29 -0
  214. data/app/views/decidim/devise/registrations/new.html.erb +10 -22
  215. data/app/views/decidim/devise/sessions/new.html.erb +24 -29
  216. data/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +2 -4
  217. data/app/views/decidim/devise/shared/_tos_fields.html.erb +16 -0
  218. data/app/views/decidim/download_your_data/_export.html.erb +15 -0
  219. data/app/views/decidim/download_your_data/show.html.erb +51 -5
  220. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +16 -19
  221. data/app/views/decidim/export_mailer/download_your_data_export.html.erb +2 -2
  222. data/app/views/decidim/export_mailer/export.html.erb +5 -1
  223. data/app/views/decidim/notifications_settings/show.html.erb +22 -0
  224. data/app/views/decidim/open_data/_how_to_open_accordion_section.html.erb +15 -0
  225. data/app/views/decidim/open_data/index.html.erb +108 -0
  226. data/app/views/decidim/pages/show.html.erb +2 -1
  227. data/app/views/decidim/participatory_space_private_users/_participatory_space_private_user.html.erb +1 -0
  228. data/app/views/decidim/shared/_login_modal.html.erb +26 -20
  229. data/app/views/decidim/shared/_orders.html.erb +2 -2
  230. data/app/views/decidim/shared/_resource_actions.html.erb +21 -0
  231. data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -2
  232. data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
  233. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +7 -4
  234. data/app/views/layouts/decidim/_application.html.erb +0 -1
  235. data/app/views/layouts/decidim/_js_configuration.html.erb +1 -0
  236. data/app/views/layouts/decidim/_logo.html.erb +1 -1
  237. data/app/views/layouts/decidim/_logo_mobile.html.erb +1 -1
  238. data/app/views/layouts/decidim/_meta_tags_config.html.erb +6 -11
  239. data/app/views/layouts/decidim/_schema_org_breadcrumb_list.html.erb +3 -0
  240. data/app/views/layouts/decidim/_wrapper.html.erb +15 -9
  241. data/app/views/layouts/decidim/footer/_main_links.html.erb +1 -1
  242. data/app/views/layouts/decidim/header/_close_ephemeral_session.html.erb +25 -0
  243. data/app/views/layouts/decidim/header/_main.html.erb +14 -10
  244. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +2 -0
  245. data/app/views/layouts/decidim/shared/_layout_item.html.erb +1 -1
  246. data/config/assets.rb +2 -1
  247. data/config/locales/ar.yml +27 -59
  248. data/config/locales/bg.yml +3 -64
  249. data/config/locales/ca.yml +370 -61
  250. data/config/locales/cs.yml +371 -54
  251. data/config/locales/de.yml +365 -54
  252. data/config/locales/el.yml +1 -48
  253. data/config/locales/en.yml +363 -54
  254. data/config/locales/eo.yml +0 -2
  255. data/config/locales/es-MX.yml +363 -57
  256. data/config/locales/es-PY.yml +363 -57
  257. data/config/locales/es.yml +367 -58
  258. data/config/locales/eu.yml +373 -65
  259. data/config/locales/fi-plain.yml +365 -57
  260. data/config/locales/fi.yml +370 -59
  261. data/config/locales/fr-CA.yml +178 -54
  262. data/config/locales/fr.yml +179 -52
  263. data/config/locales/ga-IE.yml +0 -21
  264. data/config/locales/gl.yml +1 -34
  265. data/config/locales/hu.yml +1 -53
  266. data/config/locales/id-ID.yml +1 -34
  267. data/config/locales/is-IS.yml +0 -16
  268. data/config/locales/it.yml +5 -60
  269. data/config/locales/ja.yml +215 -56
  270. data/config/locales/lb.yml +1 -52
  271. data/config/locales/lt.yml +1 -59
  272. data/config/locales/lv.yml +1 -40
  273. data/config/locales/nl.yml +1 -53
  274. data/config/locales/no.yml +2 -52
  275. data/config/locales/pl.yml +4 -66
  276. data/config/locales/pt-BR.yml +11 -52
  277. data/config/locales/pt.yml +2 -52
  278. data/config/locales/ro-RO.yml +219 -117
  279. data/config/locales/ru.yml +0 -20
  280. data/config/locales/sk.yml +1 -41
  281. data/config/locales/sv.yml +138 -59
  282. data/config/locales/tr-TR.yml +1 -50
  283. data/config/locales/uk.yml +0 -18
  284. data/config/locales/zh-CN.yml +1 -50
  285. data/config/locales/zh-TW.yml +1 -54
  286. data/config/routes.rb +4 -10
  287. data/db/migrate/20181025082245_add_timestamps_to_components.rb +2 -0
  288. data/db/migrate/20240628111905_add_visible_to_components.rb +7 -0
  289. data/db/migrate/20240704115429_create_decidim_taxonomies.rb +23 -0
  290. data/db/migrate/20240717093514_add_registered_only_to_decidim_share_tokens.rb +7 -0
  291. data/db/migrate/20240722215500_change_object_changes_on_versions.rb +39 -0
  292. data/db/migrate/20240806065417_create_decidim_taxonomy_filters.rb +23 -0
  293. data/db/migrate/20240822161348_add_deleted_at_to_decidim_components.rb +8 -0
  294. data/db/migrate/20240906162524_add_part_of_to_taxonomies.rb +26 -0
  295. data/db/migrate/20241001135825_add_role_to_participatory_space_private_users.rb +7 -0
  296. data/db/migrate/20241001140408_add_published_to_participatory_space_private_users.rb +7 -0
  297. data/db/migrate/20241022002600_create_private_exports.rb +18 -0
  298. data/db/migrate/20241028114430_add_component_counter_to_taxonomy_filters.rb +7 -0
  299. data/db/migrate/20241111104357_add_names_and_space_boolean_to_taxonomy_filters.rb +9 -0
  300. data/db/migrate/20241127093708_add_taxonomy_to_metrics.rb +7 -0
  301. data/db/migrate/20241204121445_add_participatory_space_manifests_from_taxonomy_filters.rb +9 -0
  302. data/decidim-core.gemspec +14 -17
  303. data/lib/decidim/action_authorization.rb +3 -2
  304. data/lib/decidim/amendable.rb +1 -1
  305. data/lib/decidim/api/input_filters/category_input_filter.rb +5 -3
  306. data/lib/decidim/api/input_filters/component_input_filter.rb +33 -20
  307. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +53 -44
  308. data/lib/decidim/api/input_sorts/component_input_sort.rb +15 -13
  309. data/lib/decidim/api/input_sorts/user_entity_input_sort.rb +4 -4
  310. data/lib/decidim/api/interfaces/author_interface.rb +3 -2
  311. data/lib/decidim/api/interfaces/coauthorable_interface.rb +5 -5
  312. data/lib/decidim/api/interfaces/endorsable_interface.rb +2 -2
  313. data/lib/decidim/api/interfaces/participatory_space_interface.rb +5 -10
  314. data/lib/decidim/api/interfaces/taxonomizable_interface.rb +13 -0
  315. data/lib/decidim/api/types/amendment_type.rb +5 -7
  316. data/lib/decidim/api/types/area_api_type.rb +3 -3
  317. data/lib/decidim/api/types/attachment_type.rb +3 -3
  318. data/lib/decidim/api/types/category_type.rb +2 -2
  319. data/lib/decidim/api/types/decidim_type.rb +5 -1
  320. data/lib/decidim/api/types/fingerprint_type.rb +1 -1
  321. data/lib/decidim/api/types/localized_string_type.rb +1 -1
  322. data/lib/decidim/api/types/metric_history_type.rb +2 -0
  323. data/lib/decidim/api/types/metric_type.rb +1 -1
  324. data/lib/decidim/api/types/organization_type.rb +5 -0
  325. data/lib/decidim/api/types/participatory_space_link_type.rb +2 -2
  326. data/lib/decidim/api/types/participatory_space_manifest_type.rb +1 -1
  327. data/lib/decidim/api/types/quantifiable_translated_field_type.rb +1 -1
  328. data/lib/decidim/api/types/scope_api_type.rb +2 -3
  329. data/lib/decidim/api/types/session_type.rb +1 -2
  330. data/lib/decidim/api/types/taxonomy_type.rb +15 -0
  331. data/lib/decidim/api/types/trace_version_type.rb +2 -2
  332. data/lib/decidim/api/types/translated_field_type.rb +3 -5
  333. data/lib/decidim/api/types/user_group_type.rb +7 -20
  334. data/lib/decidim/api/types/user_type.rb +7 -20
  335. data/lib/decidim/asset_router/storage.rb +4 -4
  336. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +2 -1
  337. data/lib/decidim/attachment_attributes.rb +1 -1
  338. data/lib/decidim/attribute_encryptor.rb +1 -1
  339. data/lib/decidim/attribute_object/nested_validator.rb +1 -1
  340. data/lib/decidim/attributes/integer_with_units.rb +27 -0
  341. data/lib/decidim/attributes.rb +2 -0
  342. data/lib/decidim/authorization_form_builder.rb +0 -7
  343. data/lib/decidim/coauthorable.rb +1 -1
  344. data/lib/decidim/command.rb +3 -3
  345. data/lib/decidim/commands/destroy_resource.rb +5 -1
  346. data/lib/decidim/commands/resource_handler.rb +2 -2
  347. data/lib/decidim/commands/restore_resource.rb +45 -0
  348. data/lib/decidim/commands/soft_delete_resource.rb +63 -0
  349. data/lib/decidim/component_manifest.rb +7 -0
  350. data/lib/decidim/core/api.rb +2 -0
  351. data/lib/decidim/core/engine.rb +21 -7
  352. data/lib/decidim/core/menu.rb +0 -5
  353. data/lib/decidim/core/seeds.rb +42 -2
  354. data/lib/decidim/core/test/factories.rb +105 -2
  355. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +85 -0
  356. data/lib/decidim/core/test/shared_examples/comments_examples.rb +393 -38
  357. data/lib/decidim/core/test/shared_examples/components_controller_hide_shared_examples.rb +11 -0
  358. data/lib/decidim/core/test/shared_examples/components_controller_reorder_shared_examples.rb +21 -0
  359. data/lib/decidim/core/test/shared_examples/download_open_data_shared_context.rb +36 -0
  360. data/lib/decidim/core/test/shared_examples/download_open_data_shared_examples.rb +45 -0
  361. data/lib/decidim/core/test/shared_examples/download_your_data_shared_examples.rb +17 -0
  362. data/lib/decidim/core/test/shared_examples/etiquette_validator_examples.rb +25 -0
  363. data/lib/decidim/core/test/shared_examples/follows_examples.rb +43 -0
  364. data/lib/decidim/core/test/shared_examples/has_taxonomies.rb +94 -0
  365. data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +237 -0
  366. data/lib/decidim/core/test/shared_examples/map_examples.rb +2 -0
  367. data/lib/decidim/core/test/shared_examples/open_data_exporter_examples.rb +102 -0
  368. data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +46 -0
  369. data/lib/decidim/core/test/shared_examples/participatory_space_search_examples.rb +98 -0
  370. data/lib/decidim/core/test/shared_examples/permissions.rb +7 -7
  371. data/lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb +94 -0
  372. data/lib/decidim/core/test/shared_examples/reports_examples.rb +60 -5
  373. data/lib/decidim/core/test/shared_examples/resource_endorsed_event_examples.rb +2 -2
  374. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +75 -69
  375. data/lib/decidim/core/test/shared_examples/searchable_resources_shared_context.rb +1 -1
  376. data/lib/decidim/core/test/shared_examples/simple_event.rb +33 -19
  377. data/lib/decidim/core/test/shared_examples/social_share_examples.rb +46 -0
  378. data/lib/decidim/core/test/shared_examples/softdeleteable_components_examples.rb +173 -0
  379. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +54 -8
  380. data/lib/decidim/core/test/shared_examples/taxonomizable_interface_examples.rb +20 -0
  381. data/lib/decidim/core/test/shared_examples/taxonomizable_resource_examples.rb +37 -0
  382. data/lib/decidim/core/test/shared_examples/taxonomy_settings.rb +49 -0
  383. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +1 -1
  384. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +2 -2
  385. data/lib/decidim/core/test/shared_examples/with_endorsable_permissions_examples.rb +1 -1
  386. data/lib/decidim/core/test.rb +9 -5
  387. data/lib/decidim/core/version.rb +1 -1
  388. data/lib/decidim/core.rb +58 -0
  389. data/lib/decidim/download_your_data_serializers/download_your_data_identity_serializer.rb +0 -4
  390. data/lib/decidim/download_your_data_serializers/download_your_data_participatory_space_private_user_serializer.rb +3 -1
  391. data/lib/decidim/download_your_data_serializers/download_your_data_report_serializer.rb +2 -1
  392. data/lib/decidim/download_your_data_serializers/download_your_data_user_serializer.rb +6 -7
  393. data/lib/decidim/download_your_data_serializers.rb +19 -0
  394. data/lib/decidim/exporters/csv.rb +6 -0
  395. data/lib/decidim/exporters/export_manifest.rb +14 -0
  396. data/lib/decidim/exporters/pdf.rb +26 -22
  397. data/lib/decidim/filter_form_builder.rb +12 -15
  398. data/lib/decidim/form_builder.rb +6 -129
  399. data/lib/decidim/has_category.rb +5 -1
  400. data/lib/decidim/has_private_users.rb +4 -0
  401. data/lib/decidim/has_taxonomy_settings.rb +47 -0
  402. data/lib/decidim/has_upload_validations.rb +1 -1
  403. data/lib/decidim/legacy_form_builder.rb +118 -0
  404. data/lib/decidim/maintenance/import_models/application_record.rb +93 -0
  405. data/lib/decidim/maintenance/import_models/area.rb +82 -0
  406. data/lib/decidim/maintenance/import_models/area_type.rb +12 -0
  407. data/lib/decidim/maintenance/import_models/assembly_type.rb +49 -0
  408. data/lib/decidim/maintenance/import_models/categorization.rb +14 -0
  409. data/lib/decidim/maintenance/import_models/category.rb +139 -0
  410. data/lib/decidim/maintenance/import_models/participatory_process_type.rb +21 -0
  411. data/lib/decidim/maintenance/import_models/scope.rb +163 -0
  412. data/lib/decidim/maintenance/import_models.rb +19 -0
  413. data/lib/decidim/maintenance/taxonomy_importer.rb +142 -0
  414. data/lib/decidim/maintenance/taxonomy_plan.rb +78 -0
  415. data/lib/decidim/maintenance.rb +12 -0
  416. data/lib/decidim/map/autocomplete.rb +52 -8
  417. data/lib/decidim/map/dynamic_map.rb +1 -1
  418. data/lib/decidim/map/provider/dynamic_map/here.rb +1 -40
  419. data/lib/decidim/map/provider/geocoding/here.rb +9 -3
  420. data/lib/decidim/map.rb +3 -6
  421. data/lib/decidim/moderation_tools.rb +29 -5
  422. data/lib/decidim/newsletter_encryptor.rb +1 -1
  423. data/lib/decidim/paddable.rb +1 -1
  424. data/lib/decidim/participable.rb +10 -10
  425. data/lib/decidim/participatory_space_user.rb +10 -0
  426. data/lib/decidim/private_download_helper.rb +15 -0
  427. data/lib/decidim/record_encryptor.rb +51 -46
  428. data/lib/decidim/resourceable.rb +16 -0
  429. data/lib/decidim/seeds.rb +18 -20
  430. data/lib/decidim/settings_manifest.rb +34 -1
  431. data/lib/decidim/soft_deletable.rb +17 -0
  432. data/lib/decidim/taxonomizable.rb +72 -0
  433. data/lib/decidim/view_model.rb +0 -1
  434. data/lib/tasks/decidim_download_your_data_tasks.rake +2 -4
  435. data/lib/tasks/decidim_procfile.rake +6 -0
  436. data/lib/tasks/decidim_tasks.rake +1 -0
  437. data/lib/tasks/decidim_taxonomies.rake +160 -0
  438. data/lib/tasks/upgrade/{decidim_fix_categorization.rake → clean.rake} +25 -18
  439. data/lib/tasks/upgrade/clean_hidden_resources.rake +33 -0
  440. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +1 -1
  441. data/lib/tasks/upgrade/migrations.rake +94 -0
  442. metadata +198 -103
  443. data/app/cells/decidim/amendable/amenders_list/show.erb +0 -0
  444. data/app/cells/decidim/content_blocks/base/content.erb +0 -0
  445. data/app/cells/decidim/endorsers_list/full_endorsers_list.erb +0 -3
  446. data/app/cells/decidim/endorsers_list_button/content.erb +0 -1
  447. data/app/cells/decidim/endorsers_list_button_cell.rb +0 -15
  448. data/app/cells/decidim/scopes_picker/scope_picker_prompt.erb +0 -3
  449. data/app/cells/decidim/scopes_picker/scope_picker_values.erb +0 -5
  450. data/app/cells/decidim/scopes_picker/show.erb +0 -14
  451. data/app/cells/decidim/scopes_picker_cell.rb +0 -92
  452. data/app/commands/decidim/update_user_interests.rb +0 -41
  453. data/app/controllers/decidim/scopes_controller.rb +0 -84
  454. data/app/controllers/decidim/user_interests_controller.rb +0 -30
  455. data/app/forms/decidim/user_interest_scope_form.rb +0 -25
  456. data/app/forms/decidim/user_interests_form.rb +0 -17
  457. data/app/helpers/decidim/categories_helper.rb +0 -26
  458. data/app/helpers/decidim/scopes_helper.rb +0 -105
  459. data/app/packs/images/decidim/vendor/leaflet/layers-2x.png +0 -0
  460. data/app/packs/images/decidim/vendor/leaflet/layers.png +0 -0
  461. data/app/packs/images/decidim/vendor/leaflet/marker-icon-2x.png +0 -0
  462. data/app/packs/images/decidim/vendor/leaflet/marker-icon.png +0 -0
  463. data/app/packs/images/decidim/vendor/leaflet/marker-shadow.png +0 -0
  464. data/app/packs/src/decidim/vendor/leaflet-tilelayer-here.js +0 -212
  465. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.Default.scss +0 -67
  466. data/app/packs/stylesheets/decidim/legacy/MarkerCluster.scss +0 -18
  467. data/app/packs/stylesheets/decidim/legacy/leaflet.scss +0 -705
  468. data/app/validators/scope_belongs_to_component_validator.rb +0 -16
  469. data/app/views/decidim/account/_user_groups.html.erb +0 -0
  470. data/app/views/decidim/scopes/_scopes_picker_input.html.erb +0 -19
  471. data/app/views/decidim/scopes/picker.html.erb +0 -53
  472. data/app/views/decidim/shared/_comments.html.erb +0 -0
  473. data/app/views/decidim/shared/_share_modal.html.erb +0 -26
  474. data/app/views/decidim/shared/_tags.html.erb +0 -1
  475. data/app/views/decidim/user_interests/_areas.html.erb +0 -14
  476. data/app/views/decidim/user_interests/_scopes.html.erb +0 -22
  477. data/app/views/decidim/user_interests/show.html.erb +0 -22
  478. data/config/initializers/foundation_rails_helper.rb +0 -4
  479. data/lib/decidim/core/test/shared_examples/has_category.rb +0 -38
  480. data/lib/decidim/core/test/shared_examples/has_scope.rb +0 -11
  481. data/lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb +0 -83
  482. data/lib/decidim/core/test/shared_examples/preview_component_with_share_token_examples.rb +0 -49
  483. data/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +0 -93
  484. data/lib/decidim/seven_zip_wrapper.rb +0 -29
@@ -22,7 +22,6 @@ uk:
22
22
  attributes:
23
23
  decidim/user:
24
24
  current_password: Поточний пароль
25
- email: Адреса електронної пошти
26
25
  name: Ім'я учасника
27
26
  password: Пароль
28
27
  password_confirmation: Підтвердження паролю
@@ -193,10 +192,6 @@ uk:
193
192
  name: Статистика організації
194
193
  sub_hero:
195
194
  name: Під-багатирський банер
196
- core:
197
- application_helper:
198
- filter_category_values:
199
- all: Усі
200
195
  devise:
201
196
  omniauth_registrations:
202
197
  new:
@@ -214,15 +209,12 @@ uk:
214
209
  username_help: Загальнодоступне ім'я, яке відображається у ваших дописах. З метою гарантування анонімності, може бути будь-яким.
215
210
  sessions:
216
211
  new:
217
- are_you_new?: Ви вперше на цьому майданчику?
218
212
  register: Створити обліковий запис
219
213
  shared:
220
214
  newsletter_modal:
221
215
  buttons:
222
216
  check: Поставити галочку та продовжити
223
217
  title: Сповіщення про новини
224
- omniauth_buttons:
225
- or: Або
226
218
  doorkeeper:
227
219
  authorizations:
228
220
  new:
@@ -240,9 +232,6 @@ uk:
240
232
  download_your_data:
241
233
  export:
242
234
  ready: Готово
243
- show:
244
- download_data: Завантажити дані
245
- request_data: Подати запит на дані
246
235
  errors:
247
236
  internal_server_error:
248
237
  title: При з'єднанні з нашим сервером сталася помилка
@@ -276,8 +265,6 @@ uk:
276
265
  export_mailer:
277
266
  download_your_data_export:
278
267
  download: Завантажити
279
- export:
280
- ready: Нижче додається стиснута в архів версія вашого збереженого файлу.
281
268
  subject: Ваш збережений файл "%{name}" готовий
282
269
  filters:
283
270
  linked_classes:
@@ -411,15 +398,10 @@ uk:
411
398
  subject: Про цей ресурс було передано скаргу адміністраторам
412
399
  reports:
413
400
  create:
414
- error: Під час створення скарги сталася помилка. Будь ласка, спробуйте зробити це знову.
415
401
  success: Скарга була успішно створена, і вона буде розглянута адміністратором.
416
402
  scopes:
417
403
  global: Всеохопний обсяг
418
- picker:
419
- choose: Оберіть
420
- title: Оберіть %{field}
421
404
  prompt: Оберіть обсяг
422
- scopes: Обсяги
423
405
  search:
424
406
  results_found_for_term: '%{count} Висліди пошуку: "%{term}"'
425
407
  term_input_placeholder: Шукати
@@ -39,7 +39,6 @@ zh-CN:
39
39
  attributes:
40
40
  decidim/user:
41
41
  current_password: 当前密码
42
- email: 电子邮件地址
43
42
  name: 昵称
44
43
  password: 密码
45
44
  password_confirmation: 密码确认
@@ -142,15 +141,12 @@ zh-CN:
142
141
  dismiss: 取消通知
143
142
  amendments:
144
143
  accepted:
145
- error: 接受修改时发生错误。
146
144
  success: 修正已被成功接受。
147
145
  amendable:
148
146
  button: 修改 %{model_name}
149
- error: 修改此资源时出错。
150
147
  promote_button: 提升至 %{model_name}
151
148
  promote_confirm_text: 您确定要推广此修饰吗?
152
149
  created:
153
- error: 创建修正草案时发生错误。
154
150
  success: 修正草稿已成功创建。
155
151
  destroy_draft:
156
152
  error: 删除修正草案时出现问题。
@@ -210,10 +206,8 @@ zh-CN:
210
206
  dummy_authorization_handler:
211
207
  fields:
212
208
  allowed_postal_codes: 允许的邮政编码 (用逗号分隔)
213
- allowed_scope_id: 允许的范围
214
209
  document_number: 文档编号
215
210
  postal_code: 邮政编码
216
- scope_id: 范围
217
211
  name: 示例授权
218
212
  dummy_authorization_workflow:
219
213
  name: 虚拟授权 Workflow
@@ -285,8 +279,6 @@ zh-CN:
285
279
  dummy_global_translatable_text: 虚拟可翻译文本
286
280
  enable_pads_creation: 启用页面创建
287
281
  resources_permissions_enabled: 资源权限已启用
288
- scope_id: 范围
289
- scopes_enabled: 范围已启用
290
282
  step:
291
283
  amendment_creation_enabled: 修改创建已启用
292
284
  amendment_promotion_enabled: 已启用修正促销功能
@@ -320,10 +312,6 @@ zh-CN:
320
312
  name: 组织统计
321
313
  sub_hero:
322
314
  name: 子英雄广告
323
- core:
324
- application_helper:
325
- filter_category_values:
326
- all: 所有的
327
315
  devise:
328
316
  omniauth_registrations:
329
317
  new:
@@ -340,7 +328,6 @@ zh-CN:
340
328
  username_help: 在您的帖子上出现的公共名称。为了保证匿名,可以使用任何名称。
341
329
  sessions:
342
330
  new:
343
- are_you_new?: 新建平台?
344
331
  register: 创建帐户
345
332
  shared:
346
333
  newsletter_modal:
@@ -348,8 +335,6 @@ zh-CN:
348
335
  check: 检查并继续
349
336
  uncheck: 保持未选中的
350
337
  title: 通讯通知
351
- omniauth_buttons:
352
- or: 或
353
338
  doorkeeper:
354
339
  authorizations:
355
340
  new:
@@ -367,9 +352,6 @@ zh-CN:
367
352
  download_your_data:
368
353
  export:
369
354
  ready: 准备好
370
- show:
371
- download_data: 下载数据
372
- request_data: 请求数据
373
355
  endorsements:
374
356
  identities:
375
357
  done: 完成
@@ -506,8 +488,6 @@ zh-CN:
506
488
  export_mailer:
507
489
  download_your_data_export:
508
490
  download: 下载
509
- export:
510
- ready: 请找到您导出的压缩版本。
511
491
  subject: 您导出的"%{name}"已准备好
512
492
  filters:
513
493
  linked_classes:
@@ -556,7 +536,7 @@ zh-CN:
556
536
  badges:
557
537
  followers:
558
538
  conditions:
559
- - 积极关注其他人必将使其他人跟随你。
539
+ - 积极关注其他人必将使其他人跟随你。
560
540
  description: 当您到达一定数量的追随者时,将颁发这个徽章。 %{organization_name} 是一个社交和政治网络,编织您的网络来与平台上的其他人进行交流。
561
541
  description_another: 此参与者有 %{score} 个关注者。
562
542
  description_own: "%{score} 个人正在关注你。"
@@ -849,23 +829,13 @@ zh-CN:
849
829
  subject: 资源已被报告
850
830
  reports:
851
831
  create:
852
- error: 创建报告时发生错误。请再试一次。
853
832
  success: 报告已成功创建,将由管理员审核。
854
833
  resource_endorsements:
855
834
  create:
856
835
  error: 在批准行动中出现了一个问题。
857
836
  scopes:
858
837
  global: 全球范围
859
- picker:
860
- cancel: 取消
861
- change: 更改选中的范围
862
- choose: 选择
863
- currently_selected: 当前选中的范围
864
- title: 选择 %{field}
865
838
  prompt: 选择范围
866
- scopes: 范围
867
- scopes_picker_input:
868
- select_scope: '选择范围 (当前: %{current})'
869
839
  search:
870
840
  results: 搜索结果
871
841
  results_found_for_term: '搜索的%{count} 结果: "%{term}"'
@@ -909,11 +879,6 @@ zh-CN:
909
879
  title: 报告不恰当的内容
910
880
  floating_help:
911
881
  help: 帮助
912
- participatory_space_filters:
913
- filters:
914
- areas: 地区
915
- scope: 范围
916
- select_an_area: 选择区域
917
882
  reference:
918
883
  reference: '引用: %{reference}'
919
884
  represent_user_group:
@@ -927,9 +892,6 @@ zh-CN:
927
892
  share_link: 分享链接
928
893
  statistics:
929
894
  comments_count: 评论
930
- tags:
931
- filter_results_for_category: '分类筛选结果: %{resource}'
932
- filter_results_for_scope: '范围筛选结果: %{resource}'
933
895
  translation_bar:
934
896
  help_text: "<strong>警告:</strong> 内容可能会被自动翻译而不是100%的准确性。"
935
897
  show_original: 显示原始文本
@@ -948,13 +910,6 @@ zh-CN:
948
910
  send: 发送
949
911
  update:
950
912
  error: 消息发送失败,请稍后再试
951
- user_interests:
952
- show:
953
- my_interests: 我的利益
954
- update_my_interests: 更新我的兴趣
955
- update:
956
- error: 更新您的兴趣时出现问题。
957
- success: 您的兴趣已成功更新。
958
913
  version:
959
914
  show:
960
915
  back_to_resource: 后退
@@ -1086,8 +1041,6 @@ zh-CN:
1086
1041
  long_words: 包含过长的单词 (超过 35 个字符)
1087
1042
  must_start_with_caps: 必须以大写字母开始
1088
1043
  not_locked: 未锁定
1089
- not_saved:
1090
- other: '处理您的请求时发生多个错误:'
1091
1044
  too_many_marks: 正在使用太多连续标点符号(例如! 和 ?)
1092
1045
  too_much_caps: 正在使用太多大写字母(超过25%文本)
1093
1046
  forms:
@@ -1108,7 +1061,6 @@ zh-CN:
1108
1061
  footer:
1109
1062
  cc_by_license: 知识共享许可证
1110
1063
  decidim_logo: 解码徽标
1111
- download_open_data: 下载打开的数据文件
1112
1064
  made_with_open_source: 使用 <a target="_blank" href="https://github.com/decidim/decidim">免费软件</a> 创建的网站。
1113
1065
  impersonation_warning:
1114
1066
  close_session: 关闭会话
@@ -1136,7 +1088,6 @@ zh-CN:
1136
1088
  authorizations: 授权
1137
1089
  delete_my_account: 删除我的帐户
1138
1090
  my_data: 我的数据
1139
- my_interests: 我的利益
1140
1091
  notifications_settings: 通知设置
1141
1092
  title: 参与者设置
1142
1093
  user_groups: 群組
@@ -55,7 +55,6 @@ zh-TW:
55
55
  with_participatory_space: 參與空間
56
56
  decidim/user:
57
57
  current_password: 目前密碼
58
- email: 電子郵件
59
58
  name: 暱稱
60
59
  password: 密碼
61
60
  password_confirmation: 確認密碼
@@ -246,16 +245,13 @@ zh-TW:
246
245
  dismiss: 清除通知
247
246
  amendments:
248
247
  accepted:
249
- error: 接受修正案時發生錯誤。
250
248
  success: 修正案已成功接受。
251
249
  amendable:
252
250
  button: 修正 %{model_name}
253
- error: 在修改此資源時發生錯誤。
254
251
  promote_button: 晉升為 %{model_name}
255
252
  promote_confirm_text: 您確定要晉升此修正嗎?
256
253
  promote_help_text: 您可以提升此修正,並將其發布為獨立的 %{model_name}.
257
254
  created:
258
- error: 創建修正案草稿時發生錯誤。
259
255
  success: 修正案草稿已成功創建。
260
256
  destroy_draft:
261
257
  error: 刪除修正案草稿時遇到問題。
@@ -303,7 +299,6 @@ zh-TW:
303
299
  error: 更新修正案草稿時遇到問題。
304
300
  success: 修正案草稿成功更新。
305
301
  withdraw:
306
- error: 撤回修正案時發生錯誤.
307
302
  success: 修正案已成功撤回.
308
303
  wizard_step_form:
309
304
  steps:
@@ -337,10 +332,8 @@ zh-TW:
337
332
  explanation: 通過輸入以"X"結尾的證件號碼進行驗證
338
333
  fields:
339
334
  allowed_postal_codes: 允許的郵遞區號(以逗號分隔)
340
- allowed_scope_id: 允許的範圍
341
335
  document_number: 文件編號
342
336
  postal_code: 郵政編碼
343
- scope_id: 範圍
344
337
  name: 範例授權
345
338
  dummy_authorization_workflow:
346
339
  name: 虛擬授權工作流程
@@ -431,8 +424,6 @@ zh-TW:
431
424
  dummy_global_translatable_text: 虛擬可翻譯文字
432
425
  enable_pads_creation: 啟用平板創建
433
426
  resources_permissions_enabled: 啟用資源權限
434
- scope_id: 範圍
435
- scopes_enabled: 啟用範圍
436
427
  step:
437
428
  amendment_creation_enabled: 創建修正案已啟用
438
429
  amendment_promotion_enabled: 修正提案提升功能啟用
@@ -492,9 +483,6 @@ zh-TW:
492
483
  core:
493
484
  actions:
494
485
  unauthorized: 您無權限執行此操作.
495
- application_helper:
496
- filter_category_values:
497
- all: 全部
498
486
  devise:
499
487
  omniauth_registrations:
500
488
  create:
@@ -516,7 +504,6 @@ zh-TW:
516
504
  username_help: 在您的帖子中顯示的公開名稱。為確保匿名性,可以是任何名稱。
517
505
  sessions:
518
506
  new:
519
- are_you_new?: 是第一次使用這個平台嗎?
520
507
  register: 建立一個帳號
521
508
  sign_in_disabled: 你可以使用外部帳戶登入。
522
509
  shared:
@@ -533,8 +520,6 @@ zh-TW:
533
520
  如果您仍然想避免收到電子報,我們完全理解您的決定。</p>
534
521
  <p>感謝您閱讀此內容!</p>
535
522
  title: 電子報通知
536
- omniauth_buttons:
537
- or: 或
538
523
  doorkeeper:
539
524
  authorizations:
540
525
  new:
@@ -552,23 +537,17 @@ zh-TW:
552
537
  download_your_data:
553
538
  export:
554
539
  ready: 準備就緒
555
- show:
556
- download_data: 下載資料
557
- request_data: 請求數據
558
540
  editor_images:
559
541
  create:
560
542
  error: 上傳圖片時發生錯誤.
561
543
  success: 圖片上傳成功.
562
544
  drag_and_drop_help: 通過拖放或粘貼方式添加圖片。
563
545
  endorsement_buttons_cell:
564
- already_endorsed: 不喜歡
565
546
  endorse: 喜歡!
566
547
  endorsements:
567
548
  identities:
568
549
  done: 已完成
569
550
  select_identity: 選擇身份
570
- endorsers_list:
571
- endorsed_by: 被喜歡...
572
551
  errors:
573
552
  internal_server_error:
574
553
  copied: 文字已複製!
@@ -731,10 +710,7 @@ zh-TW:
731
710
  notification_title: 參與者 %{name} (%{nickname}) 已被官方認證。
732
711
  export_mailer:
733
712
  download_your_data_export:
734
- 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}'
735
713
  download: 下載
736
- export:
737
- ready: 請查收附上的壓縮檔,這是您的匯出資料。
738
714
  subject: 您的匯出檔案 "%{name}" 已準備就緒。
739
715
  filters:
740
716
  linked_classes:
@@ -817,7 +793,7 @@ zh-TW:
817
793
  badges:
818
794
  followers:
819
795
  conditions:
820
- - 積極參與並追蹤其他人,有助於吸引其他人追蹤您。
796
+ - 積極參與並追蹤其他人,有助於吸引其他人追蹤您。
821
797
  description: 當您達到一定數量的追蹤者時,將獲得此徽章。%{organization_name} 是一個社交和政治網絡,藉此平台與其他人溝通,編織您的網絡。
822
798
  description_another: 這位參與者有 %{score} 位追隨者。
823
799
  description_own: "這位參與者有 %{score} 位追隨者。"
@@ -1266,23 +1242,13 @@ zh-TW:
1266
1242
  subject: 一個資源已被檢舉。
1267
1243
  reports:
1268
1244
  create:
1269
- error: 在建立報告時發生錯誤。請再試一次。
1270
1245
  success: 報告已成功建立,將由管理員進行審查。
1271
1246
  resource_endorsements:
1272
1247
  create:
1273
1248
  error: 在連署操作過程中出現問題。
1274
1249
  scopes:
1275
1250
  global: 全域範圍
1276
- picker:
1277
- cancel: 取消
1278
- change: 更改所選範圍
1279
- choose: 選擇
1280
- currently_selected: 目前選取的範圍
1281
- title: 選擇 %{field}
1282
1251
  prompt: 選擇一個範圍
1283
- scopes: 範圍
1284
- scopes_picker_input:
1285
- select_scope: '選擇範圍 (目前: %{current})'
1286
1252
  search:
1287
1253
  results: 搜尋結果
1288
1254
  results_found_for_term: '搜尋結果:%{term}(共找到 %{count} 個結果)'
@@ -1343,11 +1309,6 @@ zh-TW:
1343
1309
  help: 幫助
1344
1310
  mentions_modal:
1345
1311
  remove_recipient: 移除收件人 %{name}。
1346
- participatory_space_filters:
1347
- filters:
1348
- areas: 區域
1349
- scope: 範圍
1350
- select_an_area: 選擇一個地區
1351
1312
  public_participation:
1352
1313
  public_participation: 公開展示我的出席情況。
1353
1314
  reference:
@@ -1375,9 +1336,6 @@ zh-TW:
1375
1336
  pages_count: 頁
1376
1337
  participants_count: 參與者
1377
1338
  users_count: 參與者
1378
- tags:
1379
- filter_results_for_category: '篩選類別為 %{resource} 的結果。'
1380
- filter_results_for_scope: '篩選範圍為 %{resource} 的結果。'
1381
1339
  translation_bar:
1382
1340
  help_text: "<strong>警告:</strong>內容可能會被自動翻譯,並且可能不是100%準確。"
1383
1341
  show_original: 顯示原始文本
@@ -1400,15 +1358,6 @@ zh-TW:
1400
1358
  send: 發送
1401
1359
  update:
1402
1360
  error: 訊息未送出,請稍後再試。
1403
- user_interests:
1404
- show:
1405
- my_interests: 我的興趣
1406
- no_scopes: 這個組織目前還沒有設定範圍!
1407
- select_your_interests: 選擇您感興趣的主題,以接收與其相關的活動,並在您的個人檔案時間軸選項卡中查看。
1408
- update_my_interests: 更新我的興趣
1409
- update:
1410
- error: 更新您的興趣時發生問題。
1411
- success: 您的興趣已成功更新。
1412
1361
  user_report_mailer:
1413
1362
  notify:
1414
1363
  body_1: 使用者 %{user} 已被 %{token} 舉報。
@@ -1658,7 +1607,6 @@ zh-TW:
1658
1607
  cc_by_license: 知識共用授權合約。
1659
1608
  data_consent_settings: Cookie 設定
1660
1609
  decidim_logo: Decidim 商標
1661
- download_open_data: 下載開放數據檔案
1662
1610
  log_in: 登入
1663
1611
  made_with_open_source: 使用<a target="_blank" href="https://github.com/decidim/decidim">自由軟體</a>建立的網站。
1664
1612
  header:
@@ -1698,7 +1646,6 @@ zh-TW:
1698
1646
  authorizations: 授權
1699
1647
  delete_my_account: 刪除我的帳號
1700
1648
  my_data: 我的資料
1701
- my_interests: 我的興趣
1702
1649
  notifications_settings: 通知設定
1703
1650
  title: 參與者設定
1704
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]
@@ -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
@@ -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