decidim-core 0.31.5 → 0.32.0.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -13
  3. data/app/cells/decidim/amendable/amend_button_card_cell.rb +1 -1
  4. data/app/cells/decidim/content_blocks/announcement_settings_form/show.erb +5 -0
  5. data/app/cells/decidim/content_blocks/announcement_settings_form_cell.rb +17 -0
  6. data/app/cells/decidim/content_blocks/how_to_participate/show.erb +1 -1
  7. data/app/cells/decidim/content_blocks/participatory_space_announcement_cell.rb +1 -3
  8. data/app/cells/decidim/content_blocks/participatory_space_hero_cell.rb +1 -5
  9. data/app/cells/decidim/{participatory_space_private_user_cell.rb → member_cell.rb} +1 -1
  10. data/app/cells/decidim/onboarding_action_message_cell.rb +1 -0
  11. data/app/cells/decidim/profile/details.erb +1 -1
  12. data/app/cells/decidim/profile_cell.rb +1 -0
  13. data/app/cells/decidim/profile_member_of/show.erb +13 -0
  14. data/app/cells/decidim/profile_member_of_cell.rb +35 -0
  15. data/app/cells/decidim/tags_cell.rb +1 -1
  16. data/app/cells/decidim/versions_list/show.erb +25 -0
  17. data/app/commands/decidim/create_follow.rb +3 -5
  18. data/app/commands/decidim/create_user_report.rb +1 -1
  19. data/app/commands/decidim/destroy_account.rb +3 -3
  20. data/app/commands/decidim/search.rb +5 -5
  21. data/app/controllers/concerns/decidim/ajax_permission_handler.rb +1 -1
  22. data/app/controllers/concerns/decidim/direct_upload.rb +3 -2
  23. data/app/controllers/concerns/decidim/ephemeral_session_checker.rb +1 -1
  24. data/app/controllers/concerns/decidim/force_authentication.rb +10 -1
  25. data/app/controllers/concerns/decidim/impersonate_users.rb +4 -0
  26. data/app/controllers/concerns/decidim/locale_switcher.rb +52 -2
  27. data/app/controllers/concerns/decidim/needs_tos_accepted.rb +1 -1
  28. data/app/controllers/concerns/decidim/participatory_space/has_members_page.rb +27 -0
  29. data/app/controllers/concerns/decidim/participatory_space_context.rb +1 -5
  30. data/app/controllers/decidim/account_controller.rb +1 -1
  31. data/app/controllers/decidim/amendments_controller.rb +5 -4
  32. data/app/controllers/decidim/components/base_controller.rb +20 -3
  33. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +1 -1
  34. data/app/controllers/decidim/devise/passwords_controller.rb +1 -1
  35. data/app/controllers/decidim/devise/registrations_controller.rb +1 -1
  36. data/app/controllers/decidim/devise/sessions_controller.rb +1 -1
  37. data/app/controllers/decidim/download_your_data_controller.rb +1 -1
  38. data/app/controllers/decidim/editor_images_controller.rb +1 -1
  39. data/app/controllers/decidim/follows_controller.rb +4 -3
  40. data/app/controllers/decidim/geolocation_controller.rb +1 -1
  41. data/app/controllers/decidim/likes_controller.rb +2 -1
  42. data/app/controllers/decidim/locales_controller.rb +3 -11
  43. data/app/controllers/decidim/messaging/conversations_controller.rb +3 -3
  44. data/app/controllers/decidim/newsletters_controller.rb +1 -1
  45. data/app/controllers/decidim/notifications_settings_controller.rb +1 -1
  46. data/app/controllers/decidim/notifications_subscriptions_controller.rb +1 -1
  47. data/app/controllers/decidim/open_data_controller.rb +1 -1
  48. data/app/controllers/decidim/report_users_controller.rb +2 -2
  49. data/app/controllers/decidim/reports_controller.rb +1 -1
  50. data/app/controllers/decidim/user_activities_controller.rb +1 -2
  51. data/app/events/decidim/welcome_notification_event.rb +1 -1
  52. data/app/forms/decidim/upload_validation_form.rb +1 -1
  53. data/app/helpers/concerns/decidim/flash_helper_extensions.rb +1 -0
  54. data/app/helpers/decidim/active_link_to_helper.rb +136 -0
  55. data/app/helpers/decidim/amendments_helper.rb +3 -3
  56. data/app/helpers/decidim/check_boxes_tree_helper.rb +2 -2
  57. data/app/helpers/decidim/component_path_helper.rb +9 -4
  58. data/app/helpers/decidim/filters_helper.rb +0 -2
  59. data/app/helpers/decidim/menu_helper.rb +3 -3
  60. data/app/helpers/decidim/meta_tags_helper.rb +0 -2
  61. data/app/helpers/decidim/paginate_helper.rb +14 -1
  62. data/app/helpers/decidim/sanitize_helper.rb +1 -0
  63. data/app/helpers/decidim/short_link_helper.rb +5 -5
  64. data/app/helpers/decidim/translations_helper.rb +4 -4
  65. data/app/jobs/decidim/delete_inactive_participants_job.rb +2 -2
  66. data/app/mailers/decidim/application_mailer.rb +7 -2
  67. data/app/mailers/decidim/decidim_devise_mailer.rb +1 -0
  68. data/app/mailers/decidim/reported_mailer.rb +4 -1
  69. data/app/models/decidim/action_log.rb +1 -1
  70. data/app/models/decidim/attachment.rb +2 -2
  71. data/app/models/decidim/authorization_transfer.rb +1 -1
  72. data/app/models/decidim/component.rb +6 -9
  73. data/app/models/decidim/content_block.rb +3 -3
  74. data/app/models/decidim/newsletter.rb +2 -2
  75. data/app/models/decidim/participatory_space/member.rb +55 -0
  76. data/app/models/decidim/resource_link.rb +1 -1
  77. data/app/models/decidim/short_link.rb +1 -1
  78. data/app/packs/src/decidim/controllers/assign_role/assign_role.test.js +80 -0
  79. data/app/packs/src/decidim/controllers/assign_role/controller.js +27 -0
  80. data/app/packs/src/decidim/controllers/main_menu/controller.js +115 -0
  81. data/app/packs/src/decidim/controllers/main_menu/main_menu.test.js +185 -0
  82. data/app/packs/src/decidim/datepicker/generate_datepicker.js +1 -13
  83. data/app/packs/src/decidim/editor/common/suggestion.js +1 -1
  84. data/app/packs/src/decidim/editor/extensions/decidim_kit/index.js +4 -1
  85. data/app/packs/src/decidim/editor/extensions/image/index.js +8 -5
  86. data/app/packs/src/decidim/editor/extensions/link/index.js +8 -0
  87. data/app/packs/src/decidim/editor/extensions/mention/index.js +18 -5
  88. data/app/packs/src/decidim/editor/extensions/mention_resource/index.js +16 -7
  89. data/app/packs/src/decidim/editor/test/extensions/decidim_kit.test.js +13 -4
  90. data/app/packs/src/decidim/editor/test/extensions/heading.test.js +1 -1
  91. data/app/packs/src/decidim/editor/test/extensions/image.test.js +26 -28
  92. data/app/packs/src/decidim/editor/test/extensions/mention.test.js +6 -2
  93. data/app/packs/src/decidim/editor/test/extensions/video_embed.test.js +27 -15
  94. data/app/packs/src/decidim/editor/test/helpers.js +8 -10
  95. data/app/packs/src/decidim/editor/test/toolbar/full.test.js +15 -4
  96. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_block.js +8 -4
  97. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_formatting.js +5 -1
  98. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_indent.js +9 -5
  99. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_link.js +5 -1
  100. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_list.js +8 -4
  101. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_basic_styling.js +13 -9
  102. data/app/packs/src/decidim/editor/test/toolbar/shared/behaves_like_content_styling.js +6 -2
  103. data/app/packs/src/decidim/index.js +0 -1
  104. data/app/packs/stylesheets/decidim/_cards.scss +2 -1
  105. data/app/packs/stylesheets/decidim/_datepicker.scss +0 -8
  106. data/app/packs/stylesheets/decidim/_dropdown.scss +21 -31
  107. data/app/packs/stylesheets/decidim/_footer.scss +0 -36
  108. data/app/packs/stylesheets/decidim/_forms.scss +5 -1
  109. data/app/packs/stylesheets/decidim/_header.scss +148 -46
  110. data/app/packs/stylesheets/decidim/_language_chooser.scss +79 -0
  111. data/app/packs/stylesheets/decidim/application.scss +1 -0
  112. data/app/presenters/decidim/admin_log/participatory_space/member_presenter.rb +40 -0
  113. data/app/presenters/decidim/admin_log/static_page_resource_presenter.rb +1 -1
  114. data/app/presenters/decidim/authorization_transfer_presenter.rb +1 -1
  115. data/app/presenters/decidim/breadcrumb_root_menu_item_presenter.rb +3 -3
  116. data/app/presenters/decidim/log/user_presenter.rb +1 -0
  117. data/app/presenters/decidim/log/value_types/access_mode_presenter.rb +45 -0
  118. data/app/presenters/decidim/participatory_space/member_presenter.rb +48 -0
  119. data/app/presenters/decidim/resource_locator_presenter.rb +22 -3
  120. data/app/queries/decidim/last_activity.rb +1 -1
  121. data/app/serializers/decidim/exporters/participatory_space_serializer.rb +15 -1
  122. data/app/services/decidim/email_notification_generator.rb +2 -0
  123. data/app/services/decidim/notification_generator.rb +4 -0
  124. data/app/uploaders/decidim/organization_favicon_uploader.rb +4 -9
  125. data/app/validators/uploader_image_dimensions_validator.rb +13 -11
  126. data/app/views/decidim/homepage/show.html.erb +1 -1
  127. data/app/views/decidim/messaging/conversations/_new_conversation_button.html.erb +1 -1
  128. data/app/views/decidim/messaging/conversations/_reply.html.erb +1 -1
  129. data/app/views/decidim/messaging/conversations/new.html.erb +1 -1
  130. data/app/views/decidim/messaging/conversations/show.html.erb +2 -2
  131. data/app/views/decidim/participatory_space/members/_member.html.erb +1 -0
  132. data/app/views/decidim/shared/_results_per_page.html.erb +1 -1
  133. data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -1
  134. data/app/views/decidim/shared/filters/_dropdown_label.html.erb +4 -3
  135. data/app/views/devise/mailer/{invite_private_user.html.erb → invite_member.html.erb} +2 -2
  136. data/app/views/devise/mailer/{invite_private_user.text.erb → invite_member.text.erb} +2 -2
  137. data/app/views/layouts/decidim/_head.html.erb +2 -2
  138. data/app/views/layouts/decidim/_wrapper.html.erb +1 -1
  139. data/app/views/layouts/decidim/footer/_focus_mode_main.html.erb +0 -1
  140. data/app/views/layouts/decidim/footer/_main.html.erb +0 -1
  141. data/app/views/layouts/decidim/header/_focus_mode_back_button.html.erb +4 -1
  142. data/app/views/layouts/decidim/header/_main.html.erb +17 -8
  143. data/app/views/layouts/decidim/header/_main_language_chooser.html.erb +24 -0
  144. data/app/views/layouts/decidim/header/_main_links_desktop.html.erb +56 -56
  145. data/app/views/layouts/decidim/header/_main_links_mobile_account.html.erb +2 -2
  146. data/app/views/layouts/decidim/header/_main_links_mobile_item_account.html.erb +3 -1
  147. data/app/views/layouts/decidim/header/_main_menu_mobile.html.erb +18 -5
  148. data/app/views/layouts/decidim/header/_main_search.html.erb +3 -3
  149. data/app/views/layouts/decidim/header/_menu.html.erb +5 -5
  150. data/app/views/layouts/decidim/header/_menu_breadcrumb_desktop.html.erb +13 -12
  151. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile.html.erb +28 -0
  152. data/config/initializers/invisible_captcha.rb +1 -0
  153. data/config/locales/ar.yml +3 -10
  154. data/config/locales/bg.yml +3 -10
  155. data/config/locales/ca-IT.yml +33 -19
  156. data/config/locales/ca.yml +33 -19
  157. data/config/locales/cs.yml +22 -19
  158. data/config/locales/de.yml +13 -18
  159. data/config/locales/el.yml +3 -7
  160. data/config/locales/en.yml +33 -19
  161. data/config/locales/es-MX.yml +33 -19
  162. data/config/locales/es-PY.yml +33 -19
  163. data/config/locales/es.yml +33 -19
  164. data/config/locales/eu.yml +33 -19
  165. data/config/locales/fi-plain.yml +33 -19
  166. data/config/locales/fi.yml +33 -19
  167. data/config/locales/fr-CA.yml +33 -19
  168. data/config/locales/fr.yml +33 -19
  169. data/config/locales/ga-IE.yml +3 -1
  170. data/config/locales/gl.yml +3 -7
  171. data/config/locales/hu.yml +3 -10
  172. data/config/locales/id-ID.yml +3 -7
  173. data/config/locales/it.yml +3 -10
  174. data/config/locales/ja.yml +18 -19
  175. data/config/locales/lb.yml +3 -8
  176. data/config/locales/lt.yml +3 -10
  177. data/config/locales/lv.yml +3 -7
  178. data/config/locales/nl.yml +3 -8
  179. data/config/locales/no.yml +3 -8
  180. data/config/locales/pl.yml +3 -10
  181. data/config/locales/pt-BR.yml +17 -19
  182. data/config/locales/pt.yml +3 -8
  183. data/config/locales/ro-RO.yml +10 -18
  184. data/config/locales/ru.yml +0 -6
  185. data/config/locales/sk.yml +33 -19
  186. data/config/locales/sv.yml +33 -19
  187. data/config/locales/tr-TR.yml +3 -8
  188. data/config/locales/uk.yml +0 -3
  189. data/config/locales/zh-CN.yml +3 -7
  190. data/config/locales/zh-TW.yml +3 -8
  191. data/config/routes.rb +139 -76
  192. data/db/data/20251213075429_rename_members_in_action_log.rb +22 -0
  193. data/db/data/20260319145808_rename_send_to_members_in_newsletter.rb +27 -0
  194. data/db/migrate/20200730142511_add_file_upload_settings_to_decidim_organizations.rb +13 -15
  195. data/db/migrate/20250523104311_move_cta_to_hero_content_block.rb +1 -1
  196. data/db/migrate/20250527122040_move_highlighted_content_banner_settings_to_content_block.rb +1 -1
  197. data/db/migrate/20250819110800_convert_private_exports_id_to_uuid.rb +2 -2
  198. data/db/migrate/20251112132305_remove_legacy_images_from_core_module.rb +27 -0
  199. data/db/migrate/20251205122428_rename_participatory_space_private_users_to_members.rb +9 -0
  200. data/db/migrate/20251216185133_rename_privatable_to_to_participatory_space_in_members.rb +10 -0
  201. data/db/migrate/20260208201405_remove_user_group_core.rb +21 -0
  202. data/db/migrate/20260208201406_remove_user_group_memberships.rb +30 -0
  203. data/db/migrate/20260208201407_remove_user_group_organizations.rb +11 -0
  204. data/db/migrate/20260217152425_remove_enable_participatory_space_filters_from_decidim_organizations.rb +7 -0
  205. data/db/migrate/20260314081619_add_index_on_decidim_members.rb +25 -0
  206. data/decidim-core.gemspec +25 -28
  207. data/lib/decidim/acts_as_tree.rb +12 -12
  208. data/lib/decidim/admin_filters_registry.rb +1 -1
  209. data/lib/decidim/amendable.rb +5 -1
  210. data/lib/decidim/api/functions/category_list.rb +1 -0
  211. data/lib/decidim/api/functions/component_finder_base.rb +1 -1
  212. data/lib/decidim/api/functions/component_list.rb +3 -1
  213. data/lib/decidim/api/functions/component_list_base.rb +1 -0
  214. data/lib/decidim/api/functions/participatory_space_finder_base.rb +1 -1
  215. data/lib/decidim/api/functions/participatory_space_list_base.rb +1 -0
  216. data/lib/decidim/api/functions/user_entity_list.rb +0 -1
  217. data/lib/decidim/api/interfaces/amendable_entity_interface.rb +1 -0
  218. data/lib/decidim/api/interfaces/amendable_interface.rb +1 -0
  219. data/lib/decidim/api/interfaces/attachable_collection_interface.rb +1 -0
  220. data/lib/decidim/api/interfaces/attachable_interface.rb +1 -0
  221. data/lib/decidim/api/interfaces/author_interface.rb +2 -1
  222. data/lib/decidim/api/interfaces/authorable_interface.rb +1 -0
  223. data/lib/decidim/api/interfaces/categories_container_interface.rb +1 -0
  224. data/lib/decidim/api/interfaces/categorizable_interface.rb +1 -0
  225. data/lib/decidim/api/interfaces/coauthorable_interface.rb +1 -0
  226. data/lib/decidim/api/interfaces/component_interface.rb +9 -8
  227. data/lib/decidim/api/interfaces/fingerprint_interface.rb +1 -0
  228. data/lib/decidim/api/interfaces/followable_interface.rb +2 -0
  229. data/lib/decidim/api/interfaces/likeable_interface.rb +2 -2
  230. data/lib/decidim/api/interfaces/localizable_interface.rb +1 -0
  231. data/lib/decidim/api/interfaces/participatory_space_interface.rb +1 -0
  232. data/lib/decidim/api/interfaces/referable_interface.rb +1 -0
  233. data/lib/decidim/api/interfaces/scopable_interface.rb +1 -0
  234. data/lib/decidim/api/interfaces/taxonomizable_interface.rb +1 -0
  235. data/lib/decidim/api/interfaces/timestamps_interface.rb +1 -0
  236. data/lib/decidim/api/interfaces/traceable_interface.rb +1 -0
  237. data/lib/decidim/api/types/attachment_collection_type.rb +5 -3
  238. data/lib/decidim/api/types/attachment_type.rb +11 -4
  239. data/lib/decidim/api/types/badge_score_type.rb +28 -0
  240. data/lib/decidim/api/types/moderation_type.rb +25 -0
  241. data/lib/decidim/api/types/participant_details_type.rb +17 -0
  242. data/lib/decidim/api/types/reportable_type.rb +18 -0
  243. data/lib/decidim/api/types/reportable_user_type.rb +17 -0
  244. data/lib/decidim/api/types/static_page_topic_type.rb +16 -0
  245. data/lib/decidim/api/types/static_page_type.rb +22 -0
  246. data/lib/decidim/api/types/taxonomy_type.rb +2 -0
  247. data/lib/decidim/api/types/user_moderation_type.rb +36 -0
  248. data/lib/decidim/api/types/user_type.rb +13 -0
  249. data/lib/decidim/asset_router/pipeline.rb +1 -1
  250. data/lib/decidim/asset_router/storage.rb +9 -9
  251. data/lib/decidim/assets/tailwind/tailwind.config.js.erb +3 -0
  252. data/lib/decidim/attribute_encryptor.rb +51 -10
  253. data/lib/decidim/attribute_object/model.rb +0 -5
  254. data/lib/decidim/block_registry.rb +1 -1
  255. data/lib/decidim/coauthorable.rb +2 -1
  256. data/lib/decidim/command.rb +1 -0
  257. data/lib/decidim/content_processor.rb +1 -1
  258. data/lib/decidim/core/api.rb +8 -0
  259. data/lib/decidim/core/content_blocks/registry_manager.rb +0 -6
  260. data/lib/decidim/core/engine.rb +2 -34
  261. data/lib/decidim/core/menu.rb +0 -26
  262. data/lib/decidim/core/test/factories.rb +29 -18
  263. data/lib/decidim/core/test/shared_examples/access_mode_restricted_participatory_spaces.rb +172 -0
  264. data/lib/decidim/core/test/shared_examples/access_mode_transparent_participatory_spaces.rb +241 -0
  265. data/lib/decidim/core/test/shared_examples/comments_examples.rb +115 -111
  266. data/lib/decidim/core/test/shared_examples/fingerprint_examples.rb +2 -0
  267. data/lib/decidim/core/test/shared_examples/has_members.rb +63 -0
  268. data/lib/decidim/core/test/shared_examples/manage_share_tokens_examples.rb +1 -1
  269. data/lib/decidim/core/test/shared_examples/map_examples.rb +1 -1
  270. data/lib/decidim/core/test/shared_examples/participant_details_examples.rb +16 -0
  271. data/lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb +10 -10
  272. data/lib/decidim/core/test/shared_examples/resource_liked_event_examples.rb +1 -1
  273. data/lib/decidim/core/test/shared_examples/resource_locator_presenter_examples.rb +7 -7
  274. data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +3 -3
  275. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +2 -2
  276. data/lib/decidim/core/test/shared_examples/simple_event.rb +1 -0
  277. data/lib/decidim/core/test/shared_examples/translated_event_examples.rb +2 -2
  278. data/lib/decidim/core/test/shared_examples/versions_controller_examples.rb +1 -1
  279. data/lib/decidim/core/test.rb +2 -1
  280. data/lib/decidim/core/version.rb +1 -1
  281. data/lib/decidim/core.rb +222 -335
  282. data/lib/decidim/download_your_data_serializers/{download_your_data_participatory_space_private_user_serializer.rb → download_your_data_member_serializer.rb} +6 -6
  283. data/lib/decidim/download_your_data_serializers.rb +2 -2
  284. data/lib/decidim/engine_router.rb +31 -6
  285. data/lib/decidim/exporters/csv.rb +1 -1
  286. data/lib/decidim/filter_form_builder.rb +1 -1
  287. data/{app/controllers/concerns → lib}/decidim/form_factory.rb +11 -1
  288. data/lib/decidim/has_settings.rb +2 -2
  289. data/lib/decidim/legacy_form_builder.rb +1 -0
  290. data/lib/decidim/locale_router_detector.rb +41 -0
  291. data/lib/decidim/maintenance/import_models/scope.rb +1 -1
  292. data/lib/decidim/maintenance/import_models.rb +0 -2
  293. data/lib/decidim/map/frontend.rb +1 -1
  294. data/lib/decidim/map/geocoding.rb +2 -2
  295. data/lib/decidim/map/static_map.rb +10 -22
  296. data/lib/decidim/map/utility.rb +3 -6
  297. data/lib/decidim/map.rb +2 -2
  298. data/lib/decidim/menu.rb +1 -1
  299. data/lib/decidim/menu_item.rb +1 -0
  300. data/lib/decidim/menu_registry.rb +1 -1
  301. data/lib/decidim/moderation_tools.rb +1 -1
  302. data/lib/decidim/newsletter_encryptor.rb +5 -8
  303. data/lib/decidim/organization_settings.rb +2 -2
  304. data/lib/decidim/participable.rb +1 -0
  305. data/lib/decidim/participatory_space/has_members.rb +61 -0
  306. data/lib/decidim/participatory_space_manifest.rb +0 -4
  307. data/lib/decidim/participatory_space_resourceable.rb +10 -1
  308. data/lib/decidim/routes/locale_redirects.rb +47 -0
  309. data/lib/decidim/routes.rb +7 -0
  310. data/lib/decidim/search_resource_fields_mapper.rb +3 -4
  311. data/lib/decidim/seeds.rb +17 -0
  312. data/lib/decidim/shakapacker/runner.rb +4 -4
  313. data/lib/decidim/shakapacker/shakapacker.yml +28 -3
  314. data/lib/decidim/taxonomizable.rb +1 -1
  315. data/lib/decidim/translatable_attributes.rb +9 -3
  316. data/lib/decidim/view_model.rb +4 -0
  317. data/lib/devise/models/decidim_newsletterable.rb +1 -1
  318. data/lib/tasks/decidim_procfile.rake +1 -1
  319. data/lib/tasks/decidim_tasks.rake +0 -1
  320. data/lib/tasks/decidim_taxonomies.rake +1 -1
  321. data/lib/tasks/upgrade/decidim_active_storage_migration_tasks.rake +0 -1
  322. data/lib/tasks/upgrade/decidim_encryption.rake +12 -0
  323. data/lib/tasks/upgrade/decidim_migrate_wysiwyg_content.rake +0 -1
  324. data/lib/tasks/upgrade/decidim_remove_deleted_users_left_data_tasks.rake +1 -1
  325. data/lib/tasks/upgrade/{fix_deleted_private_follows.rake → fix_deleted_members_follows.rake} +5 -5
  326. data/lib/tasks/upgrade/migrations.rake +0 -1
  327. data/lib/tasks/upgrade/user_groups_migration.rake +0 -1
  328. metadata +206 -130
  329. data/app/cells/decidim/content_blocks/global_menu/show.erb +0 -11
  330. data/app/cells/decidim/content_blocks/global_menu_cell.rb +0 -35
  331. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity/show.erb +0 -10
  332. data/app/cells/decidim/content_blocks/menu_breadcrumb_last_activity_cell.rb +0 -49
  333. data/app/cells/decidim/participatory_space_dropdown_metadata/links.erb +0 -9
  334. data/app/cells/decidim/participatory_space_dropdown_metadata/metadata.erb +0 -1
  335. data/app/cells/decidim/participatory_space_dropdown_metadata/show.erb +0 -11
  336. data/app/cells/decidim/participatory_space_dropdown_metadata_cell.rb +0 -26
  337. data/app/controllers/concerns/decidim/has_members_page.rb +0 -25
  338. data/app/jobs/decidim/newsletters_opt_in_job.rb +0 -11
  339. data/app/jobs/decidim/user_report_job.rb +0 -11
  340. data/app/models/decidim/participatory_space_private_user.rb +0 -51
  341. data/app/packs/src/decidim/controllers/sticky_header/controller.js +0 -116
  342. data/app/packs/src/decidim/controllers/sticky_header/sticky_header.test.js +0 -320
  343. data/app/packs/src/decidim/dropdown_menu.js +0 -18
  344. data/app/packs/src/decidim/identity_selector_dialog.js +0 -33
  345. data/app/presenters/decidim/admin_log/participatory_space_private_user_presenter.rb +0 -38
  346. data/app/presenters/decidim/participatory_space_private_user_presenter.rb +0 -46
  347. data/app/views/decidim/participatory_space_private_users/_participatory_space_private_user.html.erb +0 -1
  348. data/app/views/layouts/decidim/footer/_main_language_chooser.html.erb +0 -26
  349. data/app/views/layouts/decidim/header/_menu_breadcrumb_items.html.erb +0 -34
  350. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_desktop.html.erb +0 -10
  351. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_mobile.html.erb +0 -17
  352. data/app/views/layouts/decidim/header/_menu_breadcrumb_main_dropdown_top_left.html.erb +0 -2
  353. data/app/views/layouts/decidim/header/_menu_breadcrumb_mobile_tablet.html.erb +0 -33
  354. data/app/views/layouts/decidim/header/_mobile_language_choose.html.erb +0 -25
  355. data/lib/decidim/core/test/shared_examples/has_private_users.rb +0 -63
  356. data/lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb +0 -81
  357. data/lib/decidim/has_private_users.rb +0 -57
  358. data/lib/decidim/maintenance/import_models/assembly_type.rb +0 -49
  359. data/lib/decidim/maintenance/import_models/participatory_process_type.rb +0 -21
  360. data/lib/decidim/query_extensions.rb +0 -64
  361. /data/app/cells/decidim/{participatory_space_private_user → member}/show.erb +0 -0
@@ -1,14 +1,15 @@
1
- <div class="menu-bar__breadcrumb-desktop__dropdown-wrapper" onmouseenter="document.getElementById('main-dropdown-menu').classList.remove('no-animation')">
2
- <%= link_to decidim.root_url, class: "menu-bar__breadcrumb-desktop__dropdown-trigger", onmouseenter: "document.getElementById('main-dropdown-summary').click()" do %>
3
- <%= icon "home-2-line", class: "pointer-events-none" %><span class="sr-only"><%= t("decidim.menu.home") %></span>
4
- <% end %>
5
- <button id="main-dropdown-summary" class="menu-bar__breadcrumb-desktop__dropdown-trigger" data-controller="dropdown" data-hover="true" data-target="main-dropdown-menu">
6
- <%= icon "arrow-drop-down-line" %><span class="sr-only"><%= t("layouts.decidim.header.main_menu") %></span>
7
- </button>
8
- </div>
1
+ <%= link_to decidim.root_url, class: "menu-bar__breadcrumb-desktop__dropdown-wrapper menu-bar__breadcrumb-desktop__dropdown-trigger" do %>
2
+ <span class=""><%= t("decidim.menu.home") %></span>
3
+ <% end %>
4
+ <% breadcrumb_items.each_with_index do |item, i| %>
5
+ <% next if item.blank? %>
9
6
 
10
- <div id="main-dropdown-menu" class="menu-bar__breadcrumb-desktop__dropdown-content no-animation" aria-hidden="true">
11
- <%= render partial: "layouts/decidim/header/menu_breadcrumb_main_dropdown_desktop", locals: { id: "breadcrumb-main-dropdown-desktop" } %>
12
- </div>
7
+ <% item_label = translated_attribute(item[:label]) %>
8
+ <span aria-hidden="true"><%= icon "arrow-right-s-line", class: "fill-white" %></span>
9
+ <%= link_to_if(item[:url].present? && !is_active_link?(item[:url], :exclusive), item_label, item[:url], class: "menu-bar__breadcrumb-desktop__dropdown-wrapper menu-bar__breadcrumb-desktop__dropdown-trigger", "aria-current": (item[:active] ? "page" : nil)) do %>
10
+ <%# This block is executed if the condition is false %>
11
+ <%= content_tag :span, item_label, class: "menu-bar__breadcrumb-desktop__dropdown-trigger no-interactive", tabindex: "0", "aria-current": (item[:active] ? "page" : nil) %>
12
+ <% end %>
13
+ <% end %>
13
14
 
14
- <%= render partial: "layouts/decidim/header/menu_breadcrumb_items" %>
15
+ <%= render partial: "layouts/decidim/schema_org_breadcrumb_list", locals: { breadcrumb_items: } %>
@@ -0,0 +1,28 @@
1
+ <% non_empty_items = breadcrumb_items.reject(&:empty?) %>
2
+ <% if breadcrumb_items.size > 1 %>
3
+ <% previous_item = non_empty_items[-2] || non_empty_items[-1] %>
4
+ <% end %>
5
+ <div class="menu-bar__breadcrumb-mobile__dropdown-trigger">
6
+ <span class="inline-block w-full overflow-hidden text-ellipsis align-middle">
7
+ <span class="cursor-pointer truncate flex items-center gap-x-2">
8
+ <span aria-hidden="true"><%= icon "arrow-left-s-line" %></span>
9
+ <% if previous_item %>
10
+ <% item_label = decidim_escape_translated(previous_item[:label]) %>
11
+ <% if previous_item[:url].present? && !is_active_link?(previous_item[:url], :exclusive) %>
12
+ <%= link_to(item_label, previous_item[:url], class: "menu-bar__breadcrumb-item") %>
13
+ <% else %>
14
+ <span class="menu-bar__breadcrumb-item"><%= item_label %></span>
15
+ <% end %>
16
+ <% else %>
17
+ <%= link_to decidim.root_url, class: "menu-bar__breadcrumb-item" do %>
18
+ <span class=""><%= t("decidim.menu.home") %></span>
19
+ <% end %>
20
+ <% end %>
21
+ </span>
22
+ </span>
23
+ <% if content_for?(:participatory_space_mobile_actions) %>
24
+ <div class="menu-bar__actions-mobile">
25
+ <%= content_for :participatory_space_mobile_actions %>
26
+ </div>
27
+ <% end %>
28
+ </div>
@@ -5,6 +5,7 @@ InvisibleCaptcha.setup do |config|
5
5
  config.visual_honeypots = false
6
6
  config.timestamp_threshold = 4
7
7
  config.timestamp_enabled = false
8
+ config.spinner_enabled = false
8
9
  config.injectable_styles = true
9
10
  # Leave these unset if you want to use I18n (see below)
10
11
  # config.sentence_for_humans = 'If you are a human, ignore this field'
@@ -203,10 +203,6 @@ ar:
203
203
  organization:
204
204
  update: "قام %{user_name} بتحديث إعدادات المنظمة"
205
205
  update_external_domain: "قام %{user_name} بتحديث النطاقات الخارجية للمنظمة external domains"
206
- participatory_space_private_user:
207
- create: "%{user_name} مدعو %{resource_name} ليكون مشاركًا خاصًا"
208
- create_via_csv: "%{user_name} دعا %{resource_name} عبر CSV ليكون مشاركا خاصا"
209
- delete: "%{user_name} أزال المشارك %{resource_name} كمشارك خاص"
210
206
  scope:
211
207
  create: "%{user_name} خلق نطاق %{resource_name}"
212
208
  create_with_parent: "إنشاء %{user_name} النطاق %{resource_name} داخل النطاق %{parent_scope}"
@@ -436,8 +432,6 @@ ar:
436
432
  description: الوصف
437
433
  footer_sub_hero:
438
434
  name: تذييل البطل الفرعي راية
439
- global_menu:
440
- name: القائمة العامة
441
435
  hero_settings_form:
442
436
  background_image: الصورة الخلفية
443
437
  welcome_text: نص الترحيب
@@ -794,7 +788,6 @@ ar:
794
788
  latlng_text: 'العرض: %{latitude}، الطول: %{longitude}'
795
789
  map_service_brand: OpenStreetMap
796
790
  menu:
797
- help: المساعدة
798
791
  home: الصفحة الرئيسية
799
792
  messaging:
800
793
  conversation_mailer:
@@ -945,6 +938,9 @@ ar:
945
938
  terms_of_service:
946
939
  form:
947
940
  agreement: أوافق على هذه الشروط
941
+ participatory_space_members:
942
+ index:
943
+ members: أفراد
948
944
  profile:
949
945
  deleted: مشارك محذوف
950
946
  profiles:
@@ -1138,10 +1134,8 @@ ar:
1138
1134
  decline: رفض الدعوة
1139
1135
  hello: مرحبا %{email}،
1140
1136
  invited_you_as_admin: "%{invited_by} دعاك كمشرف لـ %{application}. يمكنك قبول ذلك من خلال الرابط أدناه."
1141
- invited_you_as_private_user: "تلقيت دعوة من %{invited_by} كمشارك خاص لـ %{application}يمكنك قبول ذلك من خلال الرابط أدناه."
1142
1137
  someone_invited_you: دعاك شخص ما إلى %{application}. يمكنك قبول ذلك من خلال الرابط أدناه.
1143
1138
  someone_invited_you_as_admin: قام شخص ما بدعوتك كمسؤول لـ %{application}، يمكنك قبولها من خلال الرابط أدناه.
1144
- someone_invited_you_as_private_user: قام شخص ما بدعوتك كمشارك خاص بقيمة %{application}، ويمكنك قبولها من خلال الرابط أدناه.
1145
1139
  subject: تعليمات الدعوة
1146
1140
  password_change:
1147
1141
  greeting: مرحبا %{recipient}!
@@ -1375,7 +1369,6 @@ ar:
1375
1369
  name_included_in_password: مشابه جدا لاسمك
1376
1370
  nickname_included_in_password: هذا شبيه جدا بالاسم المستعار الخاص بك
1377
1371
  not_enough_unique_characters: ليس لديه ما يكفي من الشخصيات الفريدة
1378
- password_not_allowed: غير مسموح
1379
1372
  password_repeated: لا يمكن إعادة استخدام كلمة المرور القديمة
1380
1373
  password_too_common: هو شائع جدا
1381
1374
  password_too_long: طويل جدا
@@ -233,10 +233,6 @@ bg:
233
233
  organization:
234
234
  update: "%{user_name} обнови настройките на организацията"
235
235
  update_external_domain: "%{user_name} актуализира външните домейни на организацията"
236
- participatory_space_private_user:
237
- create: "%{user_name} покани %{resource_name} да бъде частен участник"
238
- create_via_csv: "%{user_name} покани %{resource_name} чрез CSV да бъде частен участник"
239
- delete: "%{user_name} премахна участника %{resource_name} като частен"
240
236
  scope:
241
237
  create: "%{user_name} създаде сферата %{resource_name}"
242
238
  create_with_parent: "%{user_name} създаде сферата %{resource_name} в родителската сфера %{parent_scope}"
@@ -490,8 +486,6 @@ bg:
490
486
  description: Описание
491
487
  footer_sub_hero:
492
488
  name: Долен колонтитул на под-геройския банер
493
- global_menu:
494
- name: Основно меню
495
489
  hero:
496
490
  name: Профилно изображение и бутон "Призив към действие"
497
491
  hero_settings_form:
@@ -910,7 +904,6 @@ bg:
910
904
  latlng_text: 'географска ширина: %{latitude}, географска дължина: %{longitude}'
911
905
  map_service_brand: OpenStreetMap
912
906
  menu:
913
- help: Помощ
914
907
  home: Начало
915
908
  messaging:
916
909
  conversation_mailer:
@@ -1105,6 +1098,9 @@ bg:
1105
1098
  alert: Актуализирахме нашите Условия за ползване, моля, прегледайте ги.
1106
1099
  body: Моля, отделете малко време, за да прегледате актуализациите на нашите Условия за ползване. В противен случай няма да можете да използвате платформата.
1107
1100
  title: 'Задължително: Прегледайте обновените Условия за ползване'
1101
+ participatory_space_members:
1102
+ index:
1103
+ members: Членове
1108
1104
  passwords:
1109
1105
  update:
1110
1106
  error: Възникна проблем при актуализирането на паролата.
@@ -1333,10 +1329,8 @@ bg:
1333
1329
  Ако не искате да приемете поканата, моля, игнорирайте този имейл.<br />
1334
1330
  Профилът Ви няма да бъде създаден, докато не отворите връзката по-горе и не зададете своите псевдоним и парола.
1335
1331
  invited_you_as_admin: "%{invited_by} Ви покани за администратор на %{application}. Можете да приемете чрез връзката по-долу."
1336
- invited_you_as_private_user: "%{invited_by} Ви покани като частен участник на %{application}. Можете да приемете чрез връзката по-долу."
1337
1332
  someone_invited_you: Някой Ви покани в %{application}. Можете да приемете чрез връзката по-долу.
1338
1333
  someone_invited_you_as_admin: Някой ви покани за администратор на %{application}, можете да приемете чрез връзката по-долу.
1339
- someone_invited_you_as_private_user: Някой ви покани частен участник в %{application}, можете да приемете чрез връзката по-долу.
1340
1334
  subject: Инструкции за покана
1341
1335
  invite_admin:
1342
1336
  subject: Получихте покана да управлявате %{organization}
@@ -1649,7 +1643,6 @@ bg:
1649
1643
  name_included_in_password: е твърде подобно на името Ви
1650
1644
  nickname_included_in_password: е твърде близко до Вашия псевдоним
1651
1645
  not_enough_unique_characters: няма достатъчно различни букви
1652
- password_not_allowed: не се допуска
1653
1646
  password_repeated: не може да преизползвате стара парола
1654
1647
  password_too_common: твърде разпространен
1655
1648
  password_too_long: твърде дълъг
@@ -180,7 +180,6 @@ ca-IT:
180
180
  front_page_link: Anar a la pàgina principal
181
181
  logo: "Logo oficial de %{organization}"
182
182
  opens_in_new_tab: Obrir en una pestanya nova
183
- secondary_menu: Menú secundari
184
183
  skip_button: Vés al contingut principal
185
184
  account:
186
185
  blocked: Aquest compte ha estat bloquejat degut a una violació dels termes i condicions d'ús
@@ -267,6 +266,10 @@ ca-IT:
267
266
  results: resultats
268
267
  impersonation_log:
269
268
  manage: "%{user_name} ha gestionat a %{resource_name} perquè %{reason}"
269
+ member:
270
+ create: "%{user_name} ha convidat a %{resource_name} com a membre"
271
+ create_via_csv: "%{user_name} ha convidat a %{resource_name} com a membre via CSV"
272
+ delete: "%{user_name} ha eliminat a %{resource_name} de membre"
270
273
  moderation:
271
274
  bulk_hide: "%{user_name} ha amagat %{reported_count} continguts"
272
275
  bulk_unhide: "%{user_name} ha tornat a mostrar %{reported_count} continguts"
@@ -285,10 +288,6 @@ ca-IT:
285
288
  organization:
286
289
  update: "%{user_name} ha actualitzat la configuració de l'organització"
287
290
  update_external_domain: "%{user_name} ha actualitzat els dominis externs de l'organització"
288
- participatory_space_private_user:
289
- create: "%{user_name} ha convidat %{resource_name} com a participant privada"
290
- create_via_csv: "%{user_name} ha convidat %{resource_name} via CSV per a ser participant privada"
291
- delete: "%{user_name} ha eliminat %{resource_name} com a participant privada"
292
291
  scope:
293
292
  create: "%{user_name} ha creat l'àmbit %{resource_name}"
294
293
  create_with_parent: "%{user_name} ha creat l'àmbit %{resource_name} dins l'àmbit %{parent_scope}"
@@ -577,6 +576,7 @@ ca-IT:
577
576
  contact: Contacte
578
577
  content_blocks:
579
578
  announcement:
579
+ body: Text de l'anunci o avís
580
580
  name: Avís
581
581
  cta:
582
582
  name: Imatge, text i botó d'acció
@@ -587,8 +587,6 @@ ca-IT:
587
587
  description: Descripció
588
588
  footer_sub_hero:
589
589
  name: Peu de pàgina sub-hero
590
- global_menu:
591
- name: Menú global
592
590
  hero:
593
591
  name: Imatge principal i botó d'acció
594
592
  hero_settings_form:
@@ -769,13 +767,13 @@ ca-IT:
769
767
  id: L'identificador únic d'aquesta notificació
770
768
  resource_type: El tipus de recurs amb el qual està relacionat amb la notificació
771
769
  updated_at: La data i hora en què aquesta notificació va ser actualitzada per darrera vegada
772
- participatory_space_private_users:
773
- created_at: La data i l'hora en què es va crear aquesta participant privada
774
- id: L'identificador únic d'aquesta participant privada
775
- privatable_to: A quin espai de participació pertanys aquesta participant privada
776
- published: Si aquesta participant privada està publicada o no
777
- role: El rol que té aquesta participant privada
778
- updated_at: La data i hora en què aquesta participant privada va ser actualitzada per darrera vegada
770
+ participatory_space_members:
771
+ created_at: La data i l'hora en què es va crear aquesta membre
772
+ id: L'identificador únic d'aquesta membre
773
+ participatory_space: A quin espai de participació pertany aquesta membre
774
+ published: Si aquesta membre està publicada o no
775
+ role: El rol que té aquesta membre
776
+ updated_at: La data de la darrera actualització d'aquesta membre
779
777
  reports:
780
778
  created_at: La data i hora en què es va crear aquest informe
781
779
  details: Els detalls dels informes de moderació
@@ -1164,6 +1162,12 @@ ca-IT:
1164
1162
  update_permissions_with_space: "%{user_name} ha actualitzat els permisos de %{resource_name} a %{space_name}"
1165
1163
  update_with_space: "%{user_name} ha actualitzat %{resource_name} a %{space_name}"
1166
1164
  value_types:
1165
+ access_mode_presenter:
1166
+ access_modes:
1167
+ open: Oberta
1168
+ restricted: Restringida
1169
+ transparent: Transparent
1170
+ not_found: No s'ha trobat el tipus d'accéso %{id}
1167
1171
  area_presenter:
1168
1172
  not_found: 'L''àrea no s''ha trobat a la base de dades (ID: %{id})'
1169
1173
  area_type_presenter:
@@ -1186,7 +1190,6 @@ ca-IT:
1186
1190
  latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
1187
1191
  map_service_brand: OpenStreetMap
1188
1192
  menu:
1189
- help: Ajuda
1190
1193
  home: Inici
1191
1194
  messaging:
1192
1195
  conversation_mailer:
@@ -1531,6 +1534,18 @@ ca-IT:
1531
1534
  %{organization_name}
1532
1535
  hello: Benvolgut/da %{username},
1533
1536
  subject: Avís de compte inactiu
1537
+ participatory_space:
1538
+ pages:
1539
+ user_profile:
1540
+ member_of:
1541
+ member_of: Membre de
1542
+ participatory_space_members:
1543
+ index:
1544
+ members: Membres
1545
+ participatory_spaces:
1546
+ show:
1547
+ restricted_space: Aquest és un espai restringit. Només les membres el poden veure i participar-hi.
1548
+ transparent_space: Aquest és un espai restringit però transparent. Qualsevol pot veure'n el contingut, però només les membres hi poden participar.
1534
1549
  passwords:
1535
1550
  update:
1536
1551
  error: Hi ha hagut un problema en actualitzar la contrasenya.
@@ -1848,16 +1863,16 @@ ca-IT:
1848
1863
  ignore: |-
1849
1864
  Si no vols acceptar la invitació, si us plau, ignora aquest correu electrònic.<br /> El teu compte no es crearà fins que no accedeixis a l'enllaç anterior i estableixis el teu àlies i contrasenya.
1850
1865
  invited_you_as_admin: "%{invited_by} t'ha convidat com a administradora de %{application}. Pots acceptar-ho a través de l'enllaç següent."
1851
- invited_you_as_private_user: "%{invited_by} t'ha convidat com a participant privada de %{application}. Pots acceptar a través de l'enllaç següent."
1866
+ invited_you_as_member: "%{invited_by} t'ha convidat com a membre de %{application}. Pots acceptar-ho a través de l'enllaç següent."
1852
1867
  someone_invited_you: Algú t'ha convidat a %{application}. Pots acceptar-ho a través de l'enllaç següent.
1853
1868
  someone_invited_you_as_admin: Algú t'ha convidat com a administradora de %{application}, pots acceptar-lo a través de l'enllaç següent.
1854
- someone_invited_you_as_private_user: Algú t'ha convidat com a participant privada de %{application}. Pots acceptar a través del següent enllaç.
1869
+ someone_invited_you_as_member: Algú t'ha convidat com a membre de %{application}, pots acceptar-ho a través de l'enllaç següent.
1855
1870
  subject: Instruccions d'invitació
1856
1871
  invite_admin:
1857
1872
  subject: T'han convidat a administrar %{organization}
1858
1873
  invite_collaborator:
1859
1874
  subject: T'han convidat a col·laborar a %{organization}
1860
- invite_private_user:
1875
+ invite_member:
1861
1876
  subject: T'han convidat a participar en un espai de participació privat a%{organization}
1862
1877
  organization_admin_invitation_instructions:
1863
1878
  subject: T'han convidat a administrar %{organization}
@@ -2196,7 +2211,6 @@ ca-IT:
2196
2211
  name_included_in_password: és massa semblant al teu nom
2197
2212
  nickname_included_in_password: és massa semblant al teu àlies
2198
2213
  not_enough_unique_characters: no té prou caràcters únics
2199
- password_not_allowed: no està permès
2200
2214
  password_repeated: no pots reutilitzar una antiga contrasenya
2201
2215
  password_too_common: és massa comú
2202
2216
  password_too_long: és massa llarg
@@ -180,7 +180,6 @@ ca:
180
180
  front_page_link: Anar a la pàgina principal
181
181
  logo: "Logo oficial de %{organization}"
182
182
  opens_in_new_tab: Obrir en una pestanya nova
183
- secondary_menu: Menú secundari
184
183
  skip_button: Vés al contingut principal
185
184
  account:
186
185
  blocked: Aquest compte ha estat bloquejat degut a una violació dels termes i condicions d'ús
@@ -267,6 +266,10 @@ ca:
267
266
  results: resultats
268
267
  impersonation_log:
269
268
  manage: "%{user_name} ha gestionat a %{resource_name} perquè %{reason}"
269
+ member:
270
+ create: "%{user_name} ha convidat a %{resource_name} com a membre"
271
+ create_via_csv: "%{user_name} ha convidat a %{resource_name} com a membre via CSV"
272
+ delete: "%{user_name} ha eliminat a %{resource_name} de membre"
270
273
  moderation:
271
274
  bulk_hide: "%{user_name} ha amagat %{reported_count} continguts"
272
275
  bulk_unhide: "%{user_name} ha tornat a mostrar %{reported_count} continguts"
@@ -285,10 +288,6 @@ ca:
285
288
  organization:
286
289
  update: "%{user_name} ha actualitzat la configuració de l'organització"
287
290
  update_external_domain: "%{user_name} ha actualitzat els dominis externs de l'organització"
288
- participatory_space_private_user:
289
- create: "%{user_name} ha convidat %{resource_name} com a participant privada"
290
- create_via_csv: "%{user_name} ha convidat %{resource_name} via CSV per a ser participant privada"
291
- delete: "%{user_name} ha eliminat %{resource_name} com a participant privada"
292
291
  scope:
293
292
  create: "%{user_name} ha creat l'àmbit %{resource_name}"
294
293
  create_with_parent: "%{user_name} ha creat l'àmbit %{resource_name} dins l'àmbit %{parent_scope}"
@@ -577,6 +576,7 @@ ca:
577
576
  contact: Contacte
578
577
  content_blocks:
579
578
  announcement:
579
+ body: Text de l'anunci o avís
580
580
  name: Avís
581
581
  cta:
582
582
  name: Imatge, text i botó d'acció
@@ -587,8 +587,6 @@ ca:
587
587
  description: Descripció
588
588
  footer_sub_hero:
589
589
  name: Peu de pàgina sub-hero
590
- global_menu:
591
- name: Menú global
592
590
  hero:
593
591
  name: Imatge principal i botó d'acció
594
592
  hero_settings_form:
@@ -769,13 +767,13 @@ ca:
769
767
  id: L'identificador únic d'aquesta notificació
770
768
  resource_type: El tipus de recurs amb el qual està relacionat amb la notificació
771
769
  updated_at: La data i hora en què aquesta notificació va ser actualitzada per darrera vegada
772
- participatory_space_private_users:
773
- created_at: La data i l'hora en què es va crear aquesta participant privada
774
- id: L'identificador únic d'aquesta participant privada
775
- privatable_to: A quin espai de participació pertanys aquesta participant privada
776
- published: Si aquesta participant privada està publicada o no
777
- role: El rol que té aquesta participant privada
778
- updated_at: La data i hora en què aquesta participant privada va ser actualitzada per darrera vegada
770
+ participatory_space_members:
771
+ created_at: La data i l'hora en què es va crear aquesta membre
772
+ id: L'identificador únic d'aquesta membre
773
+ participatory_space: A quin espai de participació pertany aquesta membre
774
+ published: Si aquesta membre està publicada o no
775
+ role: El rol que té aquesta membre
776
+ updated_at: La data de la darrera actualització d'aquesta membre
779
777
  reports:
780
778
  created_at: La data i hora en què es va crear aquest informe
781
779
  details: Els detalls dels informes de moderació
@@ -1164,6 +1162,12 @@ ca:
1164
1162
  update_permissions_with_space: "%{user_name} ha actualitzat els permisos de %{resource_name} a %{space_name}"
1165
1163
  update_with_space: "%{user_name} ha actualitzat %{resource_name} a %{space_name}"
1166
1164
  value_types:
1165
+ access_mode_presenter:
1166
+ access_modes:
1167
+ open: Oberta
1168
+ restricted: Restringida
1169
+ transparent: Transparent
1170
+ not_found: No s'ha trobat el tipus d'accéso %{id}
1167
1171
  area_presenter:
1168
1172
  not_found: 'L''àrea no s''ha trobat a la base de dades (ID: %{id})'
1169
1173
  area_type_presenter:
@@ -1186,7 +1190,6 @@ ca:
1186
1190
  latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
1187
1191
  map_service_brand: OpenStreetMap
1188
1192
  menu:
1189
- help: Ajuda
1190
1193
  home: Inici
1191
1194
  messaging:
1192
1195
  conversation_mailer:
@@ -1531,6 +1534,18 @@ ca:
1531
1534
  %{organization_name}
1532
1535
  hello: Benvolgut/da %{username},
1533
1536
  subject: Avís de compte inactiu
1537
+ participatory_space:
1538
+ pages:
1539
+ user_profile:
1540
+ member_of:
1541
+ member_of: Membre de
1542
+ participatory_space_members:
1543
+ index:
1544
+ members: Membres
1545
+ participatory_spaces:
1546
+ show:
1547
+ restricted_space: Aquest és un espai restringit. Només les membres el poden veure i participar-hi.
1548
+ transparent_space: Aquest és un espai restringit però transparent. Qualsevol pot veure'n el contingut, però només les membres hi poden participar.
1534
1549
  passwords:
1535
1550
  update:
1536
1551
  error: Hi ha hagut un problema en actualitzar la contrasenya.
@@ -1848,16 +1863,16 @@ ca:
1848
1863
  ignore: |-
1849
1864
  Si no vols acceptar la invitació, si us plau, ignora aquest correu electrònic.<br /> El teu compte no es crearà fins que no accedeixis a l'enllaç anterior i estableixis el teu àlies i contrasenya.
1850
1865
  invited_you_as_admin: "%{invited_by} t'ha convidat com a administradora de %{application}. Pots acceptar-ho a través de l'enllaç següent."
1851
- invited_you_as_private_user: "%{invited_by} t'ha convidat com a participant privada de %{application}. Pots acceptar a través de l'enllaç següent."
1866
+ invited_you_as_member: "%{invited_by} t'ha convidat com a membre de %{application}. Pots acceptar-ho a través de l'enllaç següent."
1852
1867
  someone_invited_you: Algú t'ha convidat a %{application}. Pots acceptar-ho a través de l'enllaç següent.
1853
1868
  someone_invited_you_as_admin: Algú t'ha convidat com a administradora de %{application}, pots acceptar-lo a través de l'enllaç següent.
1854
- someone_invited_you_as_private_user: Algú t'ha convidat com a participant privada de %{application}. Pots acceptar a través del següent enllaç.
1869
+ someone_invited_you_as_member: Algú t'ha convidat com a membre de %{application}, pots acceptar-ho a través de l'enllaç següent.
1855
1870
  subject: Instruccions d'invitació
1856
1871
  invite_admin:
1857
1872
  subject: T'han convidat a administrar %{organization}
1858
1873
  invite_collaborator:
1859
1874
  subject: T'han convidat a col·laborar a %{organization}
1860
- invite_private_user:
1875
+ invite_member:
1861
1876
  subject: T'han convidat a participar en un espai de participació privat a%{organization}
1862
1877
  organization_admin_invitation_instructions:
1863
1878
  subject: T'han convidat a administrar %{organization}
@@ -2196,7 +2211,6 @@ ca:
2196
2211
  name_included_in_password: és massa semblant al teu nom
2197
2212
  nickname_included_in_password: és massa semblant al teu àlies
2198
2213
  not_enough_unique_characters: no té prou caràcters únics
2199
- password_not_allowed: no està permès
2200
2214
  password_repeated: no pots reutilitzar una antiga contrasenya
2201
2215
  password_too_common: és massa comú
2202
2216
  password_too_long: és massa llarg
@@ -205,7 +205,6 @@ cs:
205
205
  front_page_link: Přejít na titulní stránku
206
206
  logo: "Oficiální logo %{organization}"
207
207
  opens_in_new_tab: Otevře se v nové kartě
208
- secondary_menu: Sekundární menu
209
208
  skip_button: Přeskočit na hlavní obsah
210
209
  account:
211
210
  blocked: Tento účet byl zablokován kvůli porušení smluvních podmínek
@@ -291,6 +290,10 @@ cs:
291
290
  results: výsledky
292
291
  impersonation_log:
293
292
  manage: "%{user_name} spravoval %{resource_name}, protože %{reason}"
293
+ member:
294
+ create: "%{user_name} pozval %{resource_name} k členství"
295
+ create_via_csv: "%{user_name} pozval %{resource_name} přes CSV, aby byl členem"
296
+ delete: "%{user_name} odstranil uživatele %{resource_name} jako člena"
294
297
  moderation:
295
298
  bulk_hide: "%{user_name} skryl %{reported_count} zdroje"
296
299
  bulk_unhide: "%{user_name} zrušil skrytí %{reported_count} zdrojů"
@@ -309,10 +312,6 @@ cs:
309
312
  organization:
310
313
  update: "%{user_name} aktualizoval nastavení organizace"
311
314
  update_external_domain: "%{user_name} aktualizoval externí domény organizace"
312
- participatory_space_private_user:
313
- create: "%{user_name} pozval %{resource_name} aby se stal soukromým uživatelem"
314
- create_via_csv: "%{user_name} pozval %{resource_name} prostřednictvím CSV k tomu, aby byl soukromým účastníkem"
315
- delete: "%{user_name} uživatele %{resource_name} odstranil jako soukromého uživatele"
316
315
  scope:
317
316
  create: "%{user_name} vytvořil oblast působnosti %{resource_name}"
318
317
  create_with_parent: "%{user_name} vytvořil oblast působnosti %{resource_name} uvnitř oblasti působnosti %{parent_scope}"
@@ -612,6 +611,7 @@ cs:
612
611
  contact: Kontakt
613
612
  content_blocks:
614
613
  announcement:
614
+ body: Text oznámení
615
615
  name: Oznámení
616
616
  cta:
617
617
  name: Tlačítko obrázek, text a Výzva k akci
@@ -622,8 +622,6 @@ cs:
622
622
  description: Popis
623
623
  footer_sub_hero:
624
624
  name: Zápatí pod hlavním pruhem
625
- global_menu:
626
- name: Globální menu
627
625
  hero:
628
626
  name: Obrázek hrdiny a výzva k akci
629
627
  hero_settings_form:
@@ -810,13 +808,13 @@ cs:
810
808
  id: Jedinečný identifikátor tohoto oznámení
811
809
  resource_type: Typ zdroje, ke kterému se oznámení vztahuje
812
810
  updated_at: Datum a čas, kdy bylo oznámení naposledy aktualizováno
813
- participatory_space_private_users:
814
- created_at: Datum a čas, kdy byl tento soukromý uživatel vytvořen
815
- id: Jedinečný identifikátor tohoto soukromého uživatele
816
- privatable_to: Do kterého prostoru patří tento soukromý uživatel
817
- published: Zda je tento soukromý uživatel zveřejněn, nebo ne
818
- role: Role, kterou tento soukromý uživatel
819
- updated_at: Datum a čas poslední aktualizace tohoto soukromého uživatele
811
+ participatory_space_members:
812
+ created_at: Datum a čas, kdy byl tento člen vytvořen
813
+ id: Jedinečný identifikátor tohoto člena
814
+ participatory_space: Do kterého prostoru patří tento člen
815
+ published: Zda je tento člen je zveřejněn nebo ne
816
+ role: Role kterou tento člen
817
+ updated_at: Datum a čas, kdy byl tento člen naposledy aktualizován
820
818
  reports:
821
819
  created_at: Datum a čas vytvoření této zprávy
822
820
  details: Podrobnosti této zprávy
@@ -1196,6 +1194,10 @@ cs:
1196
1194
  update_permissions_with_space: "%{user_name} aktualizoval oprávnění k %{resource_name} v %{space_name}"
1197
1195
  update_with_space: "%{user_name} aktualizováno %{resource_name} v %{space_name}"
1198
1196
  value_types:
1197
+ access_mode_presenter:
1198
+ access_modes:
1199
+ restricted: Omezený
1200
+ transparent: Transparentní
1199
1201
  area_presenter:
1200
1202
  not_found: 'Oblast nebyla nalezena v databázi (ID: %{id})'
1201
1203
  area_type_presenter:
@@ -1218,7 +1220,6 @@ cs:
1218
1220
  latlng_text: 'zeměpisná šířka: %{latitude}, zeměpisná délka: %{longitude}'
1219
1221
  map_service_brand: OpenStreetMap
1220
1222
  menu:
1221
- help: Pomoc
1222
1223
  home: Úvod
1223
1224
  messaging:
1224
1225
  conversation_mailer:
@@ -1557,6 +1558,9 @@ cs:
1557
1558
  %{organization_name}
1558
1559
  hello: Dobrý den %{username},
1559
1560
  subject: Neaktivní účet byl smazán
1561
+ participatory_space_members:
1562
+ index:
1563
+ members: Členové
1560
1564
  passwords:
1561
1565
  update:
1562
1566
  error: Došlo k problému s aktualizací hesla.
@@ -1868,16 +1872,16 @@ cs:
1868
1872
  Pokud pozvánku nechcete přijmout, ignorujte tento e-mail.<br />
1869
1873
  Váš účet nebude vytvořen, dokud nekliknete na odkaz výše a nenastavíte si uživatelské jméno a heslo.
1870
1874
  invited_you_as_admin: "%{invited_by} vás pozval jako administrátora z %{application}. Můžete jej přijmout prostřednictvím níže uvedeného odkazu."
1871
- invited_you_as_private_user: "%{invited_by} vás pozval jako soukromého uživatele %{application}. Můžete jej přijmout prostřednictvím níže uvedeného odkazu."
1875
+ invited_you_as_member: "%{invited_by} vás pozval jako člena %{application}. Můžete jej přijmout prostřednictvím níže uvedeného odkazu."
1872
1876
  someone_invited_you: Někdo vás pozval na %{application}. Můžete jej přijmout prostřednictvím níže uvedeného odkazu.
1873
1877
  someone_invited_you_as_admin: Někdo Vás pozval jako administrátora %{application}, můžete jej přijmout pomocí níže uvedeného odkazu.
1874
- someone_invited_you_as_private_user: Někdo vás pozval jako private_user %{application}, můžete jej přijmout pomocí níže uvedeného odkazu.
1878
+ someone_invited_you_as_member: Někdo vás pozval jako člena %{application}, můžete ho přijmout prostřednictvím níže uvedeného odkazu.
1875
1879
  subject: Pokyny k pozvánkám
1876
1880
  invite_admin:
1877
1881
  subject: Byli jste pozváni ke spravování organizace %{organization}
1878
1882
  invite_collaborator:
1879
1883
  subject: Byli jste pozváni ke spolupráci na organizaci %{organization}
1880
- invite_private_user:
1884
+ invite_member:
1881
1885
  subject: Byli jste pozváni do soukromého participačního procesu na %{organization}
1882
1886
  organization_admin_invitation_instructions:
1883
1887
  subject: Byli jste pozváni ke spravování organizace %{organization}
@@ -2219,7 +2223,6 @@ cs:
2219
2223
  name_included_in_password: je příliš podobné vašemu jménu
2220
2224
  nickname_included_in_password: je příliš podobné vaší přezdívce
2221
2225
  not_enough_unique_characters: nemá dostatek jedinečných znaků
2222
- password_not_allowed: není povoleno
2223
2226
  password_repeated: nelze znovu použít staré heslo
2224
2227
  password_too_common: je příliš běžné
2225
2228
  password_too_long: je to moc dlouhé