decidim-core 0.29.1 → 0.30.0.rc1

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