decidim-core 0.30.1 → 0.31.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -4
  3. data/app/cells/decidim/activity/show.erb +6 -6
  4. data/app/cells/decidim/activity_cell.rb +0 -3
  5. data/app/cells/decidim/address/show.erb +1 -0
  6. data/app/cells/decidim/address_cell.rb +7 -1
  7. data/app/cells/decidim/amendable/amend_button_card/show.erb +2 -2
  8. data/app/cells/decidim/author/likes.erb +4 -0
  9. data/app/cells/decidim/author/show.erb +1 -3
  10. data/app/cells/decidim/author_cell.rb +5 -28
  11. data/app/cells/decidim/badge_cell.rb +1 -7
  12. data/app/cells/decidim/card_cell.rb +2 -12
  13. data/app/cells/decidim/card_metadata_cell.rb +4 -4
  14. data/app/cells/decidim/coauthorships_cell.rb +1 -1
  15. data/app/cells/decidim/collapsible_authors/show.erb +1 -1
  16. data/app/cells/decidim/content_blocks/hero_cell.rb +23 -4
  17. data/app/cells/decidim/content_blocks/hero_settings_form/show.erb +16 -2
  18. data/app/cells/decidim/content_blocks/highlighted_content_banner/show.erb +6 -6
  19. data/app/cells/decidim/content_blocks/highlighted_content_banner_cell.rb +28 -1
  20. data/app/cells/decidim/content_blocks/highlighted_content_banner_settings_form/show.erb +27 -0
  21. data/app/cells/decidim/content_blocks/highlighted_content_banner_settings_form_cell.rb +13 -0
  22. data/app/cells/decidim/content_blocks/highlighted_elements_for_component_settings_form/show.erb +9 -2
  23. data/app/cells/decidim/content_blocks/html_settings_form/show.erb +3 -1
  24. data/app/cells/decidim/content_blocks/last_activity_cell.rb +1 -1
  25. data/app/cells/decidim/content_blocks/last_activity_settings_form/show.erb +3 -1
  26. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +1 -1
  27. data/app/cells/decidim/content_blocks/participatory_space_extra_data/recent_users.erb +1 -1
  28. data/app/cells/decidim/content_blocks/participatory_space_hero/show.erb +0 -5
  29. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +1 -13
  30. data/app/cells/decidim/content_blocks/participatory_space_hero_settings_form/show.erb +10 -3
  31. data/app/cells/decidim/content_blocks/participatory_space_last_activity/content.erb +1 -1
  32. data/app/cells/decidim/content_blocks/participatory_space_last_activity/recent_avatars.erb +1 -1
  33. data/app/cells/decidim/content_blocks/participatory_space_last_activity_cell.rb +3 -3
  34. data/app/cells/decidim/content_blocks/participatory_space_main_data/title.erb +27 -6
  35. data/app/cells/decidim/content_blocks/participatory_space_main_data_cell.rb +4 -0
  36. data/app/cells/decidim/content_blocks/stats/show.erb +2 -3
  37. data/app/cells/decidim/data_consent/modal.erb +1 -1
  38. data/app/cells/decidim/footer_topics/show.erb +2 -2
  39. data/app/cells/decidim/images_panel/show.erb +5 -2
  40. data/app/cells/decidim/like_block/show.erb +3 -0
  41. data/app/cells/decidim/{endorsement_block_cell.rb → like_block_cell.rb} +2 -2
  42. data/app/cells/decidim/like_buttons/button_content.erb +2 -0
  43. data/app/cells/decidim/like_buttons/show.erb +17 -0
  44. data/app/cells/decidim/{endorsement_buttons → like_buttons}/verification_modal.erb +3 -3
  45. data/app/cells/decidim/like_buttons_cell.rb +77 -0
  46. data/app/cells/decidim/likers_list/empty.erb +3 -0
  47. data/app/cells/decidim/{endorsers_list → likers_list}/full.erb +3 -3
  48. data/app/cells/decidim/likers_list/show.erb +20 -0
  49. data/app/cells/decidim/likers_list_cell.rb +64 -0
  50. data/app/cells/decidim/nav_links/show.erb +1 -1
  51. data/app/cells/decidim/notification_actions/buttons_cell.rb +1 -1
  52. data/app/cells/decidim/onboarding_action_message_cell.rb +1 -1
  53. data/app/cells/decidim/participatory_space_dropdown_metadata/metadata.erb +0 -8
  54. data/app/cells/decidim/participatory_space_dropdown_metadata_cell.rb +0 -8
  55. data/app/cells/decidim/profile/details.erb +1 -1
  56. data/app/cells/decidim/profile/tabs.erb +1 -1
  57. data/app/cells/decidim/profile_actions/show.erb +0 -1
  58. data/app/cells/decidim/profile_actions_cell.rb +5 -91
  59. data/app/cells/decidim/profile_cell.rb +4 -39
  60. data/app/cells/decidim/report_button/content.erb +2 -0
  61. data/app/cells/decidim/report_button/flag_modal.erb +12 -10
  62. data/app/cells/decidim/report_button_cell.rb +1 -1
  63. data/app/cells/decidim/report_user_button/flag_modal.erb +12 -11
  64. data/app/cells/decidim/resource_history_cell.rb +2 -1
  65. data/app/cells/decidim/resource_types_filter/show.erb +1 -1
  66. data/app/cells/decidim/share_button_cell.rb +1 -1
  67. data/app/cells/decidim/share_text_widget/modal.erb +16 -0
  68. data/app/cells/decidim/share_text_widget/show.erb +2 -0
  69. data/app/cells/decidim/share_text_widget_cell.rb +27 -0
  70. data/app/cells/decidim/share_widget/modal.erb +19 -8
  71. data/app/cells/decidim/share_widget/qr_code_modal.erb +26 -0
  72. data/app/cells/decidim/share_widget/show.erb +1 -0
  73. data/app/cells/decidim/share_widget_cell.rb +10 -6
  74. data/app/cells/decidim/statistic/show.erb +23 -5
  75. data/app/cells/decidim/statistic_cell.rb +28 -3
  76. data/app/cells/decidim/tab_panels/show.erb +1 -1
  77. data/app/cells/decidim/upload_modal/files.erb +4 -4
  78. data/app/cells/decidim/upload_modal_cell.rb +5 -3
  79. data/app/cells/decidim/user_profile/show.erb +1 -1
  80. data/app/cells/decidim/user_profile_cell.rb +1 -9
  81. data/app/cells/decidim/version_author_cell.rb +0 -7
  82. data/app/commands/decidim/amendable/accept.rb +1 -2
  83. data/app/commands/decidim/amendable/create_draft.rb +2 -3
  84. data/app/commands/decidim/amendable/update_draft.rb +2 -3
  85. data/app/commands/decidim/create_ephemeral_user.rb +7 -1
  86. data/app/commands/decidim/create_omniauth_registration.rb +9 -8
  87. data/app/commands/decidim/create_report.rb +9 -1
  88. data/app/commands/decidim/destroy_account.rb +0 -5
  89. data/app/commands/decidim/like_resource.rb +52 -0
  90. data/app/commands/decidim/messaging/reply_to_conversation.rb +2 -21
  91. data/app/commands/decidim/messaging/start_conversation.rb +2 -21
  92. data/app/commands/decidim/unlike_resource.rb +34 -0
  93. data/app/commands/decidim/update_account.rb +1 -1
  94. data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +6 -2
  95. data/app/controllers/concerns/decidim/user_profile.rb +0 -1
  96. data/app/controllers/decidim/account_controller.rb +1 -1
  97. data/app/controllers/decidim/amendments_controller.rb +7 -8
  98. data/app/controllers/decidim/application_controller.rb +2 -1
  99. data/app/controllers/decidim/devise/confirmations_controller.rb +0 -5
  100. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -1
  101. data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
  102. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  103. data/app/controllers/decidim/doorkeeper/authorizations_controller.rb +19 -1
  104. data/app/controllers/decidim/download_your_data_controller.rb +2 -2
  105. data/app/controllers/decidim/likes_controller.rb +57 -0
  106. data/app/controllers/decidim/links_controller.rb +1 -0
  107. data/app/controllers/decidim/messaging/conversations_controller.rb +1 -8
  108. data/app/controllers/decidim/newsletters_controller.rb +1 -1
  109. data/app/controllers/decidim/notifications_settings_controller.rb +2 -2
  110. data/app/controllers/decidim/pages_controller.rb +0 -1
  111. data/app/controllers/decidim/profiles_controller.rb +2 -57
  112. data/app/controllers/decidim/qr_controller.rb +73 -0
  113. data/app/controllers/decidim/resource_autocomplete_controller.rb +56 -0
  114. data/app/controllers/decidim/user_activities_controller.rb +0 -1
  115. data/app/events/decidim/resource_liked_event.rb +36 -0
  116. data/app/forms/decidim/amendable/create_form.rb +0 -1
  117. data/app/forms/decidim/amendable/edit_form.rb +0 -1
  118. data/app/forms/decidim/amendable/form.rb +4 -4
  119. data/app/forms/decidim/ephemeral_user_form.rb +1 -0
  120. data/app/forms/decidim/notifications_settings_form.rb +1 -1
  121. data/app/forms/decidim/omniauth_registration_form.rb +1 -1
  122. data/app/forms/decidim/upload_validation_form.rb +9 -1
  123. data/app/helpers/decidim/amendments_helper.rb +3 -3
  124. data/app/helpers/decidim/animations_helper.rb +14 -0
  125. data/app/helpers/decidim/decidim_form_helper.rb +17 -6
  126. data/app/helpers/decidim/filters_helper.rb +25 -0
  127. data/app/helpers/decidim/layout_helper.rb +6 -14
  128. data/app/helpers/decidim/likeable_helper.rb +46 -0
  129. data/app/helpers/decidim/messaging/conversation_helper.rb +1 -1
  130. data/app/helpers/decidim/omniauth_helper.rb +1 -1
  131. data/app/helpers/decidim/qr_code_helper.rb +37 -0
  132. data/app/helpers/decidim/rich_text_editor_helper.rb +0 -1
  133. data/app/helpers/decidim/sanitize_helper.rb +5 -5
  134. data/app/helpers/decidim/social_share_button_helper.rb +11 -10
  135. data/app/jobs/decidim/delete_inactive_participants_job.rb +41 -0
  136. data/app/jobs/decidim/process_inactive_participant_job.rb +48 -0
  137. data/app/mailers/decidim/participants_account_mailer.rb +38 -0
  138. data/app/mailers/decidim/user_group_mailer.rb +28 -0
  139. data/app/models/decidim/action_log.rb +3 -5
  140. data/app/models/decidim/amendment.rb +1 -1
  141. data/app/models/decidim/attachment_collection.rb +2 -0
  142. data/app/models/decidim/authorization_transfer.rb +0 -1
  143. data/app/models/decidim/coauthorship.rb +1 -1
  144. data/app/models/decidim/component.rb +4 -1
  145. data/app/models/decidim/{endorsement.rb → like.rb} +4 -4
  146. data/app/models/decidim/messaging/conversation.rb +3 -5
  147. data/app/models/decidim/messaging/message.rb +3 -15
  148. data/app/models/decidim/omniauth_provider.rb +1 -1
  149. data/app/models/decidim/organization.rb +3 -8
  150. data/app/models/decidim/participatory_space_role_config/{valuator.rb → evaluator.rb} +1 -1
  151. data/app/models/decidim/reminder_record.rb +1 -1
  152. data/app/models/decidim/searchable_resource.rb +16 -0
  153. data/app/models/decidim/taxonomy.rb +6 -1
  154. data/app/models/decidim/user.rb +32 -15
  155. data/app/models/decidim/user_base_entity.rb +2 -2
  156. data/app/packs/entrypoints/decidim_conference_diploma.scss +2 -2
  157. data/app/packs/entrypoints/decidim_core.scss +2 -2
  158. data/app/packs/entrypoints/decidim_editor.js +0 -4
  159. data/app/packs/entrypoints/decidim_map.scss +2 -2
  160. data/app/packs/entrypoints/decidim_overrides.scss +1 -1
  161. data/app/packs/entrypoints/decidim_qr.js +1 -0
  162. data/app/packs/images/decidim/default-avatar.svg +1 -1
  163. data/app/packs/images/decidim/remixicon.symbol.svg +3 -3
  164. data/app/packs/src/decidim/a11y.js +1 -120
  165. data/app/packs/src/decidim/append_redirect_url_to_modals.js +1 -1
  166. data/app/packs/src/decidim/attachments/file_or_link_tabs.js +1 -1
  167. data/app/packs/src/decidim/callout.js +13 -8
  168. data/app/packs/src/decidim/confirm.js +25 -6
  169. data/app/packs/src/decidim/controllers/.keep +0 -0
  170. data/app/packs/src/decidim/controllers/accordion/controller.js +100 -0
  171. data/app/packs/src/decidim/controllers/account_form/account_form.test.js +423 -0
  172. data/app/packs/src/decidim/controllers/account_form/controller.js +69 -0
  173. data/app/packs/src/decidim/{input_character_counter.js → controllers/character_counter/controller.js} +90 -106
  174. data/app/packs/src/decidim/controllers/clipboard_copy/clipboard_copy.test.js +305 -0
  175. data/app/packs/src/decidim/controllers/clipboard_copy/controller.js +403 -0
  176. data/app/packs/src/decidim/controllers/date_picker/controller.js +12 -0
  177. data/app/packs/src/decidim/controllers/delete_account_form/controller.js +45 -0
  178. data/app/packs/src/decidim/controllers/delete_account_form/delete_account_form.test.js +216 -0
  179. data/app/packs/src/decidim/controllers/dropdown/controller.js +125 -0
  180. data/app/packs/src/decidim/controllers/editor/controller.js +8 -0
  181. data/app/packs/src/decidim/controllers/emoji/controller.js +26 -0
  182. data/app/packs/src/decidim/{input_emoji.js → controllers/emoji/emoji.js} +1 -15
  183. data/app/packs/src/decidim/{form_filter.js → controllers/form_filter/controller.js} +68 -51
  184. data/app/packs/src/decidim/controllers/form_filter/form_filter.test.js +648 -0
  185. data/app/packs/src/decidim/controllers/form_validator/controller.js +23 -0
  186. data/app/packs/src/decidim/controllers/form_validator/form_validator.js +789 -0
  187. data/app/packs/src/decidim/controllers/form_validator/form_validator.test.js +685 -0
  188. data/app/packs/src/decidim/controllers/impersonation_warning/controller.js +137 -0
  189. data/app/packs/src/decidim/controllers/impersonation_warning/impersonation.test.js +382 -0
  190. data/app/packs/src/decidim/controllers/input_tags/controller.js +28 -0
  191. data/app/packs/src/decidim/controllers/mention/controller.js +243 -0
  192. data/app/packs/src/decidim/controllers/mention/input_mentions.test.js +562 -0
  193. data/app/packs/src/decidim/controllers/multiple_mentions/controller.js +215 -0
  194. data/app/packs/src/decidim/controllers/multiple_mentions/input_multiple_mentions.test.js +645 -0
  195. data/app/packs/src/decidim/controllers/notification_action/controller.js +210 -0
  196. data/app/packs/src/decidim/controllers/notification_action/notification_action.test.js +388 -0
  197. data/app/packs/src/decidim/controllers/password_toggler/controller.js +232 -0
  198. data/app/packs/src/decidim/controllers/password_toggler/password_toggler.test.js +229 -0
  199. data/app/packs/src/decidim/controllers/report_form/controller.js +184 -0
  200. data/app/packs/src/decidim/controllers/report_form/report_form_manager.test.js +511 -0
  201. data/app/packs/src/decidim/controllers/scroll_to_last/controller.js +9 -0
  202. data/app/packs/src/decidim/controllers/scroll_to_last/scroll_to_last_child.test.js +225 -0
  203. data/app/packs/src/decidim/controllers/sticky_buttons/controller.js +55 -0
  204. data/app/packs/src/decidim/controllers/sticky_buttons/sticky_buttons.test.js +334 -0
  205. data/app/packs/src/decidim/controllers/sticky_header/controller.js +116 -0
  206. data/app/packs/src/decidim/controllers/sticky_header/sticky_header.test.js +320 -0
  207. data/app/packs/src/decidim/controllers/toggle/controller.js +111 -0
  208. data/app/packs/src/decidim/controllers/toggle/toggle.test.js +260 -0
  209. data/app/packs/src/decidim/controllers/tooltip/controller.js +287 -0
  210. data/app/packs/src/decidim/controllers/tooltip/tooltip.test.js +380 -0
  211. data/app/packs/src/decidim/controllers/user_registration_form/controller.js +160 -0
  212. data/app/packs/src/decidim/controllers/user_registration_form/omniauth_registration_form.test.js +441 -0
  213. data/app/packs/src/decidim/controllers/user_registration_form/user_registration_form.test.js +386 -0
  214. data/app/packs/src/decidim/data_consent/index.js +1 -1
  215. data/app/packs/src/decidim/datalist_select.js +1 -1
  216. data/app/packs/src/decidim/datepicker/form_datepicker.js +1 -1
  217. data/app/packs/src/decidim/datepicker/generate_datepicker.js +4 -2
  218. data/app/packs/src/decidim/datepicker/generate_timepicker.js +4 -2
  219. data/app/packs/src/decidim/direct_uploads/upload_field.js +6 -9
  220. data/app/packs/src/decidim/direct_uploads/upload_modal.js +9 -10
  221. data/app/packs/src/decidim/dropdown_menu.js +18 -0
  222. data/app/packs/src/decidim/editor/common/input_dialog.js +1 -1
  223. data/app/packs/src/decidim/editor/common/suggestion.js +21 -3
  224. data/app/packs/src/decidim/editor/common/upload_dialog.js +1 -1
  225. data/app/packs/src/decidim/editor/extensions/decidim_kit/index.js +7 -7
  226. data/app/packs/src/decidim/editor/extensions/emoji/index.js +2 -3
  227. data/app/packs/src/decidim/editor/extensions/image/index.js +1 -1
  228. data/app/packs/src/decidim/editor/extensions/image/node_view.js +1 -1
  229. data/app/packs/src/decidim/editor/extensions/link/bubble_menu.js +1 -1
  230. data/app/packs/src/decidim/editor/extensions/link/index.js +1 -1
  231. data/app/packs/src/decidim/editor/extensions/mention/index.js +1 -2
  232. data/app/packs/src/decidim/editor/extensions/mention_resource/index.js +69 -0
  233. data/app/packs/src/decidim/editor/extensions/video_embed/index.js +1 -1
  234. data/app/packs/src/decidim/editor/index.js +6 -5
  235. data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +1 -2
  236. data/app/packs/src/decidim/editor/test/extensions/emoji.test.js +17 -0
  237. data/app/packs/src/decidim/editor/test/extensions/heading.test.js +2 -2
  238. data/app/packs/src/decidim/editor/toolbar.js +1 -1
  239. data/app/packs/src/decidim/form_attachments.js +1 -1
  240. data/app/packs/src/decidim/geocoding/attach_input.js +3 -0
  241. data/app/packs/src/decidim/geocoding/provider/here.js +1 -1
  242. data/app/packs/src/decidim/geocoding/provider/photon.js +1 -1
  243. data/app/packs/src/decidim/geocoding/reverse_geocoding.js +2 -2
  244. data/app/packs/src/decidim/geocoding.js +2 -2
  245. data/app/packs/src/decidim/index.js +128 -95
  246. data/app/packs/src/decidim/map/integration/forms.js +1 -1
  247. data/app/packs/src/decidim/map/legacy.js +1 -1
  248. data/app/packs/src/decidim/map/provider/default.js +1 -1
  249. data/app/packs/src/decidim/map/provider/here.js +1 -1
  250. data/app/packs/src/decidim/map.js +1 -1
  251. data/app/packs/src/decidim/{external_link.js → refactor/implementation/external_link.js} +1 -1
  252. data/app/packs/src/decidim/{onboarding_pending_action.js → refactor/integration/onboarding_pending_action.js} +4 -4
  253. data/app/packs/src/decidim/{check_boxes_tree.js → refactor/moved/check_boxes_tree.js} +24 -9
  254. data/app/packs/src/decidim/{i18n.test.js → refactor/moved/i18n.test.js} +1 -1
  255. data/app/packs/src/decidim/{icon.js → refactor/moved/icon.js} +2 -0
  256. data/app/packs/src/decidim/refactor/support/stimulus.js +39 -0
  257. data/app/packs/src/decidim/refactor/test/configuration.test.js +360 -0
  258. data/app/packs/src/decidim/{external_domain_warning.test.js → refactor/test/external_domain_warning.test.js} +1 -1
  259. data/app/packs/src/decidim/{external_link.test.js → refactor/test/external_link.test.js} +1 -1
  260. data/app/packs/src/decidim/results_listing.js +2 -2
  261. data/app/packs/src/decidim/security/selfxss_warning.js +1 -1
  262. data/app/packs/src/decidim/session_timeouter.js +1 -1
  263. data/app/packs/src/decidim/sw/push-permissions.js +1 -1
  264. data/app/packs/src/decidim/utilities/dom.js +1 -1
  265. data/app/packs/stylesheets/decidim/_accordion.scss +37 -3
  266. data/app/packs/stylesheets/decidim/_activity.scss +4 -4
  267. data/app/packs/stylesheets/decidim/_author.scss +0 -21
  268. data/app/packs/stylesheets/decidim/_buttons.scss +4 -0
  269. data/app/packs/stylesheets/decidim/_callout.scss +1 -1
  270. data/app/packs/stylesheets/decidim/_cards.scss +6 -2
  271. data/app/packs/stylesheets/decidim/_content_blocks.scss +1 -1
  272. data/app/packs/stylesheets/decidim/_cookies.scss +1 -1
  273. data/app/packs/stylesheets/decidim/_datepicker.scss +0 -4
  274. data/app/packs/stylesheets/decidim/_dropdown.scss +56 -19
  275. data/app/packs/stylesheets/decidim/_filters.scss +1 -1
  276. data/app/packs/stylesheets/decidim/_forms.scss +6 -6
  277. data/app/packs/stylesheets/decidim/_header.scss +28 -4
  278. data/app/packs/stylesheets/decidim/_labels.scss +1 -1
  279. data/app/packs/stylesheets/decidim/_layout.scss +14 -4
  280. data/app/packs/stylesheets/decidim/{_endorsers_list.scss → _likes_list.scss} +1 -1
  281. data/app/packs/stylesheets/decidim/_modal_share.scss +83 -9
  282. data/app/packs/stylesheets/decidim/_modal_update.scss +6 -6
  283. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +1 -1
  284. data/app/packs/stylesheets/decidim/_rich_text.scss +13 -0
  285. data/app/packs/stylesheets/decidim/_statistics.scss +35 -3
  286. data/app/packs/stylesheets/decidim/_tooltip.scss +1 -1
  287. data/app/packs/stylesheets/decidim/_typography.scss +6 -0
  288. data/app/packs/stylesheets/decidim/_wizard_steps.scss +1 -1
  289. data/app/packs/stylesheets/decidim/application.scss +76 -76
  290. data/app/packs/stylesheets/decidim/editor.scss +11 -12
  291. data/app/packs/stylesheets/decidim/legacy/email.scss +6 -5
  292. data/app/packs/stylesheets/decidim/map.scss +5 -3
  293. data/app/packs/stylesheets/decidim/qr.scss +65 -0
  294. data/app/permissions/decidim/default_permissions.rb +16 -0
  295. data/app/permissions/decidim/permissions.rb +18 -27
  296. data/app/presenters/decidim/admin_log/base_user_presenter.rb +2 -2
  297. data/app/presenters/decidim/admin_log/organization_presenter.rb +0 -15
  298. data/app/presenters/decidim/home_stats_presenter.rb +4 -54
  299. data/app/presenters/decidim/log/base_presenter.rb +1 -1
  300. data/app/presenters/decidim/menu_item_presenter.rb +10 -3
  301. data/app/presenters/decidim/official_author_presenter.rb +0 -4
  302. data/app/presenters/decidim/participatory_space_private_user_presenter.rb +0 -4
  303. data/app/presenters/decidim/resource_locator_presenter.rb +15 -4
  304. data/app/presenters/decidim/resource_presenter.rb +8 -8
  305. data/app/presenters/decidim/stats_presenter.rb +39 -60
  306. data/app/presenters/decidim/taxonomy_presenter.rb +5 -1
  307. data/app/presenters/decidim/user_presenter.rb +0 -6
  308. data/app/queries/decidim/authorized_users.rb +26 -0
  309. data/app/queries/decidim/inactive_users_query.rb +31 -0
  310. data/app/queries/decidim/public_activities.rb +2 -2
  311. data/app/queries/decidim/stats_followers_count.rb +43 -0
  312. data/app/queries/decidim/stats_participants_count.rb +102 -0
  313. data/app/serializers/decidim/exporters/open_data_user_serializer.rb +1 -5
  314. data/app/serializers/decidim/exporters/participatory_space_serializer.rb +0 -1
  315. data/app/services/decidim/action_logger.rb +2 -1
  316. data/app/services/decidim/base_diff_renderer.rb +0 -17
  317. data/app/services/decidim/onboarding_manager.rb +4 -0
  318. data/app/services/decidim/open_data_exporter.rb +19 -11
  319. data/app/services/decidim/send_push_notification.rb +4 -3
  320. data/app/services/decidim/traceability.rb +1 -1
  321. data/app/validators/etiquette_validator.rb +7 -0
  322. data/app/validators/translated_etiquette_validator.rb +3 -0
  323. data/app/views/decidim/account/_old_password_field.html.erb +1 -1
  324. data/app/views/decidim/account/_password_fields.html.erb +1 -1
  325. data/app/views/decidim/account/delete.html.erb +1 -1
  326. data/app/views/decidim/account/show.html.erb +3 -3
  327. data/app/views/decidim/amendments/edit_draft.html.erb +0 -4
  328. data/app/views/decidim/amendments/new.html.erb +0 -4
  329. data/app/views/decidim/amendments/preview_draft.html.erb +1 -1
  330. data/app/views/decidim/application/_accordion_section.html.erb +1 -1
  331. data/app/views/decidim/application/_collection.html.erb +1 -1
  332. data/app/views/decidim/application/_radio_accordion.html.erb +30 -0
  333. data/app/views/decidim/devise/omniauth_registrations/new.html.erb +1 -1
  334. data/app/views/decidim/devise/omniauth_registrations/new_tos_fields.html.erb +1 -1
  335. data/app/views/decidim/devise/registrations/new.html.erb +1 -1
  336. data/app/views/decidim/devise/shared/_links.html.erb +1 -1
  337. data/app/views/decidim/doorkeeper/authorizations/new.html.erb +39 -8
  338. data/app/views/decidim/errors/internal_server_error.html.erb +2 -1
  339. data/app/views/decidim/errors/not_found.html.erb +1 -1
  340. data/app/views/decidim/likes/update_buttons_and_counters.js.erb +21 -0
  341. data/app/views/decidim/messaging/conversations/_add_conversation_users.html.erb +2 -2
  342. data/app/views/decidim/messaging/conversations/_reply_form.html.erb +1 -1
  343. data/app/views/decidim/messaging/conversations/_start.html.erb +1 -1
  344. data/app/views/decidim/messaging/conversations/create.js.erb +0 -1
  345. data/app/views/decidim/messaging/conversations/new.html.erb +1 -1
  346. data/app/views/decidim/messaging/conversations/show.html.erb +1 -1
  347. data/app/views/decidim/newsletters/unsubscribe.html.erb +16 -4
  348. data/app/views/decidim/notifications_settings/show.html.erb +3 -3
  349. data/app/views/decidim/pages/_tabbed.html.erb +1 -1
  350. data/app/views/decidim/pages/index.html.erb +1 -1
  351. data/app/views/decidim/participants_account_mailer/inactivity_notification.html.erb +13 -0
  352. data/app/views/decidim/participants_account_mailer/removal_notification.html.erb +11 -0
  353. data/app/views/decidim/profiles/show.html.erb +1 -1
  354. data/app/views/decidim/qr/show.html.erb +28 -0
  355. data/app/views/decidim/searches/_filters.html.erb +66 -15
  356. data/app/views/decidim/searches/index.html.erb +5 -2
  357. data/app/views/decidim/shared/_component_announcement.html.erb +1 -1
  358. data/app/views/decidim/shared/_confirm_modal.html.erb +1 -1
  359. data/app/views/decidim/shared/_filters.html.erb +8 -6
  360. data/app/views/decidim/shared/_orders.html.erb +1 -1
  361. data/app/views/decidim/shared/_resource_actions.html.erb +8 -5
  362. data/app/views/decidim/user_activities/index.html.erb +1 -1
  363. data/app/views/decidim/user_group_mailer/notify_deprecation_to_member.html.erb +15 -0
  364. data/app/views/decidim/user_group_mailer/notify_deprecation_to_owner.html.erb +22 -0
  365. data/app/views/layouts/decidim/_head.html.erb +15 -12
  366. data/app/views/layouts/decidim/_impersonation_warning.html.erb +1 -1
  367. data/app/views/layouts/decidim/_js_configuration.html.erb +17 -19
  368. data/app/views/layouts/decidim/_meta_tags_context.html.erb +3 -0
  369. data/app/views/layouts/decidim/_offline_banner.html.erb +1 -1
  370. data/app/views/layouts/decidim/_wrapper.html.erb +8 -6
  371. data/app/views/layouts/decidim/footer/_focus_mode_main.html.erb +7 -0
  372. data/app/views/layouts/decidim/footer/_main.html.erb +1 -1
  373. data/app/views/layouts/decidim/footer/_main_intro.html.erb +1 -1
  374. data/app/views/layouts/decidim/footer/_main_language_chooser.html.erb +1 -1
  375. data/app/views/layouts/decidim/footer/_mini.html.erb +2 -2
  376. data/app/views/layouts/decidim/header/_close_ephemeral_session.html.erb +12 -2
  377. data/app/views/layouts/decidim/header/_focus_mode_back_button.html.erb +24 -0
  378. data/app/views/layouts/decidim/header/_main.html.erb +28 -22
  379. data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +7 -1
  380. data/app/views/layouts/decidim/header/_main_links_dropdown.html.erb +20 -18
  381. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +1 -1
  382. data/app/views/layouts/decidim/header/_main_links_mobile_item_account.html.erb +1 -1
  383. data/app/views/layouts/decidim/header/_main_menu_mobile.html.erb +1 -1
  384. data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +1 -1
  385. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +1 -1
  386. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +1 -1
  387. data/app/views/layouts/decidim/header/_mobile_language_choose.html.erb +2 -2
  388. data/app/views/layouts/decidim/mailer.html.erb +2 -2
  389. data/app/views/layouts/decidim/newsletter_base.html.erb +2 -2
  390. data/app/views/layouts/decidim/shared/_layout_two_col.html.erb +3 -1
  391. data/app/views/layouts/decidim/shared/_layout_user_profile.html.erb +7 -3
  392. data/config/assets.rb +3 -3
  393. data/config/initializers/devise.rb +8 -0
  394. data/config/initializers/omniauth.rb +1 -1
  395. data/config/locales/ar.yml +0 -212
  396. data/config/locales/bg-BG.yml +2 -2
  397. data/config/locales/bg.yml +0 -243
  398. data/config/locales/bs-BA.yml +0 -30
  399. data/config/locales/ca-IT.yml +129 -280
  400. data/config/locales/ca.yml +129 -280
  401. data/config/locales/cs.yml +99 -284
  402. data/config/locales/de.yml +144 -285
  403. data/config/locales/el.yml +0 -228
  404. data/config/locales/en.yml +129 -280
  405. data/config/locales/eo.yml +0 -2
  406. data/config/locales/es-MX.yml +129 -280
  407. data/config/locales/es-PY.yml +129 -280
  408. data/config/locales/es.yml +129 -280
  409. data/config/locales/eu.yml +175 -326
  410. data/config/locales/fi-plain.yml +167 -270
  411. data/config/locales/fi.yml +168 -271
  412. data/config/locales/fr-CA.yml +102 -269
  413. data/config/locales/fr-LU.yml +3 -3
  414. data/config/locales/fr.yml +102 -269
  415. data/config/locales/ga-IE.yml +0 -28
  416. data/config/locales/gl.yml +0 -143
  417. data/config/locales/hu.yml +0 -242
  418. data/config/locales/id-ID.yml +0 -139
  419. data/config/locales/is-IS.yml +0 -15
  420. data/config/locales/it.yml +122 -193
  421. data/config/locales/ja.yml +124 -267
  422. data/config/locales/lb-LU.yml +2 -2
  423. data/config/locales/lb.yml +0 -192
  424. data/config/locales/lt.yml +0 -245
  425. data/config/locales/lv.yml +0 -189
  426. data/config/locales/nl.yml +0 -192
  427. data/config/locales/no.yml +0 -192
  428. data/config/locales/pl.yml +0 -249
  429. data/config/locales/pt-BR.yml +0 -217
  430. data/config/locales/pt.yml +0 -192
  431. data/config/locales/ro-RO.yml +54 -222
  432. data/config/locales/ru.yml +0 -65
  433. data/config/locales/sk-SK.yml +3 -3
  434. data/config/locales/sk.yml +2 -167
  435. data/config/locales/sr-CS.yml +0 -31
  436. data/config/locales/sv.yml +96 -256
  437. data/config/locales/tr-TR.yml +0 -192
  438. data/config/locales/uk.yml +0 -25
  439. data/config/locales/zh-CN.yml +0 -183
  440. data/config/locales/zh-TW.yml +0 -234
  441. data/config/routes.rb +3 -36
  442. data/db/migrate/20250217192438_convert_user_groups_into_users.rb +38 -0
  443. data/db/migrate/20250221085317_add_user_type_to_action_logs.rb +12 -0
  444. data/db/migrate/20250221090905_create_decidim_api_jwt_denylist.rb +11 -0
  445. data/db/migrate/20250221091348_add_api_key_to_decidim_api_user.rb +7 -0
  446. data/db/migrate/20250327143657_remove_metrics_content_blocks.rb +9 -0
  447. data/db/migrate/20250401153444_enable_pkce.rb +8 -0
  448. data/db/migrate/20250416130426_rename_doorkeeper_scopes.rb +25 -0
  449. data/db/migrate/20250515105231_rename_endorsements_to_likes.rb +62 -0
  450. data/db/migrate/20250523104311_move_cta_to_hero_content_block.rb +34 -0
  451. data/db/migrate/20250527122040_move_highlighted_content_banner_settings_to_content_block.rb +69 -0
  452. data/db/migrate/20250603103953_add_refresh_tokens_enabled_to_doorkeeper_applications.rb +7 -0
  453. data/db/migrate/20250609073104_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb +10 -0
  454. data/db/migrate/20250613122148_remove_hashtag_table_from_core.rb +7 -0
  455. data/decidim-core.gemspec +4 -4
  456. data/{app/helpers → lib}/decidim/action_authorization_helper.rb +5 -4
  457. data/lib/decidim/amendable.rb +4 -4
  458. data/lib/decidim/api/functions/user_entity_finder.rb +1 -1
  459. data/lib/decidim/api/input_filters/component_input_filter.rb +3 -3
  460. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +0 -21
  461. data/lib/decidim/api/input_sorts/has_likeable_input_sort.rb +15 -0
  462. data/lib/decidim/api/interfaces/attachable_collection_interface.rb +13 -0
  463. data/lib/decidim/api/interfaces/author_interface.rb +1 -2
  464. data/lib/decidim/api/interfaces/authorable_interface.rb +2 -2
  465. data/lib/decidim/api/interfaces/coauthorable_interface.rb +1 -1
  466. data/lib/decidim/api/interfaces/component_interface.rb +6 -0
  467. data/lib/decidim/api/interfaces/followable_interface.rb +13 -0
  468. data/lib/decidim/api/interfaces/likeable_interface.rb +19 -0
  469. data/lib/decidim/api/interfaces/localizable_interface.rb +18 -0
  470. data/lib/decidim/api/interfaces/participatory_space_interface.rb +6 -8
  471. data/lib/decidim/api/interfaces/referable_interface.rb +13 -0
  472. data/lib/decidim/api/interfaces/timestamps_interface.rb +0 -1
  473. data/lib/decidim/api/interfaces/traceable_interface.rb +1 -1
  474. data/lib/decidim/api/types/attachment_collection_type.rb +14 -0
  475. data/lib/decidim/api/types/organization_type.rb +3 -1
  476. data/lib/decidim/api/types/session_type.rb +0 -5
  477. data/lib/decidim/api/types/statistic_type.rb +29 -3
  478. data/lib/decidim/api/types/trace_version_type.rb +1 -1
  479. data/lib/decidim/api/types/user_type.rb +1 -2
  480. data/lib/decidim/api_response_helper.rb +12 -0
  481. data/lib/decidim/asset_router/storage.rb +2 -4
  482. data/lib/decidim/assets/tailwind/instance.rb +1 -1
  483. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +5 -3
  484. data/lib/decidim/attribute_encryptor.rb +1 -1
  485. data/lib/decidim/attributes/time_with_zone.rb +1 -1
  486. data/lib/decidim/authorable.rb +5 -34
  487. data/lib/decidim/coauthorable.rb +13 -31
  488. data/lib/decidim/content_parsers/blob_parser.rb +1 -1
  489. data/lib/decidim/content_parsers/mention_resource_parser.rb +23 -0
  490. data/lib/decidim/content_parsers/tag_parser.rb +2 -2
  491. data/lib/decidim/content_parsers/user_parser.rb +2 -2
  492. data/lib/decidim/content_parsers.rb +14 -2
  493. data/lib/decidim/content_processor.rb +1 -1
  494. data/lib/decidim/content_renderers/mention_resource_renderer.rb +77 -0
  495. data/lib/decidim/content_renderers.rb +1 -2
  496. data/lib/decidim/core/api.rb +7 -8
  497. data/lib/decidim/core/content_blocks/registry_manager.rb +19 -5
  498. data/lib/decidim/core/engine.rb +72 -104
  499. data/lib/decidim/core/menu.rb +0 -7
  500. data/lib/decidim/core/seeds.rb +11 -39
  501. data/lib/decidim/core/test/factories.rb +24 -123
  502. data/lib/decidim/core/test/shared_examples/announcements_examples.rb +4 -0
  503. data/lib/decidim/core/test/shared_examples/authorable.rb +0 -17
  504. data/lib/decidim/core/test/shared_examples/coauthorable.rb +5 -48
  505. data/lib/decidim/core/test/shared_examples/comments_examples.rb +14 -61
  506. data/lib/decidim/core/test/shared_examples/likeable.rb +22 -0
  507. data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +16 -3
  508. data/lib/decidim/core/test/shared_examples/map_examples.rb +1 -1
  509. data/lib/decidim/core/test/shared_examples/oauth_application_examples.rb +137 -0
  510. data/lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb +0 -18
  511. data/lib/decidim/core/test/shared_examples/permissions.rb +0 -46
  512. data/lib/decidim/core/test/shared_examples/reports_examples.rb +2 -2
  513. data/lib/decidim/core/test/shared_examples/{resource_endorsed_event_examples.rb → resource_liked_event_examples.rb} +7 -7
  514. data/lib/decidim/core/test/shared_examples/resource_search_examples.rb +0 -14
  515. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +8 -34
  516. data/lib/decidim/core/test/shared_examples/social_share_examples.rb +79 -0
  517. data/lib/decidim/core/test/shared_examples/system_like_resource_examples.rb +192 -0
  518. data/lib/decidim/core/test/shared_examples/uncommentable_component_examples.rb +2 -2
  519. data/lib/decidim/core/test/shared_examples/{with_endorsable_permissions_examples.rb → with_likeable_permissions_examples.rb} +22 -22
  520. data/lib/decidim/core/test.rb +6 -9
  521. data/lib/decidim/core/version.rb +1 -1
  522. data/lib/decidim/core.rb +237 -88
  523. data/lib/decidim/deprecations.rb +1 -1
  524. data/lib/decidim/download_your_data_serializers.rb +6 -3
  525. data/lib/decidim/env.rb +3 -1
  526. data/lib/decidim/events.rb +0 -1
  527. data/lib/decidim/form_builder.rb +40 -43
  528. data/lib/decidim/gamification/badge_scorer.rb +0 -2
  529. data/lib/decidim/gamification.rb +1 -1
  530. data/lib/decidim/has_conversations.rb +0 -44
  531. data/lib/decidim/has_workflows.rb +42 -0
  532. data/lib/decidim/icon_registry.rb +4 -4
  533. data/lib/decidim/legacy_form_builder.rb +17 -2
  534. data/lib/decidim/likeable.rb +24 -0
  535. data/lib/decidim/manifest_registry.rb +1 -1
  536. data/lib/decidim/map/provider/dynamic_map/here.rb +0 -19
  537. data/lib/decidim/map/provider/static_map/here.rb +2 -10
  538. data/lib/decidim/menu.rb +1 -1
  539. data/lib/decidim/moderation_tools.rb +1 -1
  540. data/lib/decidim/mutation_registry.rb +17 -0
  541. data/lib/decidim/newsletter_encryptor.rb +1 -1
  542. data/lib/decidim/oauth/token_generator.rb +35 -0
  543. data/lib/decidim/oauth.rb +7 -0
  544. data/lib/decidim/organization_settings.rb +2 -10
  545. data/lib/decidim/paddable.rb +1 -1
  546. data/lib/decidim/participatory_space_resourceable.rb +2 -2
  547. data/lib/decidim/participatory_space_user.rb +1 -1
  548. data/lib/decidim/pdf_signature_example.rb +108 -0
  549. data/lib/decidim/query.rb +1 -1
  550. data/lib/decidim/query_extensions.rb +0 -33
  551. data/lib/decidim/reportable.rb +1 -1
  552. data/lib/decidim/searchable.rb +4 -2
  553. data/lib/decidim/seeds.rb +8 -0
  554. data/lib/decidim/settings_manifest.rb +3 -2
  555. data/lib/decidim/{webpacker → shakapacker}/configuration.rb +4 -4
  556. data/lib/decidim/{webpacker → shakapacker}/runner.rb +3 -3
  557. data/lib/decidim/shakapacker/shakapacker.rb +8 -0
  558. data/lib/decidim/{webpacker → shakapacker}/shakapacker.yml +3 -1
  559. data/lib/decidim/{webpacker → shakapacker}/webpack/custom.js +1 -1
  560. data/lib/decidim/shakapacker.rb +34 -0
  561. data/lib/decidim/social_share_service_manifest.rb +7 -12
  562. data/lib/decidim/stats_registry.rb +15 -3
  563. data/{app/helpers → lib}/decidim/tooltip_helper.rb +3 -3
  564. data/lib/decidim/url_option_resolver.rb +1 -1
  565. data/lib/decidim/view_model.rb +0 -3
  566. data/lib/decidim/webpacker.rb +11 -20
  567. data/lib/decidim/workflow_registry.rb +61 -0
  568. data/lib/tasks/decidim_participants_tasks.rake +22 -0
  569. data/lib/tasks/{decidim_webpacker_tasks.rake → decidim_shakapacker_tasks.rake} +35 -33
  570. data/lib/tasks/decidim_tasks.rake +4 -1
  571. data/lib/tasks/decidim_taxonomies.rake +0 -34
  572. data/lib/tasks/upgrade/clean.rake +1 -1
  573. data/lib/tasks/upgrade/decidim_action_log_valuation_assignment.rake +13 -0
  574. data/lib/tasks/upgrade/decidim_change_valuator_tasks.rake +12 -0
  575. data/lib/tasks/upgrade/{decidim_deduplicate_endorsements.rake → decidim_deduplicate_likes.rake} +10 -10
  576. data/lib/tasks/upgrade/decidim_migrate_wysiwyg_content.rake +2 -2
  577. data/lib/tasks/upgrade/decidim_paper_trail_valuation_assignment.rake +13 -0
  578. data/lib/tasks/upgrade/user_groups_migration.rake +155 -0
  579. metadata +205 -256
  580. data/app/cells/decidim/author/endorsements.erb +0 -4
  581. data/app/cells/decidim/author/profile_minicard.erb +0 -30
  582. data/app/cells/decidim/content_blocks/organization_metrics_cell.rb +0 -21
  583. data/app/cells/decidim/content_blocks/participatory_space_metrics/content.erb +0 -18
  584. data/app/cells/decidim/content_blocks/participatory_space_metrics_cell.rb +0 -43
  585. data/app/cells/decidim/endorsement_block/show.erb +0 -3
  586. data/app/cells/decidim/endorsement_buttons/button_content.erb +0 -2
  587. data/app/cells/decidim/endorsement_buttons/select_identity_button.erb +0 -7
  588. data/app/cells/decidim/endorsement_buttons/show.erb +0 -17
  589. data/app/cells/decidim/endorsement_buttons_cell.rb +0 -87
  590. data/app/cells/decidim/endorsers_list/empty.erb +0 -3
  591. data/app/cells/decidim/endorsers_list/show.erb +0 -20
  592. data/app/cells/decidim/endorsers_list_cell.rb +0 -64
  593. data/app/cells/decidim/group_admins/show.erb +0 -32
  594. data/app/cells/decidim/group_admins_cell.rb +0 -8
  595. data/app/cells/decidim/group_members/show.erb +0 -42
  596. data/app/cells/decidim/group_members_cell.rb +0 -8
  597. data/app/cells/decidim/groups/show.erb +0 -14
  598. data/app/cells/decidim/groups_cell.rb +0 -22
  599. data/app/cells/decidim/members/show.erb +0 -12
  600. data/app/cells/decidim/members_cell.rb +0 -34
  601. data/app/cells/decidim/profile_actions/dropdown_actions.erb +0 -21
  602. data/app/cells/decidim/represent_user_group/show.erb +0 -11
  603. data/app/cells/decidim/represent_user_group_cell.rb +0 -46
  604. data/app/cells/decidim/user_conversation/conversation_header.erb +0 -14
  605. data/app/cells/decidim/user_conversation/messages.erb +0 -1
  606. data/app/cells/decidim/user_conversation/new.erb +0 -6
  607. data/app/cells/decidim/user_conversation/reply.erb +0 -9
  608. data/app/cells/decidim/user_conversation/show.erb +0 -19
  609. data/app/cells/decidim/user_conversation/start.erb +0 -12
  610. data/app/cells/decidim/user_conversation_cell.rb +0 -62
  611. data/app/cells/decidim/user_conversations/new_conversation_button.erb +0 -20
  612. data/app/cells/decidim/user_conversations/show.erb +0 -13
  613. data/app/cells/decidim/user_conversations_cell.rb +0 -28
  614. data/app/cells/decidim/user_group_pending_invitations_list/show.erb +0 -28
  615. data/app/cells/decidim/user_group_pending_invitations_list_cell.rb +0 -26
  616. data/app/cells/decidim/user_group_pending_requests_list/show.erb +0 -27
  617. data/app/cells/decidim/user_group_pending_requests_list_cell.rb +0 -26
  618. data/app/commands/decidim/accept_group_invitation.rb +0 -43
  619. data/app/commands/decidim/accept_user_group_join_request.rb +0 -53
  620. data/app/commands/decidim/create_user_group.rb +0 -73
  621. data/app/commands/decidim/demote_membership.rb +0 -57
  622. data/app/commands/decidim/endorse_resource.rb +0 -66
  623. data/app/commands/decidim/invite_user_to_group.rb +0 -63
  624. data/app/commands/decidim/join_user_group.rb +0 -57
  625. data/app/commands/decidim/leave_user_group.rb +0 -47
  626. data/app/commands/decidim/promote_membership.rb +0 -55
  627. data/app/commands/decidim/reject_group_invitation.rb +0 -42
  628. data/app/commands/decidim/reject_user_group_join_request.rb +0 -53
  629. data/app/commands/decidim/remove_user_from_group.rb +0 -53
  630. data/app/commands/decidim/unendorse_resource.rb +0 -39
  631. data/app/commands/decidim/update_user_group.rb +0 -72
  632. data/app/controllers/concerns/decidim/user_groups.rb +0 -23
  633. data/app/controllers/decidim/endorsements_controller.rb +0 -71
  634. data/app/controllers/decidim/group_email_confirmations_controller.rb +0 -32
  635. data/app/controllers/decidim/group_invites_controller.rb +0 -104
  636. data/app/controllers/decidim/group_members_controller.rb +0 -75
  637. data/app/controllers/decidim/groups_controller.rb +0 -99
  638. data/app/controllers/decidim/own_user_groups_controller.rb +0 -15
  639. data/app/controllers/decidim/user_conversations_controller.rb +0 -133
  640. data/app/controllers/decidim/user_group_join_requests_controller.rb +0 -72
  641. data/app/events/decidim/demoted_membership_event.rb +0 -28
  642. data/app/events/decidim/invited_to_group_event.rb +0 -62
  643. data/app/events/decidim/join_request_accepted_event.rb +0 -28
  644. data/app/events/decidim/join_request_created_event.rb +0 -28
  645. data/app/events/decidim/join_request_rejected_event.rb +0 -28
  646. data/app/events/decidim/promoted_to_admin_event.rb +0 -28
  647. data/app/events/decidim/removed_from_group_event.rb +0 -28
  648. data/app/events/decidim/resource_endorsed_event.rb +0 -36
  649. data/app/events/decidim/user_group_admin_event.rb +0 -37
  650. data/app/events/decidim/user_group_created_event.rb +0 -6
  651. data/app/events/decidim/user_group_updated_event.rb +0 -6
  652. data/app/forms/decidim/invite_user_to_group_form.rb +0 -29
  653. data/app/forms/decidim/user_group_form.rb +0 -85
  654. data/app/helpers/decidim/cta_button_helper.rb +0 -31
  655. data/app/helpers/decidim/endorsable_helper.rb +0 -84
  656. data/app/helpers/decidim/twitter_search_helper.rb +0 -14
  657. data/app/helpers/decidim/user_group_helper.rb +0 -22
  658. data/app/jobs/decidim/metric_job.rb +0 -15
  659. data/app/models/decidim/metric.rb +0 -25
  660. data/app/models/decidim/user_group.rb +0 -217
  661. data/app/models/decidim/user_group_membership.rb +0 -17
  662. data/app/packs/entrypoints/decidim_widget.js +0 -1
  663. data/app/packs/src/decidim/abide_form_validator_fixer.js +0 -44
  664. data/app/packs/src/decidim/account_form.js +0 -96
  665. data/app/packs/src/decidim/append_elements.js +0 -6
  666. data/app/packs/src/decidim/back_to_list.js +0 -26
  667. data/app/packs/src/decidim/change_report_form_behavior.js +0 -45
  668. data/app/packs/src/decidim/clipboard.js +0 -128
  669. data/app/packs/src/decidim/editor/extensions/hashtag/index.js +0 -66
  670. data/app/packs/src/decidim/editor/extensions/heading/index.js +0 -33
  671. data/app/packs/src/decidim/editor/test/extensions/hashtag.test.js +0 -105
  672. data/app/packs/src/decidim/form_filter.component_for_testing.js +0 -7
  673. data/app/packs/src/decidim/form_validator.js +0 -56
  674. data/app/packs/src/decidim/gallery.js +0 -5
  675. data/app/packs/src/decidim/impersonation.js +0 -23
  676. data/app/packs/src/decidim/input_autojump.js +0 -38
  677. data/app/packs/src/decidim/input_hashtags.js +0 -91
  678. data/app/packs/src/decidim/input_mentions.js +0 -143
  679. data/app/packs/src/decidim/input_multiple_mentions.js +0 -115
  680. data/app/packs/src/decidim/input_tags.js +0 -16
  681. data/app/packs/src/decidim/notifications_actions.js +0 -40
  682. data/app/packs/src/decidim/password_toggler.js +0 -104
  683. data/app/packs/src/decidim/remote_tooltips.js +0 -38
  684. data/app/packs/src/decidim/responsive_horizontal_tabs.js +0 -12
  685. data/app/packs/src/decidim/scroll_to_last_child.js +0 -14
  686. data/app/packs/src/decidim/slug_form.js +0 -9
  687. data/app/packs/src/decidim/sticky_footer.js +0 -48
  688. data/app/packs/src/decidim/sticky_header.js +0 -62
  689. data/app/packs/src/decidim/toggle.js +0 -37
  690. data/app/packs/src/decidim/tooltips.js +0 -152
  691. data/app/packs/src/decidim/user_registrations.js +0 -65
  692. data/app/packs/src/decidim/vizzs/areachart.js +0 -251
  693. data/app/packs/src/decidim/vizzs/index.js +0 -82
  694. data/app/packs/src/decidim/widget.js +0 -14
  695. data/app/packs/stylesheets/decidim/_hashtags.scss +0 -5
  696. data/app/packs/stylesheets/decidim/_metrics.scss +0 -70
  697. data/app/packs/stylesheets/decidim/_modal_identities.scss +0 -23
  698. data/app/presenters/decidim/admin_log/user_group_presenter.rb +0 -31
  699. data/app/presenters/decidim/hashtag_presenter.rb +0 -37
  700. data/app/presenters/decidim/metric_charts_presenter.rb +0 -92
  701. data/app/presenters/decidim/metric_object_presenter.rb +0 -32
  702. data/app/presenters/decidim/user_group_presenter.rb +0 -38
  703. data/app/queries/decidim/metric_manage.rb +0 -81
  704. data/app/queries/decidim/metric_measure.rb +0 -36
  705. data/app/queries/decidim/metrics/blocked_users_metric_manage.rb +0 -26
  706. data/app/queries/decidim/metrics/followers_metric_manage.rb +0 -65
  707. data/app/queries/decidim/metrics/participants_metric_manage.rb +0 -79
  708. data/app/queries/decidim/metrics/reported_users_metric_manage.rb +0 -26
  709. data/app/queries/decidim/metrics/user_reports_metric_manage.rb +0 -26
  710. data/app/queries/decidim/metrics/users_metric_manage.rb +0 -26
  711. data/app/queries/decidim/user_groups/accepted_memberships.rb +0 -36
  712. data/app/queries/decidim/user_groups/accepted_user_groups.rb +0 -38
  713. data/app/queries/decidim/user_groups/accepted_users.rb +0 -36
  714. data/app/queries/decidim/user_groups/admin_memberships.rb +0 -37
  715. data/app/queries/decidim/user_groups/invited_memberships.rb +0 -36
  716. data/app/queries/decidim/user_groups/manageable_user_groups.rb +0 -39
  717. data/app/queries/decidim/user_groups/member_memberships.rb +0 -37
  718. data/app/resolvers/decidim/core/metric_resolver.rb +0 -71
  719. data/app/resolvers/decidim/hashtags_resolver.rb +0 -15
  720. data/app/serializers/decidim/exporters/open_data_metric_serializer.rb +0 -22
  721. data/app/serializers/decidim/exporters/open_data_user_group_serializer.rb +0 -38
  722. data/app/views/decidim/endorsements/_identity.html.erb +0 -4
  723. data/app/views/decidim/endorsements/identities.html.erb +0 -18
  724. data/app/views/decidim/endorsements/update_buttons_and_counters.js.erb +0 -25
  725. data/app/views/decidim/group_invites/index.html.erb +0 -26
  726. data/app/views/decidim/groups/_form.html.erb +0 -17
  727. data/app/views/decidim/groups/edit.html.erb +0 -19
  728. data/app/views/decidim/groups/new.html.erb +0 -23
  729. data/app/views/decidim/messaging/conversation_mailer/comanagers_new_conversation.html.erb +0 -17
  730. data/app/views/decidim/messaging/conversation_mailer/comanagers_new_message.html.erb +0 -17
  731. data/app/views/decidim/messaging/conversation_mailer/new_group_conversation.html.erb +0 -17
  732. data/app/views/decidim/messaging/conversation_mailer/new_group_message.html.erb +0 -17
  733. data/app/views/decidim/own_user_groups/index.html.erb +0 -10
  734. data/app/views/decidim/shared/_extended_navigation_bar.html.erb +0 -50
  735. data/app/views/decidim/user_conversations/index.html.erb +0 -4
  736. data/app/views/decidim/user_conversations/show.html.erb +0 -4
  737. data/app/views/decidim/user_conversations/update.js.erb +0 -8
  738. data/config/initializers/new_framework_defaults_7_0.rb +0 -145
  739. data/lib/decidim/api/input_filters/has_hastaggable_input_filter.rb +0 -15
  740. data/lib/decidim/api/input_sorts/has_endorsable_input_sort.rb +0 -15
  741. data/lib/decidim/api/interfaces/endorsable_interface.rb +0 -19
  742. data/lib/decidim/api/types/hashtag_type.rb +0 -13
  743. data/lib/decidim/api/types/metric_history_type.rb +0 -20
  744. data/lib/decidim/api/types/metric_type.rb +0 -13
  745. data/lib/decidim/api/types/user_group_type.rb +0 -55
  746. data/lib/decidim/content_parsers/hashtag_parser.rb +0 -66
  747. data/lib/decidim/content_parsers/user_group_parser.rb +0 -33
  748. data/lib/decidim/content_renderers/hashtag_renderer.rb +0 -78
  749. data/lib/decidim/content_renderers/user_group_renderer.rb +0 -31
  750. data/lib/decidim/core/test/shared_examples/amendable_interface_examples.rb +0 -14
  751. data/lib/decidim/core/test/shared_examples/amendable_proposals_interface_examples.rb +0 -50
  752. data/lib/decidim/core/test/shared_examples/assembly_announcements_examples.rb +0 -38
  753. data/lib/decidim/core/test/shared_examples/attachable_interface_examples.rb +0 -16
  754. data/lib/decidim/core/test/shared_examples/authorable_interface_examples.rb +0 -59
  755. data/lib/decidim/core/test/shared_examples/categories_container_examples.rb +0 -22
  756. data/lib/decidim/core/test/shared_examples/categorizable_interface_examples.rb +0 -27
  757. data/lib/decidim/core/test/shared_examples/coauthorable_interface_examples.rb +0 -91
  758. data/lib/decidim/core/test/shared_examples/endorsable.rb +0 -69
  759. data/lib/decidim/core/test/shared_examples/endorsable_interface_examples.rb +0 -22
  760. data/lib/decidim/core/test/shared_examples/fingerprintable_interface_examples.rb +0 -17
  761. data/lib/decidim/core/test/shared_examples/input_filter_examples.rb +0 -118
  762. data/lib/decidim/core/test/shared_examples/input_sort_examples.rb +0 -126
  763. data/lib/decidim/core/test/shared_examples/metric_manage_shared_context.rb +0 -9
  764. data/lib/decidim/core/test/shared_examples/participatory_space_resourcable_interface_examples.rb +0 -43
  765. data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +0 -37
  766. data/lib/decidim/core/test/shared_examples/scopable_interface_examples.rb +0 -19
  767. data/lib/decidim/core/test/shared_examples/system_endorse_resource_examples.rb +0 -298
  768. data/lib/decidim/core/test/shared_examples/taxonomizable_interface_examples.rb +0 -20
  769. data/lib/decidim/core/test/shared_examples/timestamps_interface_examples.rb +0 -21
  770. data/lib/decidim/core/test/shared_examples/traceable_interface_examples.rb +0 -47
  771. data/lib/decidim/download_your_data_serializers/download_your_data_user_group_serializer.rb +0 -21
  772. data/lib/decidim/endorsable.rb +0 -29
  773. data/lib/decidim/events/user_group_event.rb +0 -43
  774. data/lib/decidim/hashtag.rb +0 -13
  775. data/lib/decidim/metric_manifest.rb +0 -35
  776. data/lib/decidim/metric_operation.rb +0 -58
  777. data/lib/decidim/metric_operation_manifest.rb +0 -21
  778. data/lib/decidim/metric_registry.rb +0 -109
  779. data/lib/gem_overrides/shakapacker/runner.rb +0 -9
  780. data/lib/tasks/decidim_metrics_tasks.rake +0 -89
  781. /data/app/cells/decidim/{endorsement_buttons/disabled_endorsements.erb → like_buttons/disabled_likes.erb} +0 -0
  782. /data/app/packs/src/decidim/{configuration.js → refactor/implementation/configuration.js} +0 -0
  783. /data/app/packs/src/decidim/{external_domain_warning.js → refactor/implementation/external_domain_warning.js} +0 -0
  784. /data/app/packs/src/decidim/{autocomplete.js → refactor/moved/autocomplete.js} +0 -0
  785. /data/app/packs/src/decidim/{delayed.js → refactor/moved/delayed.js} +0 -0
  786. /data/app/packs/src/decidim/{focus_guard.js → refactor/moved/focus_guard.js} +0 -0
  787. /data/app/packs/src/decidim/{history.js → refactor/moved/history.js} +0 -0
  788. /data/app/packs/src/decidim/{i18n.js → refactor/moved/i18n.js} +0 -0
  789. /data/lib/decidim/core/test/shared_examples/{endorsements_controller_shared_context.rb → likes_controller_shared_context.rb} +0 -0
  790. /data/{app/helpers → lib}/decidim/resource_helper.rb +0 -0
  791. /data/lib/decidim/{webpacker → shakapacker}/esbuild.config.js +0 -0
  792. /data/lib/decidim/{webpacker → shakapacker}/postcss.config.js +0 -0
  793. /data/lib/decidim/{webpacker → shakapacker}/tsconfig.json +0 -0
  794. /data/lib/decidim/{webpacker → shakapacker}/webpack/.modernizrrc +0 -0
  795. /data/lib/decidim/{webpacker → shakapacker}/webpack/webpack.config.js +0 -0
@@ -31,8 +31,6 @@ zh-TW:
31
31
  personal_url: 個人 URL
32
32
  remove_avatar: 刪除頭像
33
33
  tos_agreement: 同意服務條款
34
- user_group:
35
- avatar: 頭像
36
34
  models:
37
35
  decidim/attachment_created_event: 附件
38
36
  decidim/component_published_event: 啟用組件
@@ -46,9 +44,7 @@ zh-TW:
46
44
  decidim/promote_to_admin: 晉升為群組管理員
47
45
  decidim/promoted_to_admin_event: 晉升為群組管理員
48
46
  decidim/removed_from_group: 從群組中移除
49
- decidim/resource_endorsed_event: 資源已獲得連署
50
47
  decidim/resource_hidden_event: 資源已隱藏
51
- decidim/user_group_created_event: 用戶群組已建立
52
48
  decidim/welcome_notification_event: 歡迎訊息
53
49
  activerecord:
54
50
  attributes:
@@ -64,12 +60,8 @@ zh-TW:
64
60
  models:
65
61
  decidim/amendment:
66
62
  other: 修正案
67
- decidim/endorsement:
68
- other: 連署
69
63
  decidim/user:
70
64
  other: 參與者
71
- decidim/user_group:
72
- other: 群組
73
65
  booleans:
74
66
  'false': '否'
75
67
  'true': '是'
@@ -277,7 +269,6 @@ zh-TW:
277
269
  withdrawn: |-
278
270
  對於 %{amendable_type} %{proposal_link} 的修正案已被作者撤回。
279
271
  new:
280
- amendment_author: 修正案作者
281
272
  send: 建立
282
273
  title: 創建修正案草稿
283
274
  preview_draft:
@@ -320,8 +311,6 @@ zh-TW:
320
311
  avatar: '頭像: %{name}'
321
312
  comments:
322
313
  other: 評論
323
- endorsements:
324
- other: "one\n連署\nOther\n連署"
325
314
  official_author: 官方
326
315
  authorization_handlers:
327
316
  another_dummy_authorization_handler:
@@ -465,10 +454,6 @@ zh-TW:
465
454
  name: 最後活動
466
455
  title: 最後活動
467
456
  view_all: 檢視全部
468
- metrics:
469
- name: 組織指標
470
- participatory_space_metrics:
471
- name: 指標
472
457
  static_page:
473
458
  section:
474
459
  name: 節
@@ -546,10 +531,6 @@ zh-TW:
546
531
  error: 上傳圖片時發生錯誤.
547
532
  success: 圖片上傳成功.
548
533
  drag_and_drop_help: 通過拖放或粘貼方式添加圖片。
549
- endorsements:
550
- identities:
551
- done: 已完成
552
- select_identity: 選擇身份
553
534
  errors:
554
535
  internal_server_error:
555
536
  copied: 文字已複製!
@@ -641,52 +622,6 @@ zh-TW:
641
622
  email_outro: 您收到此通知是因為您在我們的網站上進行了相關活動。
642
623
  email_subject: 你已經達到了 %{badge_name} 徽章的 %{current_level} 等級!
643
624
  notification_title: 恭喜!您已經達到了 <a href="%{resource_path}">%{badge_name} 徽章</a>的 %{current_level} 級!
644
- groups:
645
- demoted_membership:
646
- email_intro: <a href="%{resource_url}">%{user_group_name}</a> 群組的管理員已將您的管理權限從該群組中移除。
647
- email_outro: 您收到此通知是因為您是該群組的成員。
648
- email_subject: 您不再是 %{user_group_name} 群組的管理員!
649
- notification_title: 您不再是 <a href="%{resource_path}">%{user_group_name}</a> 群組的管理員。
650
- invited_to_group:
651
- email_intro: 一位<a href="%{resource_url}">%{user_group_name}</a> 群組的管理員邀請您加入該群組。
652
- email_outro: 您收到此通知是因為您已獲邀請加入一個群組。請在個人檔案的「群組」選項中檢查並核准該邀請。
653
- email_subject: 您已獲邀請加入 %{user_group_name} 群組!
654
- notification_title: 您已獲邀請加入 <a href="%{resource_path}">%{user_group_name}</a> 群組。請檢查您個人檔案中的<a href="%{groups_profile_tab_path}">群組頁面</a>以進行批准!
655
- join_request_accepted:
656
- email_intro: 恭喜!<a href="%{resource_url}">%{user_group_name}</a> 群組的管理員已經接受您加入的請求。
657
- email_outro: 您收到此通知是因為您的加入請求已經有了更新。
658
- email_subject: 您已被接受加入 %{user_group_name} 群組!
659
- notification_title: 您已被接受加入 <a href="%{resource_path}">%{user_group_name}</a> 群組。
660
- join_request_created:
661
- email_intro: 有人申請加入 %{user_group_name} 群組。您可以從<a href="%{resource_url}">群組成員頁面</a>接受或拒絕。
662
- email_outro: 您收到此通知是因為您可以管理 %{user_group_name} 群組。
663
- email_subject: 有人申請加入 %{user_group_name} 群組!
664
- notification_title: 有人申請加入 %{user_group_name} 群組。您可以從<a href="%{resource_path}">群組成員頁面</a>接受或拒絕。
665
- join_request_rejected:
666
- email_intro: 一位 <a href="%{resource_url}">%{user_group_name}</a> 群組的管理員已拒絕了你加入的請求。
667
- email_outro: 您收到此通知是因為您的加入請求已經有了更新。
668
- email_subject: 你的加入 %{user_group_name} 群組的請求已被拒絕!
669
- notification_title: 你加入 <a href="%{resource_path}">%{user_group_name}</a> 群組的請求已被拒絕。
670
- promoted_to_admin:
671
- email_intro: <a href="%{resource_url}">%{user_group_name}</a> 群組的管理員已經給予你該群組的管理權限。
672
- email_outro: 您收到此通知是因為您是該群組的成員。
673
- email_subject: 你現在是 %{user_group_name} 群組的管理員了!
674
- notification_title: 你現在是 <a href="%{resource_path}">%{user_group_name}</a> 群組的管理員了!
675
- removed_from_group:
676
- email_intro: <a href="%{resource_url}">%{user_group_name}</a> 群組的管理員已將你從該群組中移除。
677
- email_outro: 你收到這個通知是因為你曾經是該群組的成員。
678
- email_subject: 你已從 %{user_group_name} 群組中移除!
679
- notification_title: 您已被從<a href="%{resource_path}">%{user_group_name}</a> 群組中移除。
680
- user_group_created:
681
- email_intro: 一個名為 %{user_group_name} 的新用戶組已被創建。您現在可以在<a href="%{groups_admin_url}">管理員面板</a>中進行驗證。
682
- email_outro: 你收到了這個通知是因為你是該平台的管理員。
683
- email_subject: 已建立新的使用者群組
684
- notification_title: 已建立 %{user_group_name} 使用者群組。您現在可以在<a href="%{groups_admin_path}">管理面板</a>中進行驗證。
685
- user_group_updated:
686
- email_intro: 名為 %{user_group_name} 的使用者群組已更新其個人檔案,尚未完成驗證。您現在可以在<a href="%{groups_admin_url}">管理面板</a>中進行驗證
687
- email_outro: 你收到了這個通知是因為你是該平台的管理員。
688
- email_subject: 一個使用者群組已更新其個人檔案。
689
- notification_title: '%{user_group_name} 使用者群組已更新其個人資料,讓它未經驗證。您現在可以在<a href="%{groups_admin_path}">管理面板</a>中進行驗證。'
690
625
  reports:
691
626
  resource_hidden:
692
627
  email_intro: 一位管理員因為您的%{resource_type} 已被檢舉為%{report_reasons} 而將其移除。
@@ -694,11 +629,6 @@ zh-TW:
694
629
  email_subject: 您的%{resource_type} 已被移除。
695
630
  notification_title: |-
696
631
  一位管理員因為 %{report_reasons} 的舉報,移除了您的%{resource_type}。</br> <i>%{resource_content}</i>
697
- resource_endorsed:
698
- email_intro: '%{endorser_name} %{endorser_nickname},您正在關注的用戶,剛剛為"%{resource_title}"進行了連署,我們認為這可能對您很有興趣。請查看並做出貢獻:'
699
- email_outro: 您收到此通知是因為您正在關注 %{endorser_nickname}。您可以點擊上方的連結停止接收通知。
700
- email_subject: "%{endorser_nickname} 進行了一個新的連署。"
701
- notification_title: <a href="%{resource_path}">%{resource_title}</a> 的 %{resource_type} 已被 <a href="%{endorser_path}">%{endorser_name} %{endorser_nickname}</a> 連署。
702
632
  users:
703
633
  profile_updated:
704
634
  email_intro: 你正在追蹤的 %{name}(%{nickname}) 的<a href="%{resource_path}">個人資料頁面</a>已被更新。
@@ -812,91 +742,11 @@ zh-TW:
812
742
  level: 等級 %{level}
813
743
  reached_top: 您已經達到此徽章的最高等級。
814
744
  title: 徽章是什麼?
815
- group_admins:
816
- actions:
817
- are_you_sure: 確定嗎?這將不會將該參與者從該組中移除。
818
- demote_admin: 移除管理員
819
- demote:
820
- error: 刪除此參與者的管理員名單時發生問題。
821
- success: 成功從管理員列表中刪除參與者.
822
- index:
823
- current_admins: '目前的管理員:'
824
- manage_admins: 管理管理員
825
- group_invites:
826
- accept:
827
- error: 這個邀請接受時發生問題。
828
- success: 邀請已成功接受.
829
- accept_invitation: 接受
830
- accept_or_reject_group_invitations: '以下群組已邀請您加入。請接受或拒絕他們的邀請:'
831
- index:
832
- invite: 邀請
833
- invite_user: 邀請一位參與者
834
- invite:
835
- error: 邀請參與者加入時發生問題.
836
- success: 成功邀請參與者.
837
- reject:
838
- error: 拒絕邀請時出現問題.
839
- success: 邀請已成功拒絕.
840
- reject_invitation: 拒絕
841
- group_members:
842
- accept:
843
- error: 加入請求接受時發生問題.
844
- success: 加入申請已成功接受.
845
- actions:
846
- are_you_sure: 您確定嗎?
847
- promote_to_admin: 設為管理員
848
- remove_from_group: 刪除該參與者
849
- index:
850
- current_members_without_admins: '當前成員 (不包括管理員):'
851
- manage_members: 管理成員
852
- promote:
853
- error: 提升這位參與者的權限時發生問題.
854
- success: 成功提升參與者權限.
855
- reject:
856
- error: 拒絕此加入請求時發生問題.
857
- success: 加入申請已被拒絕.
858
- remove:
859
- error: 將此參與者從群組中移除時發生問題.
860
- success: 已成功將參與者從群組中移除.
861
745
  groups:
862
- actions:
863
- are_you_sure: 您確定嗎?
864
- create:
865
- error: 在建立這個群組時發生問題.
866
- success: 分組已成功創建.
867
- edit:
868
- edit_user_group: 編輯群組
869
- update_user_group: 更新群組
870
- form:
871
- document_number_help: 不要使用破折号或空格.
872
- email_help: 組織、協會、集體、群組等的電子郵件地址。
873
- fill_in_for_verification: '如果您希望您的群組進行驗證,請填寫以下字段:'
874
- name_help: 您的組織、協會、集體、群組等的名稱。
875
- nickname_help: 您的組織、協會、集體、群組等的暱稱。請勿使用空格或重音符號。
876
- phone_help: 不要使用破折号或空格.
877
- join:
878
- error: 加入這個群組時發生問題.
879
- success: 加入請求已成功建立。管理員將在接受您加入該組之前審查您的請求。
880
- leave:
881
- error: 離開這個群組時發生問題.
882
- last_admin: 你無法從這個群組中移除自己,因為你是唯一的管理員。請先讓另一位成員成為管理員,然後才能離開該群組。
883
- success: 成功退出群組。
884
- members:
885
- accept_or_reject_join_requests: '以下使用者申請加入該群組。請接受或拒絕他們的申請:'
886
- accept_request: 接受
887
- reject_request: 拒絕
888
- new:
889
- create_user_group: 建立群組
890
- new_user_group: 新群組
891
- subtitle: 建立一個群組並邀請其他使用者加入,以便在集體層面上參與。
892
- no_user_groups: 尚未加入任何群組。
893
746
  roles:
894
747
  admin: 管理員
895
748
  creator: 管理員
896
749
  member: 成員
897
- update:
898
- error: 更新群組時,發生錯誤。
899
- success: 成功更新群組.
900
750
  help:
901
751
  main_topic:
902
752
  default_page:
@@ -946,37 +796,15 @@ zh-TW:
946
796
  static:
947
797
  latlng_text: '緯度:%{latitude},經度:%{longitude}'
948
798
  map_service_brand: 開放街圖
949
- members:
950
- no_members: 這個群組還沒有任何成員。
951
799
  menu:
952
800
  help: 幫助
953
801
  home: 首頁
954
802
  messaging:
955
803
  conversation_mailer:
956
- comanagers_new_conversation:
957
- admin_in_group: 您收到此通知是因為您是 %{group} 的管理員。
958
- greeting: 嗨, %{recipient}!
959
- intro: "%{manager} 以%{group} 的名義開始了一個新對話。點擊這裡查看:"
960
- subject: "%{manager} 以%{group} 的身份開始了一個新對話。"
961
- comanagers_new_message:
962
- admin_in_group: 您收到此通知是因為您是 %{group} 的管理員。
963
- greeting: 嗨, %{recipient}!
964
- intro: "%{manager} 以%{group} 的名義在一個對話中發佈了新訊息。點擊這裡查看它們:"
965
- subject: "%{manager} 以%{group} 的身份發送了新的訊息。點擊這裡查看它們:"
966
804
  new_conversation:
967
805
  greeting: 嗨, %{recipient}!
968
806
  intro: "%{sender} 與您開始了一個新的對話。點擊這裡查看它:"
969
807
  subject: "%{sender} 已與您開始對話"
970
- new_group_conversation:
971
- admin_in_group: 您收到此通知是因為您是 %{group} 的管理員。
972
- greeting: 嗨, %{recipient}!
973
- intro: "%{sender} 已與群組%{group} 開始了一個新的對話。點擊這裡查看:"
974
- subject: "%{sender} 已與%{group} 開始了一個對話"
975
- new_group_message:
976
- admin_in_group: 您收到此通知是因為您是 %{group} 的管理員。
977
- greeting: 嗨, %{recipient}!
978
- intro: "%{sender} 在與 %{group} 的對話中發表了新訊息。點擊這裡查看:"
979
- subject: "%{group} 收到了 %{sender} 的新訊息。"
980
808
  new_message:
981
809
  greeting: 嗨, %{recipient}!
982
810
  intro: "%{sender} 在您的對話中發布了新訊息。點擊這裡查看:"
@@ -1014,21 +842,6 @@ zh-TW:
1014
842
  send: 發送
1015
843
  update:
1016
844
  error: 由於錯誤,訊息未能傳送.
1017
- metrics:
1018
- download:
1019
- csv: 下載資料(CSV)
1020
- followers:
1021
- description: 追蹤此參與空間的參與者數量
1022
- object: 追隨者
1023
- title: 追隨者
1024
- participants:
1025
- description: 組織中活躍參與者的數量
1026
- object: 參與者
1027
- title: 參與者
1028
- users:
1029
- description: 組織中參與者的數量
1030
- object: 參與者
1031
- title: 參與者
1032
845
  newsletter_mailer:
1033
846
  newsletter:
1034
847
  no_reply_notice: 此封郵件是由無法接收傳入郵件的通知郵件地址發送的。請不要回覆此訊息。
@@ -1056,18 +869,15 @@ zh-TW:
1056
869
  main_image: 主圖片
1057
870
  newsletters:
1058
871
  unsubscribe:
1059
- check_subscription: 如果您想更改您的偏好設定,您可以在<a href="%{link}" target="_blank">配置頁面</a>進行更改。
1060
872
  error: 取消訂閱時發生問題.
1061
873
  success: 你已經成功取消訂閱
1062
874
  token_error: 該連結已過期。
1063
- unsubscribe: 取消訂閱
1064
875
  newsletters_opt_in:
1065
876
  update:
1066
877
  error: 儲存通訊設定時出現問題。
1067
878
  success: 成功更新電子報設定.
1068
879
  newsletters_opt_in_mailer:
1069
880
  notify:
1070
- body_1: 個人資料的處理和保護對我們所有人來說變得越來越重要。隨著2018年5月25日新的《通用數據保護條例》(GDPR)的出台,個人對其個人資料擁有更好的控制權。因此,我們需要您的「確認」,以繼續向您發送有關 %{organization_name} 活動的相關資訊。
1071
881
  body_2: '您如何給予我們您的同意?只需點擊下面的按鈕:'
1072
882
  body_3: 通過此同意,您將能夠繼續接收有關平台服務的資訊。如果您沒有給予積極的確認,我們將停止向您發送訊息。如果您確認希望繼續收到資訊,您隨時可以選擇取消訂閱。
1073
883
  button: 是的,我希望繼續接收相關資訊。
@@ -1148,8 +958,6 @@ zh-TW:
1148
958
  participate: 參與
1149
959
  participate_title: 參與平台的流程
1150
960
  welcome: 歡迎來到 %{organization}!
1151
- statistics:
1152
- headline: '%{organization} 的目前狀態'
1153
961
  sub_hero:
1154
962
  register: 註冊
1155
963
  index:
@@ -1157,10 +965,6 @@ zh-TW:
1157
965
  subheading: 瀏覽 %{name} 的幫助頁面
1158
966
  title: 幫助
1159
967
  topics: 主題
1160
- participatory_space:
1161
- metrics:
1162
- headline: 指標
1163
- link: 顯示所有指標
1164
968
  terms_of_service:
1165
969
  accept:
1166
970
  error: 接受服務條款時出現問題。
@@ -1186,7 +990,6 @@ zh-TW:
1186
990
  deleted: 已刪除的參與者
1187
991
  inaccessible_message: 由於違反服務條款,此個人資料無法存取!
1188
992
  profiles:
1189
- default_officialization_text_for_user_groups: 這個社群已公開驗證,其名稱已經被證實符合其真實名稱。
1190
993
  default_officialization_text_for_users: 這個參與者已經公開驗證,其名稱或角色已被證實與其真實名稱或角色相符。
1191
994
  show:
1192
995
  activity: 啟動
@@ -1194,26 +997,13 @@ zh-TW:
1194
997
  conversations: 對話
1195
998
  followers: 追隨者
1196
999
  following: 關注
1197
- group_admins: 管理管理員
1198
- group_members: 管理成員
1199
- groups: 群組
1200
- members: 成員
1201
1000
  officialized: 正式認證參與者
1202
1001
  send_private_message: 發送私人訊息
1203
1002
  user:
1204
1003
  actions:
1205
- create_user_group: 建立群組
1206
1004
  edit_profile: 編輯個人資料
1207
- edit_user_group: 編輯群組資料
1208
- invite_user: 邀請參與者
1209
- join_user_group: 申請加入群組
1210
- leave_user_group: 退出群組
1211
- manage_user_group_admins: 管理管理員
1212
- manage_user_group_users: 管理成員
1213
1005
  message: 訊息
1214
1006
  resend_email_confirmation_instructions: 重新發送電子郵件確認指示
1215
- confirmation_instructions_sent: 電子郵件確認指示已發送.
1216
- fill_in_email_to_confirm_it: 請填寫您的群組電子郵件以進行確認.
1217
1007
  reported_mailer:
1218
1008
  report:
1219
1009
  authors: 作者
@@ -1231,15 +1021,11 @@ zh-TW:
1231
1021
  reports:
1232
1022
  create:
1233
1023
  success: 報告已成功建立,將由管理員進行審查。
1234
- resource_endorsements:
1235
- create:
1236
- error: 在連署操作過程中出現問題。
1237
1024
  scopes:
1238
1025
  global: 全域範圍
1239
1026
  prompt: 選擇一個範圍
1240
1027
  search:
1241
1028
  results: 搜尋結果
1242
- results_found_for_term: '搜尋結果:%{term}(共找到 %{count} 個結果)'
1243
1029
  term_input_placeholder: 搜尋
1244
1030
  searches:
1245
1031
  filters:
@@ -1264,9 +1050,6 @@ zh-TW:
1264
1050
  close_modal: 關閉視窗
1265
1051
  ok: 好的
1266
1052
  title: 確認
1267
- extended_navigation_bar:
1268
- more: 更多
1269
- unfold: 展開
1270
1053
  filter_form_help:
1271
1054
  help: 下方的表單會在搜尋條件變更時動態篩選搜尋結果。
1272
1055
  skip: 跳到結果
@@ -1298,9 +1081,6 @@ zh-TW:
1298
1081
  public_participation: 公開展示我的出席情況。
1299
1082
  reference:
1300
1083
  reference: '參考資料: %{reference}'
1301
- represent_user_group:
1302
- represent_user_group: 我代表一個群組。
1303
- select_user_group: 選擇一個群組
1304
1084
  results_per_page:
1305
1085
  label: '每頁顯示的結果:'
1306
1086
  title: 選擇每頁的結果數量
@@ -1314,7 +1094,6 @@ zh-TW:
1314
1094
  share_to: 分享至 %{service}
1315
1095
  statistics:
1316
1096
  comments_count: 評論
1317
- endorsements_count: 連署
1318
1097
  followers_count: 追隨者
1319
1098
  headline: 統計資料
1320
1099
  no_stats: 目前還沒有統計資料。
@@ -1330,19 +1109,8 @@ zh-TW:
1330
1109
  no_activities_warning: 這個參與者還沒有任何活動。
1331
1110
  user_contact_disabled: 該參與者不接受直接訊息。
1332
1111
  user_conversations:
1333
- create:
1334
- error: 訊息無法建立。請稍後再試。
1335
- existing_error: 無法建立訊息。該對話已存在,請現在重試。
1336
- success: 對話成功開始!
1337
1112
  index:
1338
- conversations_info: 對話是私密的,沒有其他人可以看到。可以與平台上註冊的任何參與者或群組開始對話。
1339
- no_conversations_warning: 目前還沒有任何對話。
1340
1113
  time_ago: "%{time} 之前"
1341
- reply:
1342
- placeholder: 您的回覆...
1343
- send: 發送
1344
- update:
1345
- error: 訊息未送出,請稍後再試。
1346
1114
  user_report_mailer:
1347
1115
  notify:
1348
1116
  body_1: 使用者 %{user} 已被 %{token} 舉報。
@@ -1601,7 +1369,6 @@ zh-TW:
1601
1369
  impersonation_warning:
1602
1370
  close_session: 關閉階段
1603
1371
  description_html: 您正在管理參與者 <b>%{user_name}</b>。
1604
- expire_time_html: 您的會話將在 <b><span class="minutes">%{minutes}</span> 分鐘內過期</b>。
1605
1372
  language_chooser:
1606
1373
  choose_language: 選擇語言
1607
1374
  notifications_dashboard:
@@ -1633,7 +1400,6 @@ zh-TW:
1633
1400
  my_data: 我的資料
1634
1401
  notifications_settings: 通知設定
1635
1402
  title: 參與者設定
1636
- user_groups: 群組
1637
1403
  locale:
1638
1404
  name: 英文
1639
1405
  name_with_error: 英文 (錯誤!)
data/config/routes.rb CHANGED
@@ -39,14 +39,6 @@ Decidim::Core::Engine.routes.draw do
39
39
  get :cancel
40
40
  end
41
41
 
42
- devise_for :user_groups,
43
- class_name: "Decidim::UserGroup",
44
- module: :devise,
45
- router_name: :decidim,
46
- controllers: {
47
- confirmations: "decidim/devise/confirmations"
48
- }
49
-
50
42
  devise_scope :user do
51
43
  post "omniauth_registrations" => "devise/omniauth_registrations#create"
52
44
  end
@@ -82,7 +74,6 @@ Decidim::Core::Engine.routes.draw do
82
74
  end
83
75
  end
84
76
  resource :notifications_settings, only: [:show, :update], controller: "notifications_settings"
85
- resources :own_user_groups, only: [:index]
86
77
 
87
78
  get "/newsletters_opt_in/:token", to: "newsletters_opt_in#update", as: :newsletters_opt_in
88
79
 
@@ -101,24 +92,6 @@ Decidim::Core::Engine.routes.draw do
101
92
  to: "free_resource_authorization_modals#show",
102
93
  as: :free_resource_authorization_modal
103
94
  )
104
-
105
- resources :groups, except: [:destroy, :index, :show] do
106
- resources :join_requests, only: [:create, :update, :destroy], controller: "user_group_join_requests"
107
- resources :invites, only: [:index, :create, :update, :destroy], controller: "group_invites"
108
- resources :users, only: [:destroy], controller: "group_members", as: "manage_users" do
109
- member do
110
- post :promote
111
- end
112
- member do
113
- post :demote
114
- end
115
- end
116
- resource :email_confirmation, only: [:create], controller: "group_email_confirmations"
117
-
118
- member do
119
- delete :leave
120
- end
121
- end
122
95
  end
123
96
 
124
97
  resources :profiles, only: [:show], param: :nickname, constraints: { nickname: %r{[^/]+} }, format: false
@@ -126,13 +99,7 @@ Decidim::Core::Engine.routes.draw do
126
99
  get "following", to: "profiles#following", as: "profile_following"
127
100
  get "followers", to: "profiles#followers", as: "profile_followers"
128
101
  get "badges", to: "profiles#badges", as: "profile_badges"
129
- get "groups", to: "profiles#groups", as: "profile_groups"
130
- get "members", to: "profiles#members", as: "profile_members"
131
- get "group_members", to: "profiles#group_members", as: "profile_group_members"
132
- get "group_admins", to: "profiles#group_admins", as: "profile_group_admins"
133
102
  get "activity", to: "user_activities#index", as: "profile_activity"
134
- get "tooltip", to: "profiles#tooltip", as: "profile_tooltip"
135
- resources :conversations, except: [:destroy], controller: "user_conversations", as: "profile_conversations"
136
103
  end
137
104
 
138
105
  scope :timeouts do
@@ -143,8 +110,10 @@ Decidim::Core::Engine.routes.draw do
143
110
  resources :pages, only: [:index, :show], format: false
144
111
 
145
112
  get "/search", to: "searches#index", as: :search
113
+ get "/resource_autocomplete", to: "resource_autocomplete#index", as: :resource_autocomplete
146
114
 
147
115
  get "/link", to: "links#new", as: :link
116
+ get "/qr-code", to: "qr#show", as: :qr
148
117
 
149
118
  get "/static_map", to: "static_map#show", as: :static_map
150
119
  put "/pages/terms-of-service/accept", to: "tos#accept_tos", as: :accept_tos
@@ -159,9 +128,7 @@ Decidim::Core::Engine.routes.draw do
159
128
  resource :follow, only: [:create, :destroy]
160
129
  resource :report, only: [:create]
161
130
  resource :report_user, only: [:create]
162
- resources :endorsements, only: [:create, :destroy] do
163
- get :identities, on: :member
164
- end
131
+ resources :likes, only: [:create, :destroy]
165
132
  resources :amends, only: [:new, :reject, :accept], controller: :amendments do
166
133
  collection do
167
134
  post :create
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ class ConvertUserGroupsIntoUsers < ActiveRecord::Migration[7.0]
4
+ class User < ApplicationRecord
5
+ self.table_name = "decidim_users"
6
+ self.inheritance_column = nil
7
+
8
+ scope :new_group, -> { where("extended_data @> ?", Arel.sql({ group: true }.to_json)) }
9
+ scope :old_group, -> { where(type: "Decidim::UserGroup") }
10
+
11
+ def verified_at
12
+ extended_data["verified_at"]
13
+ end
14
+ end
15
+
16
+ class UserGroup < ApplicationRecord
17
+ self.table_name = "decidim_users"
18
+ self.inheritance_column = nil
19
+ end
20
+
21
+ # rubocop:disable Rails/SkipsModelValidations
22
+ def up
23
+ User.old_group.find_each do |group|
24
+ group.update_attribute(:extended_data, (group.extended_data || {}).merge("group" => true))
25
+ group.update_attribute(:type, "Decidim::User")
26
+ group.update_attribute(:officialized_at, group.verified_at) if group.verified_at.present?
27
+ end
28
+ end
29
+
30
+ def down
31
+ User.new_group.find_each do |group|
32
+ group.update_attribute(:officialized_at, nil)
33
+ group.update_attribute(:type, "Decidim::UserGroup")
34
+ group.update_attribute(:extended_data, (group.extended_data || {}).except("group"))
35
+ end
36
+ end
37
+ # rubocop:enable Rails/SkipsModelValidations
38
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddUserTypeToActionLogs < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_action_logs, :user_type, :string, default: "Decidim::User", null: false
6
+
7
+ rename_column :decidim_action_logs, :decidim_user_id, :user_id
8
+ add_index :decidim_action_logs,
9
+ [:user_id, :user_type],
10
+ name: "index_decidim_action_log_on_users"
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimApiJwtDenylist < ActiveRecord::Migration[7.0]
4
+ def change
5
+ create_table :decidim_api_jwt_denylists do |t|
6
+ t.string :jti, null: false
7
+ t.datetime :exp, null: false
8
+ end
9
+ add_index :decidim_api_jwt_denylists, :jti
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddApiKeyToDecidimApiUser < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :decidim_users, :api_key, :string
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveMetricsContentBlocks < ActiveRecord::Migration[7.0]
4
+ def up
5
+ Decidim::ContentBlock.where(manifest_name: "metrics").destroy_all
6
+ end
7
+
8
+ def down; end
9
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ class EnablePkce < ActiveRecord::Migration[7.0]
4
+ def change
5
+ add_column :oauth_access_grants, :code_challenge, :string, null: true
6
+ add_column :oauth_access_grants, :code_challenge_method, :string, null: true
7
+ end
8
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RenameDoorkeeperScopes < ActiveRecord::Migration[7.0]
4
+ def up
5
+ tables.each { |table| update_scopes(table, "profile", "public") }
6
+ end
7
+
8
+ def down
9
+ tables.each { |table| update_scopes(table, "public", "profile") }
10
+ end
11
+
12
+ private
13
+
14
+ def update_scopes(table, new_value, old_value)
15
+ tbl = Arel::Table.new(table)
16
+ um = Arel::UpdateManager.new(tbl)
17
+ um.set([[tbl[:scopes], new_value]])
18
+ um.where(tbl[:scopes].eq(old_value))
19
+ execute um.to_sql
20
+ end
21
+
22
+ def tables
23
+ [:oauth_applications, :oauth_access_grants, :oauth_access_tokens]
24
+ end
25
+ end