decidim-core 0.23.6 → 0.24.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (455) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/assets/images/decidim/icons.svg +1 -1
  4. data/app/assets/javascripts/decidim/core/bundle.js +1 -1
  5. data/app/assets/javascripts/decidim/core/bundle.js.map +1 -1
  6. data/app/assets/javascripts/decidim/editor/history_override.js.es6 +117 -0
  7. data/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 +83 -0
  8. data/app/assets/javascripts/decidim/editor/modified_backspace_offset1.js.es6 +98 -0
  9. data/app/assets/javascripts/decidim/editor/modified_backspace_offset_any.js.es6 +48 -0
  10. data/app/assets/javascripts/decidim/editor/modified_backspace_utils.js.es6 +31 -0
  11. data/app/assets/javascripts/decidim/editor/modified_enter.js.es6 +118 -0
  12. data/app/assets/javascripts/decidim/editor.js.es6 +15 -4
  13. data/app/assets/javascripts/decidim/form_filter.component.js.es6 +25 -0
  14. data/app/assets/javascripts/decidim/geocoding/attach_input.js.es6 +41 -4
  15. data/app/assets/javascripts/decidim/input_character_counter.js.es6 +6 -1
  16. data/app/assets/javascripts/decidim/map/controller/markers.js.es6 +27 -9
  17. data/app/assets/javascripts/decidim/session_timeouter.js.es6 +78 -0
  18. data/app/assets/javascripts/decidim.js.es6 +1 -0
  19. data/app/assets/stylesheets/decidim/_variables.scss +9 -0
  20. data/app/assets/stylesheets/decidim/email.scss +14 -2
  21. data/app/assets/stylesheets/decidim/extras/_external-links.scss +0 -1
  22. data/app/assets/stylesheets/decidim/extras/_process_stats.scss +1 -1
  23. data/app/assets/stylesheets/decidim/extras/_results-per-page.scss +1 -0
  24. data/app/assets/stylesheets/decidim/modules/_author-avatar.scss +2 -2
  25. data/app/assets/stylesheets/decidim/modules/_buttons.scss +2 -2
  26. data/app/assets/stylesheets/decidim/modules/_cards.scss +18 -1
  27. data/app/assets/stylesheets/decidim/modules/_collapsible-list.scss +1 -1
  28. data/app/assets/stylesheets/decidim/modules/_comments.scss +5 -1
  29. data/app/assets/stylesheets/decidim/modules/_conference-speaker.scss +4 -3
  30. data/app/assets/stylesheets/decidim/modules/_data-picker.scss +7 -0
  31. data/app/assets/stylesheets/decidim/modules/_extra.scss +4 -0
  32. data/app/assets/stylesheets/decidim/modules/_forms.scss +4 -0
  33. data/app/assets/stylesheets/decidim/modules/_loading-spinner.scss +34 -0
  34. data/app/assets/stylesheets/decidim/modules/_modules.scss +1 -1
  35. data/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +1 -1
  36. data/app/assets/stylesheets/decidim/modules/_reveal.scss +6 -0
  37. data/app/assets/stylesheets/decidim/modules/_signup.scss +1 -0
  38. data/app/assets/stylesheets/decidim/modules/{_process-stats.scss → _space-stats.scss} +1 -1
  39. data/app/cells/decidim/activity/show.erb +1 -1
  40. data/app/cells/decidim/activity_cell.rb +11 -14
  41. data/app/cells/decidim/address/details.erb +5 -5
  42. data/app/cells/decidim/address_cell.rb +0 -21
  43. data/app/cells/decidim/announcement/show.erb +4 -4
  44. data/app/cells/decidim/announcement_cell.rb +22 -2
  45. data/app/cells/decidim/author/flag_user.erb +10 -0
  46. data/app/cells/decidim/author/profile_minicard.erb +1 -1
  47. data/app/cells/decidim/author_cell.rb +9 -1
  48. data/app/cells/decidim/card_m/top.erb +1 -1
  49. data/app/cells/decidim/card_m_cell.rb +1 -1
  50. data/app/cells/decidim/content_blocks/cta/show.erb +14 -0
  51. data/app/cells/decidim/content_blocks/cta_cell.rb +35 -0
  52. data/app/cells/decidim/content_blocks/cta_settings_form/show.erb +9 -0
  53. data/app/cells/decidim/content_blocks/cta_settings_form_cell.rb +13 -0
  54. data/app/cells/decidim/content_blocks/hero_cell.rb +14 -0
  55. data/app/cells/decidim/content_blocks/highlighted_elements/elements.erb +0 -0
  56. data/app/cells/decidim/content_blocks/highlighted_elements/heading.erb +0 -0
  57. data/app/cells/decidim/content_blocks/highlighted_elements/show.erb +4 -0
  58. data/app/cells/decidim/content_blocks/highlighted_elements_cell.rb +51 -0
  59. data/app/cells/decidim/content_blocks/highlighted_elements_settings_form/show.erb +3 -0
  60. data/app/cells/decidim/content_blocks/highlighted_elements_settings_form_cell.rb +28 -0
  61. data/app/cells/decidim/content_blocks/last_activity_cell.rb +11 -0
  62. data/app/cells/decidim/content_blocks/metrics_cell.rb +0 -6
  63. data/app/cells/decidim/content_blocks/stats_cell.rb +0 -6
  64. data/app/cells/decidim/date/show.erb +31 -0
  65. data/app/cells/decidim/date_cell.rb +50 -0
  66. data/app/cells/decidim/endorsement_buttons_cell.rb +3 -3
  67. data/app/cells/decidim/flag_modal/flag_user.erb +24 -0
  68. data/app/cells/decidim/flag_modal/show.erb +24 -0
  69. data/app/cells/decidim/flag_modal_cell.rb +25 -0
  70. data/app/cells/decidim/profile/inaccessible.erb +9 -0
  71. data/app/cells/decidim/profile_cell.rb +9 -1
  72. data/app/cells/decidim/profile_sidebar/show.erb +10 -1
  73. data/app/cells/decidim/profile_sidebar_cell.rb +1 -0
  74. data/app/cells/decidim/reported_content/show.erb +5 -0
  75. data/app/cells/decidim/reported_content_cell.rb +44 -0
  76. data/app/cells/decidim/scopes_picker/scope_picker_prompt.erb +3 -0
  77. data/app/cells/decidim/scopes_picker/scope_picker_values.erb +5 -0
  78. data/app/cells/decidim/scopes_picker/show.erb +14 -0
  79. data/app/cells/decidim/scopes_picker_cell.rb +93 -0
  80. data/app/cells/decidim/tos_page/announcement.erb +1 -1
  81. data/app/cells/decidim/tos_page/form.erb +15 -13
  82. data/app/cells/decidim/tos_page_cell.rb +10 -8
  83. data/app/cells/decidim/translation_bar_cell.rb +1 -1
  84. data/app/cells/decidim/user_conversation/conversation_header.erb +1 -1
  85. data/app/cells/decidim/user_conversations_cell.rb +1 -1
  86. data/app/commands/decidim/create_report.rb +11 -1
  87. data/app/commands/decidim/create_user_report.rb +67 -0
  88. data/app/commands/decidim/destroy_account.rb +0 -2
  89. data/app/commands/decidim/gallery_methods.rb +2 -2
  90. data/app/commands/decidim/multiple_attachments_methods.rb +14 -10
  91. data/app/commands/decidim/search.rb +5 -2
  92. data/app/commands/decidim/update_notifications_settings.rb +1 -0
  93. data/app/commands/decidim/update_user_group.rb +1 -0
  94. data/app/controllers/concerns/decidim/devise_controllers.rb +1 -1
  95. data/app/controllers/concerns/decidim/flaggable.rb +5 -1
  96. data/app/controllers/concerns/decidim/force_authentication.rb +11 -3
  97. data/app/controllers/concerns/decidim/locale_switcher.rb +5 -0
  98. data/app/controllers/concerns/decidim/needs_permission.rb +7 -1
  99. data/app/controllers/concerns/decidim/orderable.rb +3 -1
  100. data/app/controllers/concerns/decidim/user_blocked_checker.rb +26 -0
  101. data/app/controllers/decidim/application_controller.rb +22 -0
  102. data/app/controllers/decidim/devise/omniauth_registrations_controller.rb +3 -1
  103. data/app/controllers/decidim/devise/sessions_controller.rb +10 -6
  104. data/app/controllers/decidim/errors_controller.rb +1 -1
  105. data/app/controllers/decidim/locales_controller.rb +1 -1
  106. data/app/controllers/decidim/profiles_controller.rb +6 -0
  107. data/app/controllers/decidim/report_users_controller.rb +42 -0
  108. data/app/controllers/decidim/scopes_controller.rb +19 -10
  109. data/app/controllers/decidim/timeouts_controller.rb +28 -0
  110. data/app/controllers/decidim/user_activities_controller.rb +5 -0
  111. data/app/controllers/decidim/user_timeline_controller.rb +1 -0
  112. data/app/events/decidim/demoted_membership_event.rb +2 -2
  113. data/app/events/decidim/invited_to_group_event.rb +2 -2
  114. data/app/events/decidim/join_request_accepted_event.rb +2 -2
  115. data/app/events/decidim/join_request_created_event.rb +2 -2
  116. data/app/events/decidim/join_request_rejected_event.rb +2 -2
  117. data/app/events/decidim/promoted_to_admin_event.rb +2 -2
  118. data/app/events/decidim/removed_from_group_event.rb +2 -2
  119. data/app/forms/decidim/account_form.rb +2 -2
  120. data/app/forms/decidim/invite_user_form.rb +2 -2
  121. data/app/forms/decidim/messaging/conversation_form.rb +1 -1
  122. data/app/forms/decidim/messaging/message_form.rb +1 -1
  123. data/app/forms/decidim/notifications_settings_form.rb +20 -0
  124. data/app/forms/url_validator.rb +20 -0
  125. data/app/helpers/decidim/action_authorization_helper.rb +2 -0
  126. data/app/helpers/decidim/application_helper.rb +1 -3
  127. data/app/helpers/decidim/cells_helper.rb +6 -0
  128. data/app/helpers/decidim/filters_helper.rb +9 -0
  129. data/app/helpers/decidim/messaging/conversation_helper.rb +11 -1
  130. data/app/helpers/decidim/newsletters_helper.rb +7 -9
  131. data/app/helpers/decidim/scopes_helper.rb +1 -1
  132. data/app/jobs/decidim/block_user_job.rb +11 -0
  133. data/app/jobs/decidim/export_job.rb +2 -2
  134. data/app/jobs/decidim/find_and_update_descendants_job.rb +48 -0
  135. data/app/jobs/decidim/machine_translation_resource_job.rb +3 -0
  136. data/app/jobs/decidim/machine_translation_save_job.rb +29 -0
  137. data/app/jobs/decidim/update_search_indexes_job.rb +11 -0
  138. data/app/jobs/decidim/user_report_job.rb +11 -0
  139. data/app/mailers/decidim/block_user_mailer.rb +21 -0
  140. data/app/mailers/decidim/reported_mailer.rb +33 -3
  141. data/app/mailers/decidim/user_report_mailer.rb +21 -0
  142. data/app/models/decidim/area.rb +0 -1
  143. data/app/models/decidim/area_type.rb +1 -1
  144. data/app/models/decidim/attachment.rb +3 -2
  145. data/app/models/decidim/attachment_collection.rb +1 -1
  146. data/app/models/decidim/authorization.rb +4 -0
  147. data/app/models/decidim/category.rb +6 -1
  148. data/app/models/decidim/impersonation_log.rb +5 -7
  149. data/app/models/decidim/metric.rb +2 -2
  150. data/app/models/decidim/moderation.rb +12 -0
  151. data/app/models/decidim/organization.rb +5 -1
  152. data/app/models/decidim/scope.rb +5 -2
  153. data/app/models/decidim/scope_type.rb +1 -1
  154. data/app/models/decidim/share_token.rb +1 -1
  155. data/app/models/decidim/static_page.rb +11 -1
  156. data/app/models/decidim/static_page_topic.rb +4 -0
  157. data/app/models/decidim/user.rb +13 -8
  158. data/app/models/decidim/user_base_entity.rb +13 -13
  159. data/app/models/decidim/user_block.rb +10 -0
  160. data/app/models/decidim/user_group.rb +1 -4
  161. data/app/models/decidim/user_moderation.rb +22 -0
  162. data/app/models/decidim/user_report.rb +31 -0
  163. data/app/permissions/decidim/permissions.rb +1 -3
  164. data/app/permissions/decidim/report_user_permissions.rb +13 -0
  165. data/app/presenters/decidim/admin_log/impersonation_log_presenter.rb +39 -0
  166. data/app/presenters/decidim/admin_log/organization_presenter.rb +1 -2
  167. data/app/presenters/decidim/admin_log/user_moderation_presenter.rb +63 -0
  168. data/app/presenters/decidim/admin_log/user_presenter.rb +18 -9
  169. data/app/presenters/decidim/home_stats_presenter.rb +3 -3
  170. data/app/presenters/decidim/log/diff_presenter.rb +4 -3
  171. data/app/presenters/decidim/log/resource_presenter.rb +4 -4
  172. data/app/presenters/decidim/log/user_presenter.rb +1 -1
  173. data/app/presenters/decidim/menu_presenter.rb +12 -7
  174. data/app/presenters/decidim/nil_presenter.rb +0 -2
  175. data/app/presenters/decidim/user_presenter.rb +1 -1
  176. data/app/queries/decidim/metrics/blocked_users_metric_manage.rb +26 -0
  177. data/app/queries/decidim/metrics/followers_metric_manage.rb +3 -0
  178. data/app/queries/decidim/metrics/participants_metric_manage.rb +3 -0
  179. data/app/queries/decidim/metrics/reported_users_metric_manage.rb +26 -0
  180. data/app/queries/decidim/metrics/user_reports_metric_manage.rb +26 -0
  181. data/app/queries/decidim/user_groups/accepted_memberships.rb +1 -1
  182. data/app/queries/decidim/user_groups/admin_memberships.rb +1 -1
  183. data/app/queries/decidim/user_groups/member_memberships.rb +1 -1
  184. data/app/services/decidim/activity_search.rb +1 -3
  185. data/app/services/decidim/base_diff_renderer.rb +1 -1
  186. data/app/services/decidim/data_portability_exporter.rb +1 -0
  187. data/app/services/decidim/email_notification_generator.rb +2 -2
  188. data/app/services/decidim/events_manager.rb +1 -1
  189. data/app/services/decidim/open_data_exporter.rb +36 -7
  190. data/app/services/decidim/zip_stream/zip_stream_writer.rb +3 -3
  191. data/app/uploaders/decidim/application_uploader.rb +22 -2
  192. data/app/uploaders/decidim/attachment_uploader.rb +2 -4
  193. data/app/uploaders/decidim/downloader.rb +9 -0
  194. data/app/uploaders/decidim/image_uploader.rb +9 -21
  195. data/app/uploaders/decidim/open_data_uploader.rb +5 -0
  196. data/app/uploaders/decidim/record_image_uploader.rb +2 -2
  197. data/app/validators/etiquette_validator.rb +0 -7
  198. data/app/validators/uploader_content_type_validator.rb +4 -2
  199. data/app/views/decidim/application/_document.html.erb +1 -1
  200. data/app/views/decidim/block_user_mailer/notify.html.erb +7 -0
  201. data/app/views/decidim/devise/confirmations/new.html.erb +1 -1
  202. data/app/views/decidim/devise/registrations/edit.html.erb +1 -1
  203. data/app/views/decidim/devise/unlocks/new.html.erb +1 -1
  204. data/app/views/decidim/messaging/conversations/_conversation.html.erb +1 -1
  205. data/app/views/decidim/messaging/conversations/_messages.html.erb +1 -1
  206. data/app/views/decidim/messaging/conversations/_show.html.erb +4 -4
  207. data/app/views/decidim/notifications_settings/show.html.erb +11 -0
  208. data/app/views/decidim/pages/_standalone.html.erb +3 -1
  209. data/app/views/decidim/reported_mailer/report.html.erb +9 -17
  210. data/app/views/decidim/shared/_check_boxes_tree.html.erb +3 -3
  211. data/app/views/decidim/shared/_component_announcement.html.erb +2 -2
  212. data/app/views/decidim/shared/participatory_space_filters/_filters.html.erb +1 -1
  213. data/app/views/decidim/user_report_mailer/notify.html.erb +7 -0
  214. data/app/views/decidim/widgets/_data_picker.html.erb +1 -1
  215. data/app/views/layouts/decidim/_application.html.erb +1 -0
  216. data/app/views/layouts/decidim/_js_configuration.html.erb +1 -1
  217. data/app/views/layouts/decidim/_main_footer.html.erb +6 -4
  218. data/app/views/layouts/decidim/_timeout_modal.html.erb +21 -0
  219. data/config/initializers/active_support.rb +7 -0
  220. data/config/initializers/devise.rb +1 -1
  221. data/config/initializers/omniauth.rb +1 -1
  222. data/config/locales/ar.yml +1 -7
  223. data/config/locales/bg.yml +1 -13
  224. data/config/locales/ca.yml +46 -17
  225. data/config/locales/cs.yml +118 -53
  226. data/config/locales/de.yml +83 -18
  227. data/config/locales/el.yml +1 -14
  228. data/config/locales/en.yml +79 -14
  229. data/config/locales/eo.yml +0 -1
  230. data/config/locales/es-MX.yml +31 -14
  231. data/config/locales/es-PY.yml +31 -14
  232. data/config/locales/es.yml +34 -17
  233. data/config/locales/eu.yml +4 -10
  234. data/config/locales/fi-plain.yml +80 -16
  235. data/config/locales/fi.yml +85 -21
  236. data/config/locales/fr-CA.yml +79 -14
  237. data/config/locales/fr.yml +76 -11
  238. data/config/locales/gl.yml +1 -15
  239. data/config/locales/hu.yml +1 -12
  240. data/config/locales/id-ID.yml +1 -7
  241. data/config/locales/is-IS.yml +0 -9
  242. data/config/locales/it.yml +72 -19
  243. data/config/locales/ja.yml +1 -14
  244. data/config/locales/lv.yml +1 -12
  245. data/config/locales/nl.yml +38 -13
  246. data/config/locales/no.yml +7 -14
  247. data/config/locales/pl.yml +81 -14
  248. data/config/locales/pt-BR.yml +1 -7
  249. data/config/locales/pt.yml +1 -14
  250. data/config/locales/ro-RO.yml +15 -25
  251. data/config/locales/ru.yml +7 -12
  252. data/config/locales/sk.yml +2 -13
  253. data/config/locales/sr-CS.yml +0 -9
  254. data/config/locales/sv.yml +5 -27
  255. data/config/locales/tr-TR.yml +65 -14
  256. data/config/locales/uk.yml +7 -9
  257. data/config/locales/zh-CN.yml +1 -14
  258. data/config/routes.rb +9 -4
  259. data/db/migrate/20170713131206_add_admin_to_users.rb +1 -1
  260. data/db/migrate/20180206143340_fix_reference_for_all_resources.rb +2 -0
  261. data/db/migrate/20180314085339_rename_maximum_votes_per_proposal_to_threshold_per_proposal.rb +2 -2
  262. data/db/migrate/20200929171508_remove_show_statistics_from_organizations.rb +7 -0
  263. data/db/migrate/20201010124755_create_decidim_user_moderations.rb +12 -0
  264. data/db/migrate/20201010124756_create_decidim_user_reports.rb +16 -0
  265. data/db/migrate/20201010224433_add_suspension_fields_to_decidim_users.rb +8 -0
  266. data/db/migrate/20201011074641_create_decidim_user_suspensions.rb +14 -0
  267. data/db/migrate/20201011081626_add_current_suspension_id_to_decidim_users.rb +7 -0
  268. data/db/migrate/20201013071533_add_reported_content_to_moderations.rb +7 -0
  269. data/db/migrate/20201019074554_add_locale_to_moderation_reports.rb +7 -0
  270. data/db/migrate/20201127114444_encrypt_authorization_metadatas.rb +35 -0
  271. data/db/migrate/20201128130723_add_allow_public_access_to_static_pages.rb +17 -0
  272. data/db/migrate/20201218144706_update_table_block_user_functionality.rb +8 -0
  273. data/db/migrate/20201218145252_rename_decidim_user_fields_for_block_functionality.rb +9 -0
  274. data/db/migrate/20210208134328_add_email_on_moderations_to_users.rb +7 -0
  275. data/db/seeds.rb +14 -13
  276. data/lib/decidim/amendable.rb +3 -2
  277. data/{app/functions/decidim/core → lib/decidim/api/functions}/component_finder_base.rb +1 -1
  278. data/{app/functions/decidim/core → lib/decidim/api/functions}/component_list.rb +4 -4
  279. data/{app/functions/decidim/core → lib/decidim/api/functions}/component_list_base.rb +3 -1
  280. data/lib/decidim/api/functions/needs_api_default_order.rb +24 -0
  281. data/{app/functions/decidim/core → lib/decidim/api/functions}/needs_api_filter_and_order.rb +0 -0
  282. data/{app/functions/decidim/core → lib/decidim/api/functions}/participatory_space_finder_base.rb +2 -2
  283. data/{app/functions/decidim/core → lib/decidim/api/functions}/participatory_space_list_base.rb +3 -1
  284. data/{app/functions/decidim/core → lib/decidim/api/functions}/user_entity_finder.rb +1 -4
  285. data/{app/functions/decidim/core → lib/decidim/api/functions}/user_entity_list.rb +1 -3
  286. data/{app/types/decidim/core → lib/decidim/api/input_filters}/base_input_filter.rb +0 -0
  287. data/{app/types/decidim/core → lib/decidim/api/input_filters}/component_input_filter.rb +20 -22
  288. data/{app/types/decidim/core → lib/decidim/api/input_filters}/has_hastaggable_input_filter.rb +1 -1
  289. data/{app/types/decidim/core → lib/decidim/api/input_filters}/has_localized_input_filter.rb +3 -3
  290. data/{app/types/decidim/core → lib/decidim/api/input_filters}/has_publishable_input_filter.rb +6 -6
  291. data/{app/types/decidim/core → lib/decidim/api/input_filters}/has_timestamp_input_filter.rb +12 -12
  292. data/{app/types/decidim/core → lib/decidim/api/input_filters}/participatory_space_input_filter.rb +0 -1
  293. data/lib/decidim/api/input_filters/user_entity_input_filter.rb +89 -0
  294. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/base_input_sort.rb +3 -2
  295. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/component_input_sort.rb +10 -11
  296. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/has_endorsable_input_sort.rb +2 -4
  297. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/has_localized_input_sort.rb +3 -3
  298. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/has_publishable_input_sort.rb +1 -1
  299. data/lib/decidim/api/input_sorts/has_timestamp_input_sort.rb +12 -0
  300. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/participatory_space_input_sort.rb +1 -1
  301. data/{app/types/decidim/core → lib/decidim/api/input_sorts}/user_entity_input_sort.rb +4 -4
  302. data/lib/decidim/api/{amendable_entity_interface.rb → interfaces/amendable_entity_interface.rb} +5 -5
  303. data/lib/decidim/api/interfaces/amendable_interface.rb +17 -0
  304. data/lib/decidim/api/{attachable_interface.rb → interfaces/attachable_interface.rb} +3 -3
  305. data/lib/decidim/api/interfaces/author_interface.rb +32 -0
  306. data/lib/decidim/api/interfaces/authorable_interface.rb +23 -0
  307. data/lib/decidim/api/{categorizable_interface.rb → interfaces/categorizable_interface.rb} +3 -3
  308. data/lib/decidim/api/interfaces/coauthorable_interface.rb +30 -0
  309. data/lib/decidim/api/interfaces/component_interface.rb +22 -0
  310. data/lib/decidim/api/interfaces/endorsable_interface.rb +19 -0
  311. data/lib/decidim/api/{fingerprint_interface.rb → interfaces/fingerprint_interface.rb} +3 -3
  312. data/lib/decidim/api/interfaces/participatory_space_interface.rb +48 -0
  313. data/lib/decidim/api/interfaces/participatory_space_resourceable_interface.rb +25 -0
  314. data/lib/decidim/api/{scopable_interface.rb → interfaces/scopable_interface.rb} +3 -3
  315. data/lib/decidim/api/interfaces/timestamps_interface.rb +15 -0
  316. data/lib/decidim/api/interfaces/traceable_interface.rb +14 -0
  317. data/lib/decidim/api/scalars/date_time_type.rb +17 -0
  318. data/lib/decidim/api/scalars/date_type.rb +17 -0
  319. data/lib/decidim/api/types/amendment_type.rb +19 -0
  320. data/lib/decidim/api/types/area_api_type.rb +16 -0
  321. data/lib/decidim/api/types/area_type_type.rb +13 -0
  322. data/lib/decidim/api/types/attachment_type.rb +13 -0
  323. data/lib/decidim/api/types/category_type.rb +14 -0
  324. data/{app/types/decidim/core → lib/decidim/api/types}/component_type.rb +2 -4
  325. data/lib/decidim/api/types/coordinates_type.rb +21 -0
  326. data/lib/decidim/api/types/decidim_type.rb +13 -0
  327. data/lib/decidim/api/types/fingerprint_type.rb +12 -0
  328. data/lib/decidim/api/types/hashtag_type.rb +13 -0
  329. data/lib/decidim/api/types/localized_string_type.rb +13 -0
  330. data/lib/decidim/api/types/metric_history_type.rb +18 -0
  331. data/lib/decidim/api/types/metric_type.rb +13 -0
  332. data/lib/decidim/api/types/organization_type.rb +17 -0
  333. data/lib/decidim/api/types/participatory_space_link_type.rb +22 -0
  334. data/lib/decidim/api/types/participatory_space_type.rb +10 -0
  335. data/lib/decidim/api/types/scope_api_type.rb +16 -0
  336. data/lib/decidim/api/types/session_type.rb +22 -0
  337. data/lib/decidim/api/types/statistic_type.rb +20 -0
  338. data/lib/decidim/api/types/trace_version_type.rb +21 -0
  339. data/lib/decidim/api/types/translated_field_type.rb +36 -0
  340. data/lib/decidim/api/types/user_group_type.rb +64 -0
  341. data/lib/decidim/api/types/user_type.rb +67 -0
  342. data/lib/decidim/attachment_attributes.rb +57 -0
  343. data/lib/decidim/attributes/clean_string.rb +37 -0
  344. data/lib/decidim/attributes.rb +1 -0
  345. data/lib/decidim/coauthorable.rb +3 -3
  346. data/lib/decidim/component_manifest.rb +17 -0
  347. data/lib/decidim/content_block_manifest.rb +1 -1
  348. data/lib/decidim/content_parsers/hashtag_parser.rb +3 -6
  349. data/lib/decidim/content_parsers/user_group_parser.rb +2 -5
  350. data/lib/decidim/content_parsers/user_parser.rb +2 -5
  351. data/lib/decidim/content_processor.rb +1 -1
  352. data/lib/decidim/content_renderers/hashtag_renderer.rb +3 -6
  353. data/lib/decidim/core/api.rb +71 -16
  354. data/lib/decidim/core/engine.rb +35 -6
  355. data/lib/decidim/core/test/factories.rb +53 -15
  356. data/lib/decidim/core/test/shared_examples/admin_resource_gallery_examples.rb +1 -1
  357. data/lib/decidim/core/test/shared_examples/amendable/amendment_accepted_event_examples.rb +1 -1
  358. data/lib/decidim/core/test/shared_examples/amendable/amendment_promoted_event_examples.rb +1 -1
  359. data/lib/decidim/core/test/shared_examples/amendable/amendment_rejected_event_examples.rb +1 -1
  360. data/lib/decidim/core/test/shared_examples/categorizable_interface_examples.rb +6 -14
  361. data/lib/decidim/core/test/shared_examples/comments_examples.rb +11 -9
  362. data/lib/decidim/core/test/shared_examples/component_type.rb +1 -1
  363. data/lib/decidim/core/test/shared_examples/controller_render_views.rb +28 -0
  364. data/lib/decidim/core/test/shared_examples/follows_examples.rb +1 -1
  365. data/lib/decidim/core/test/shared_examples/logo_email.rb +1 -1
  366. data/lib/decidim/core/test/shared_examples/map_examples.rb +1 -1
  367. data/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +1 -1
  368. data/lib/decidim/core/test/shared_examples/reportable.rb +8 -0
  369. data/lib/decidim/core/test/shared_examples/rich_text_editor_examples.rb +1 -1
  370. data/lib/decidim/core/test/shared_examples/searchable_participatory_space_examples.rb +2 -3
  371. data/lib/decidim/core/test/shared_examples/searchable_results_examples.rb +46 -0
  372. data/lib/decidim/core/test/shared_examples/static_pages_examples.rb +43 -0
  373. data/lib/decidim/core/test.rb +2 -0
  374. data/lib/decidim/core/version.rb +1 -1
  375. data/lib/decidim/core.rb +11 -3
  376. data/lib/decidim/diffy_extension.rb +2 -2
  377. data/lib/decidim/exporters/csv.rb +3 -2
  378. data/lib/decidim/exporters/export_data.rb +1 -1
  379. data/lib/decidim/faker/internet.rb +17 -0
  380. data/lib/decidim/faker/localized.rb +43 -20
  381. data/lib/decidim/file_validator_humanizer.rb +6 -4
  382. data/lib/decidim/form_builder.rb +33 -22
  383. data/lib/decidim/gamification/badge_scorer.rb +3 -2
  384. data/lib/decidim/gamification/base_event.rb +2 -2
  385. data/lib/decidim/geocodable.rb +2 -0
  386. data/lib/decidim/has_category.rb +1 -1
  387. data/lib/decidim/has_private_users.rb +1 -1
  388. data/lib/decidim/importers/import_manifest.rb +36 -0
  389. data/lib/decidim/map/autocomplete.rb +11 -1
  390. data/lib/decidim/metric_operation.rb +5 -6
  391. data/lib/decidim/participatory_space_resourceable.rb +1 -3
  392. data/lib/decidim/query_extensions.rb +90 -69
  393. data/lib/decidim/randomable.rb +6 -1
  394. data/lib/decidim/record_encryptor.rb +131 -0
  395. data/lib/decidim/reportable.rb +26 -0
  396. data/lib/decidim/resource_manifest.rb +3 -0
  397. data/lib/decidim/resourceable.rb +6 -6
  398. data/lib/decidim/scopable.rb +1 -1
  399. data/lib/decidim/search_resource_fields_mapper.rb +1 -1
  400. data/lib/decidim/searchable.rb +9 -0
  401. data/lib/decidim/settings_manifest.rb +2 -1
  402. data/lib/decidim/shareable_with_token.rb +0 -1
  403. data/lib/decidim/translatable_attributes.rb +2 -1
  404. data/lib/decidim/translatable_resource.rb +10 -0
  405. data/lib/decidim/user_reportable.rb +33 -0
  406. data/lib/decidim/view_model.rb +26 -0
  407. data/lib/premailer/adapter/decidim.rb +4 -4
  408. data/lib/tasks/decidim_data_portability_tasks.rake +4 -4
  409. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ko.js +18 -0
  410. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.vi.js +14 -0
  411. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.zh-CN.js +14 -0
  412. data/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.zh-TW.js +14 -0
  413. metadata +190 -95
  414. data/app/functions/decidim/core/participatory_space_finder.rb +0 -11
  415. data/app/functions/decidim/core/participatory_space_list.rb +0 -11
  416. data/app/helpers/decidim/cache_helper.rb +0 -14
  417. data/app/types/decidim/core/amendment_type.rb +0 -26
  418. data/app/types/decidim/core/area_api_type.rb +0 -16
  419. data/app/types/decidim/core/area_type_type.rb +0 -14
  420. data/app/types/decidim/core/attachment_type.rb +0 -14
  421. data/app/types/decidim/core/category_type.rb +0 -16
  422. data/app/types/decidim/core/coordinates_type.rb +0 -19
  423. data/app/types/decidim/core/date_time_type.rb +0 -12
  424. data/app/types/decidim/core/date_type.rb +0 -13
  425. data/app/types/decidim/core/decidim_type.rb +0 -19
  426. data/app/types/decidim/core/fingerprint_type.rb +0 -15
  427. data/app/types/decidim/core/has_timestamp_input_sort.rb +0 -12
  428. data/app/types/decidim/core/hashtag_type.rb +0 -13
  429. data/app/types/decidim/core/localized_string_type.rb +0 -14
  430. data/app/types/decidim/core/metric_history_type.rb +0 -17
  431. data/app/types/decidim/core/metric_type.rb +0 -14
  432. data/app/types/decidim/core/organization_type.rb +0 -20
  433. data/app/types/decidim/core/participatory_space_link_type.rb +0 -24
  434. data/app/types/decidim/core/participatory_space_type.rb +0 -12
  435. data/app/types/decidim/core/scope_api_type.rb +0 -16
  436. data/app/types/decidim/core/session_type.rb +0 -19
  437. data/app/types/decidim/core/statistic_type.rb +0 -22
  438. data/app/types/decidim/core/trace_version_type.rb +0 -29
  439. data/app/types/decidim/core/translated_field_type.rb +0 -45
  440. data/app/types/decidim/core/user_entity_input_filter.rb +0 -81
  441. data/app/types/decidim/core/user_group_type.rb +0 -51
  442. data/app/types/decidim/core/user_type.rb +0 -52
  443. data/app/views/decidim/shared/_announcement.html.erb +0 -1
  444. data/app/views/decidim/shared/_flag_modal.html.erb +0 -20
  445. data/db/migrate/20210302150803_invalidate_all_sessions_for_deleted_users.rb +0 -11
  446. data/lib/decidim/api/amendable_interface.rb +0 -18
  447. data/lib/decidim/api/author_interface.rb +0 -29
  448. data/lib/decidim/api/authorable_interface.rb +0 -22
  449. data/lib/decidim/api/coauthorable_interface.rb +0 -29
  450. data/lib/decidim/api/component_interface.rb +0 -20
  451. data/lib/decidim/api/endorsable_interface.rb +0 -22
  452. data/lib/decidim/api/participatory_space_interface.rb +0 -47
  453. data/lib/decidim/api/participatory_space_resourceable_interface.rb +0 -21
  454. data/lib/decidim/api/timestamps_interface.rb +0 -21
  455. data/lib/decidim/api/traceable_interface.rb +0 -14
@@ -36,7 +36,7 @@ en:
36
36
  decidim/profile_updated_event: Profile updated
37
37
  decidim/promote_to_admin: Promoted to group admin
38
38
  decidim/removed_from_group: Removed from group
39
- decidim/resource_endorsed_event: Resurce endorsed
39
+ decidim/resource_endorsed_event: Resource endorsed
40
40
  activerecord:
41
41
  attributes:
42
42
  decidim/user:
@@ -80,11 +80,12 @@ en:
80
80
  logo: "%{organization}'s official logo"
81
81
  skip_button: Skip to main content
82
82
  account:
83
+ blocked: This account has been blocked due to Terms and Conditions violation
83
84
  data_portability_export:
84
85
  file_no_exists: File does not exist
85
86
  notice: The download of your data is currently in progress. You'll receive an email when it's complete.
86
87
  delete:
87
- alert: This action cannot be undone. If you delete your account you won't be able to log in.
88
+ alert: This action cannot be undone. If you delete your account you won't be able to log in with your credentials. The deletion of your account will result in the anonymization of your contributions. You will still be able to create a new account, but these contributions will not be associated with it.
88
89
  confirm:
89
90
  close: Close window
90
91
  ok: Yes, I want to delete my account
@@ -114,6 +115,8 @@ en:
114
115
  delete: "%{user_name} removed the %{resource_name} component from the %{space_name} space"
115
116
  publish: "%{user_name} published the %{resource_name} component in the %{space_name} space"
116
117
  unpublish: "%{user_name} unpublished the %{resource_name} component from the %{space_name} space"
118
+ impersonation_log:
119
+ manage: "%{user_name} has managed %{resource_name} because %{reason}"
117
120
  moderation:
118
121
  hide: "%{user_name} hid a resource of type %{resource_type} in the %{space_name} space"
119
122
  unreport: "%{user_name} unreported a resource of type %{resource_type} in the %{space_name} space"
@@ -130,7 +133,7 @@ en:
130
133
  update: "%{user_name} updated the organization settings"
131
134
  participatory_space_private_user:
132
135
  create: "%{user_name} invited %{resource_name} to be a private participant"
133
- create_via_csv: "%{user_name} invited %{resource_name} via csv to be a private participant"
136
+ create_via_csv: "%{user_name} invited %{resource_name} via CSV to be a private participant"
134
137
  delete: "%{user_name} removed the participant %{resource_name} as a private participant"
135
138
  scope:
136
139
  create: "%{user_name} created the %{resource_name} scope"
@@ -144,15 +147,21 @@ en:
144
147
  delete: "%{user_name} deleted the %{resource_name} static page"
145
148
  update: "%{user_name} updated the %{resource_name} static page"
146
149
  user:
150
+ block: "%{user_name} blocked user %{resource_name}"
147
151
  invite: "%{user_name} invited the participant %{resource_name} with role: %{role}"
148
152
  officialize: "%{user_name} officialized the participant %{resource_name}"
153
+ promote: "%{user_name} has promoted %{resource_name}"
149
154
  remove_from_admin: "%{user_name} removed the participant %{resource_name} with role: %{role}"
150
155
  show_email: "%{user_name} retrieved the email of the participant %{resource_name}"
156
+ transfer: "%{user_name} transfered the participant %{resource_name}"
157
+ unblock: "%{user_name} unblocked user %{resource_name}"
151
158
  unofficialize: "%{user_name} unofficialized the participant %{resource_name}"
152
159
  user_group:
153
160
  reject: "%{user_name} rejected the %{resource_name} group verification"
154
161
  verify: "%{user_name} verified the group %{resource_name}"
155
162
  verify_via_csv: "%{user_name} verified the group %{resource_name} via a CSV file"
163
+ user_moderation:
164
+ unreport: "%{user_name} unreported an %{resource_type} - %{unreported_user_name}"
156
165
  admin_terms_of_use:
157
166
  default_body: "<h2>ADMIN TERMS OF USE</h2><p>We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:</p><ol><li>Respect the privacy of others.</li><li>Think before you click.</li><li>With great power comes great responsibility.</li></ol>"
158
167
  alert:
@@ -275,7 +284,7 @@ en:
275
284
  dummy_authorization_workflow:
276
285
  name: Dummy authorization workflow
277
286
  errors:
278
- duplicate_authorization: A participant is already authorized with the same data.
287
+ duplicate_authorization: A participant is already authorized with the same data. An administrator will contact you to verify your details.
279
288
  expired_at: Expired at %{timestamp}
280
289
  expires_at: Expires at %{timestamp}
281
290
  foo_authorization:
@@ -321,6 +330,13 @@ en:
321
330
  title: Confirm your email
322
331
  show:
323
332
  close_modal: Close modal
333
+ block_user_mailer:
334
+ notify:
335
+ body_1: Your account was blocked.
336
+ body_2: 'Reason: %{justification}'
337
+ greetings: Greetings,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
338
+ hello: Hello,
339
+ subject: Your account was blocked by %{organization_name}
324
340
  collapsible_list:
325
341
  hidden_elements_count:
326
342
  one: and %{count} more
@@ -369,6 +385,13 @@ en:
369
385
  dummy_step_translatable_text: Dummy Step Translatable Text
370
386
  contact: Contact
371
387
  content_blocks:
388
+ cta:
389
+ name: Image, text and Call To Action button
390
+ cta_settings_form:
391
+ background_image: Background image
392
+ button_text: Call To Action text
393
+ button_url: Call To Action URL
394
+ description: Description
372
395
  footer_sub_hero:
373
396
  name: Footer sub hero banner
374
397
  hero:
@@ -378,6 +401,11 @@ en:
378
401
  welcome_text: Welcome text
379
402
  highlighted_content_banner:
380
403
  name: Highlighted content banner
404
+ highlighted_elements_settings_form:
405
+ orders:
406
+ label: 'Sort elements by:'
407
+ random: Random
408
+ recent: Most recent
381
409
  how_to_participate:
382
410
  name: How to participate
383
411
  html:
@@ -402,7 +430,7 @@ en:
402
430
  ready: Ready
403
431
  show:
404
432
  download_data: Download the data
405
- download_data_description: A file with all the information associated with the account will be sent to <strong>%{user_email}</strong>
433
+ download_data_description: A file containing all the information associated with your account will be sent to <strong>%{user_email}</strong>. This email will contain a .zip file and a password to open it.<br/><br/>To unzip the file, you will need <a href="https://www.7-zip.org/">7-Zip</a> (for Windows) or <a href="https://www.keka.io/">Keka</a> (for MacOS). If you use Linux, most of the time you will have it installed by default. If not, you can use <a href="https://gitlab.gnome.org/GNOME/file-roller">File Roller</a> or <a href="https://peazip.github.io">PeaZip</a>).
406
434
  request_data: Request data
407
435
  datepicker:
408
436
  help_text: 'Expected format: %{datepicker_format}'
@@ -412,7 +440,7 @@ en:
412
440
  email_already_exists: Another account is using the same email address
413
441
  new:
414
442
  complete_profile: Complete profile
415
- nickname_help: Your alias in %{organization}
443
+ nickname_help: Your alias in %{organization}. Can only contain letters, numbers, '-' and '_'.
416
444
  sign_up: Please complete your profile
417
445
  subtitle: Please fill in the following form in order to complete the sign up
418
446
  username_help: Public name that appears on your posts. With the aim of guaranteeing the anonymity, can be any name.
@@ -421,7 +449,7 @@ en:
421
449
  already_have_an_account?: Already have an account?
422
450
  newsletter: Receive an occasional newsletter with relevant information
423
451
  newsletter_title: Contact permission
424
- nickname_help: Your alias in %{organization}
452
+ nickname_help: Your alias in %{organization}. Can only contain letters, numbers, '-' and '_'.
425
453
  password_help: "%{minimun_characters} characters minimum, must not be too common (e.g. 123456) and must be different from your nickname and your email."
426
454
  sign_in: Log in
427
455
  sign_up: Sign up
@@ -438,6 +466,8 @@ en:
438
466
  register: Create an account
439
467
  sign_in_disabled: You can access with an external account
440
468
  sign_up_disabled: Sign up is disabled, you can use an existing account to access
469
+ user:
470
+ timed_out: You were inactive for too long and you have been automatically signed out from the service. If you would like to continue using the service, please sign in again.
441
471
  shared:
442
472
  newsletter_modal:
443
473
  buttons:
@@ -613,6 +643,14 @@ en:
613
643
  notification_title: The %{user_group_name} user group has updated its profile, leaving it unverified. You can now verify it in the <a href="%{groups_admin_path}">admin panel</a>.
614
644
  notification_event:
615
645
  notification_title: An event occured to <a href="%{resource_path}">%{resource_title}</a>.
646
+ reports:
647
+ resource_hidden:
648
+ email_intro: An administrator removed your %{resource_type} because it has been reported as %{report_reasons}.
649
+ email_outro: You have received this notification because you are an author of the removed content.
650
+ email_subject: Your %{resource_type} has been removed
651
+ notification_title: |-
652
+ An administrator removed your %{resource_type} because it has been reported as %{report_reasons}.</br>
653
+ <i>%{resource_content}</i>
616
654
  resource_endorsed:
617
655
  email_intro: '%{endorser_name} %{endorser_nickname}, who you are following, has just endorsed "%{resource_title}" and we think it may be interesting to you. Check it out and contribute:'
618
656
  email_outro: You have received this notification because you are following %{endorser_nickname}. You can stop receiving notifications following the previous link.
@@ -626,7 +664,7 @@ en:
626
664
  notification_title: The <a href="%{resource_path}">profile page</a> of %{name} (%{nickname}), who you are following, has been updated.
627
665
  export_mailer:
628
666
  data_portability_export:
629
- click_button: 'Click the next button to download your data. <br/> You will have the file available until %{date}. <br/> You will need <a href=''https://www.7-zip.org/''>7-Zip</a> to open it. Password: %{password}'
667
+ click_button: 'Click the next link to download your data.<br/>The file will be available until %{date}.<br/>You will need <a href="https://www.7-zip.org/">7-Zip</a> (for Windows), <a href="https://www.keka.io/en/">Keka</a> (for MacOS) or <a href="https://peazip.github.io">PeaZip</a> (for Linux) to open it. Password: %{password}'
630
668
  download: Download
631
669
  export:
632
670
  ready: Please find attached a zipped version of your export.
@@ -659,7 +697,7 @@ en:
659
697
  create:
660
698
  button: Follow
661
699
  error: There was a problem following this resource.
662
- participatory_space: Already following <span class="show-for-sr">%{resource_name}</span>
700
+ participatory_space: Following <span class="show-for-sr">%{resource_name}</span>
663
701
  destroy:
664
702
  button: Stop following
665
703
  error: There was a problem unfollowing this resource.
@@ -676,7 +714,7 @@ en:
676
714
  file:
677
715
  explanation: 'Guidance for file:'
678
716
  message_1: Has to be an image or a document.
679
- message_2: For images, use preferrably landscape images, the service crops the image.
717
+ message_2: For images, use preferrably landscape images, the service crops the image. For CSV files, the separator between columns must be a comma (",")
680
718
  image:
681
719
  explanation: 'Guidance for image:'
682
720
  message_1: Preferrably a landscape image that does not have any text.
@@ -918,7 +956,7 @@ en:
918
956
  show:
919
957
  back: Back to all conversations
920
958
  chat_with: Conversation with
921
- not_allowed: This user does not accept any more direct messages.
959
+ not_allowed: This participant does not accept direct messages.
922
960
  title: Conversation with %{usernames}
923
961
  start:
924
962
  send: Send
@@ -927,7 +965,7 @@ en:
927
965
  error: Message was not sent due to an error
928
966
  metrics:
929
967
  download:
930
- csv: Download data (csv)
968
+ csv: Download data (CSV)
931
969
  followers:
932
970
  description: Number of participants that follow this participation space
933
971
  object: followers
@@ -989,8 +1027,10 @@ en:
989
1027
  no_notifications: No notifications yet.
990
1028
  notifications_settings:
991
1029
  show:
1030
+ administrators: Administrators
992
1031
  allow_public_contact: Allow anyone to send me a direct message, even if I don't follow them.
993
1032
  direct_messages: Receive direct messages from anyone
1033
+ email_on_moderations: I want to receive an email every time something is reported for moderation.
994
1034
  email_on_notification: I want to receive an email every time I receive a notification.
995
1035
  everything_followed: Everything I follow
996
1036
  newsletter_notifications: I want to receive newsletters
@@ -1086,6 +1126,7 @@ en:
1086
1126
  not_allowed: You are not allowed to view this content
1087
1127
  profile:
1088
1128
  deleted: Participant deleted
1129
+ inaccessible_message: This profile is inaccessible due to Terms and Conditions violation!
1089
1130
  view: View
1090
1131
  profiles:
1091
1132
  default_officialization_text_for_user_groups: This group is publicly verified, its name has been verified to correspond with its real name
@@ -1099,6 +1140,7 @@ en:
1099
1140
  groups: Groups
1100
1141
  members: Members
1101
1142
  officialized: Official participant
1143
+ send_private_message: Send private message
1102
1144
  timeline: Timeline
1103
1145
  view_full_profile: View full profile
1104
1146
  sidebar:
@@ -1126,13 +1168,15 @@ en:
1126
1168
  report:
1127
1169
  authors: Authors
1128
1170
  content: Reported content
1171
+ content_original_language: Content original language
1129
1172
  date: Reported on
1130
1173
  details: Details
1131
1174
  hello: Hello %{name},
1132
- manage_moderations: Manage moderations
1175
+ id: ID
1133
1176
  participatory_space: Participatory space
1134
1177
  reason: Reason
1135
1178
  report_html: <p>The following <a href="%{url}">content</a> has been reported.</p>
1179
+ see_report: See report
1136
1180
  subject: A resource has been reported
1137
1181
  reports:
1138
1182
  create:
@@ -1205,6 +1249,15 @@ en:
1205
1249
  report: Report
1206
1250
  spam: Contains clickbait, advertising, scams or script bots.
1207
1251
  title: Report inappropriate content
1252
+ flag_user_modal:
1253
+ already_reported: This content is already reported and it will be reviewed by an admin.
1254
+ close: Close
1255
+ description: What is inappropriate about the user?
1256
+ does_not_belong: Contains illegal activity, suicide threats, personal information, or something else you think doesn't belong on %{organization_name}.
1257
+ offensive: Contains racism, sexism, slurs, personal attacks, death threats, suicide requests or any form of hate speech.
1258
+ report: Report
1259
+ spam: Contains clickbait, advertising, scams or script bots.
1260
+ title: Report inappropriate User
1208
1261
  floating_help:
1209
1262
  close: Close help
1210
1263
  help: Help
@@ -1280,6 +1333,13 @@ en:
1280
1333
  update:
1281
1334
  error: There was a problem updating your interests.
1282
1335
  success: Your interests have been successfully updated.
1336
+ user_report_mailer:
1337
+ notify:
1338
+ body_1: User %{user} has been reported by %{token}
1339
+ body_2: 'Reason: %{reason}'
1340
+ greetings: Greetings,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
1341
+ hello: Hello %{admin},
1342
+ subject: A new user has been reported in %{organization_name}
1283
1343
  version:
1284
1344
  show:
1285
1345
  back_to_resource: Go back
@@ -1465,7 +1525,7 @@ en:
1465
1525
  messages:
1466
1526
  already_confirmed: was already confirmed, please try signing in
1467
1527
  confirmation_period_expired: needs to be confirmed within %{period}, please request a new one
1468
- content_type_whitelist_error: the file type is not valid
1528
+ content_type_allowlist_error: the file type is not valid
1469
1529
  cycle_detected: a scope's parent can't be one of its descendants
1470
1530
  expired: has expired, please request a new one
1471
1531
  file_size_is_less_than_or_equal_to: file size must be less than or equal to %{count}
@@ -1525,6 +1585,11 @@ en:
1525
1585
  instagram: "%{organization} at Instagram"
1526
1586
  twitter: "%{organization} at Twitter"
1527
1587
  youtube: "%{organization} at YouTube"
1588
+ timeout_modal:
1589
+ body: You have been inactive for %{minutes} minutes. If you continue being inactive, you will be automatically signed out for your own security.
1590
+ continue_session: Continue session
1591
+ sign_out: Sign out
1592
+ title: Would you like to continue your session?
1528
1593
  user_menu:
1529
1594
  account: 'User account: %{name}'
1530
1595
  admin_dashboard: Admin dashboard
@@ -61,7 +61,6 @@ eo:
61
61
  file_no_exists: Dosiero ne ekzistas
62
62
  notice: La malŝarĝo de viaj datumoj nuntempe progresas. Vi ricevos retpoŝton kiam ĝi estos kompleta.
63
63
  delete:
64
- alert: Ĉi tiu ago ne eblas. Se vi forigas vian konton, vi ne povos ensaluti.
65
64
  confirm:
66
65
  close: Fermu la fenestron
67
66
  amendments:
@@ -35,7 +35,6 @@ es-MX:
35
35
  decidim/profile_updated_event: Perfil actualizado
36
36
  decidim/promote_to_admin: Promovido a administrador de grupo
37
37
  decidim/removed_from_group: Eliminado del grupo
38
- decidim/resource_endorsed_event: Adhesión a recurso realizada
39
38
  activerecord:
40
39
  attributes:
41
40
  decidim/user:
@@ -79,11 +78,11 @@ es-MX:
79
78
  logo: "Logo oficial de %{organization}"
80
79
  skip_button: Saltar al contenido principal
81
80
  account:
81
+ blocked: Esta cuenta ha sido bloqueada por una violación de los Términos y Condiciones de uso
82
82
  data_portability_export:
83
83
  file_no_exists: El archivo no existe
84
84
  notice: Tus datos están actualmente en progreso. Recibirás un correo electrónico cuando se complete.
85
85
  delete:
86
- alert: Esta acción no se puede deshacer. Si eliminas tu cuenta, no podrás iniciar sesión.
87
86
  confirm:
88
87
  close: Cerrar ventana
89
88
  ok: Sí, quiero eliminar mi cuenta
@@ -113,6 +112,8 @@ es-MX:
113
112
  delete: "%{user_name} eliminó el componente %{resource_name} del espacio %{space_name}"
114
113
  publish: "%{user_name} publicó el componente %{resource_name} en el espacio %{space_name}"
115
114
  unpublish: "%{user_name} ha despublicado el componente %{resource_name} del espacio %{space_name}"
115
+ impersonation_log:
116
+ manage: "%{user_name} ha gestionado a %{resource_name} porque %{reason}"
116
117
  moderation:
117
118
  hide: "%{user_name} escondió un recurso de tipo %{resource_type} en el espacio %{space_name}"
118
119
  unreport: "%{user_name} publicó un recurso de tipo %{resource_type} en el espacio %{space_name}"
@@ -129,7 +130,7 @@ es-MX:
129
130
  update: "%{user_name} actualizó la configuración de la organización"
130
131
  participatory_space_private_user:
131
132
  create: "%{user_name} ha invitado a %{resource_name} a ser un usuario privado"
132
- create_via_csv: "%{user_name} ha invitado a %{resource_name} como participante privada"
133
+ create_via_csv: "%{user_name} invitó a %{resource_name} vía CSV a ser un participante privada"
133
134
  delete: "%{user_name} ha eliminado el usuario %{resource_name} como usuario privado"
134
135
  scope:
135
136
  create: "%{user_name} creó el ámbito %{resource_name}"
@@ -143,10 +144,14 @@ es-MX:
143
144
  delete: "%{user_name} eliminó la página estática %{resource_name}"
144
145
  update: "%{user_name} actualizó la página estática %{resource_name}"
145
146
  user:
147
+ block: "%{user_name} ha bloqueado a la usuaria %{resource_name}"
146
148
  invite: "%{user_name} invitó al usuario %{resource_name} con el rol: %{role}"
147
149
  officialize: "%{user_name} oficializó al usuario %{resource_name}"
150
+ promote: "%{user_name} ha promocionado a %{resource_name}"
148
151
  remove_from_admin: "%{user_name} eliminó al usuario %{resource_name} con el rol: %{role}"
149
152
  show_email: "%{user_name} ha recuperado el correo electrónico de la participante %{resource_name}"
153
+ transfer: "%{user_name} ha transferido a la participante %{resource_name}"
154
+ unblock: "%{user_name} desoficializó a la usuaria %{resource_name}"
150
155
  unofficialize: "%{user_name} desoficializó al usuario %{resource_name}"
151
156
  user_group:
152
157
  reject: "%{user_name} rechazó la verificación del grupo de usuarios %{resource_name}"
@@ -273,6 +278,8 @@ es-MX:
273
278
  name: Autorización de ejemplo
274
279
  dummy_authorization_workflow:
275
280
  name: Flujo de trabajo de autorización de ejemplo
281
+ errors:
282
+ duplicate_authorization: Ya hay una participante autorizada con los mismos datos. Una administradora se pondrá en contacto contigo para verificar tus datos.
276
283
  expired_at: Caducado el %{timestamp}
277
284
  expires_at: Caduca en %{timestamp}
278
285
  foo_authorization:
@@ -318,6 +325,13 @@ es-MX:
318
325
  title: Confirma tu email
319
326
  show:
320
327
  close_modal: Cerrar el modal
328
+ block_user_mailer:
329
+ notify:
330
+ body_1: Tu cuenta ha sido bloqueda.
331
+ body_2: 'Motivo: %{justification}'
332
+ greetings: Saludos, <br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
333
+ hello: Hola,
334
+ subject: Tu cuenta fue bloqueada por %{organization_name}
321
335
  collapsible_list:
322
336
  hidden_elements_count:
323
337
  one: y %{count} más
@@ -366,6 +380,13 @@ es-MX:
366
380
  dummy_step_translatable_text: Fase de ejemplo traducible
367
381
  contact: Contacto
368
382
  content_blocks:
383
+ cta:
384
+ name: Imagen, texto y botón de acción
385
+ cta_settings_form:
386
+ background_image: Imagen de fondo
387
+ button_text: Texto del botón de acción
388
+ button_url: URL del botón de acción
389
+ description: Descripción
369
390
  footer_sub_hero:
370
391
  name: Banner de sub-hero de pie de página
371
392
  hero:
@@ -375,6 +396,11 @@ es-MX:
375
396
  welcome_text: Texto de bienvenida
376
397
  highlighted_content_banner:
377
398
  name: Banner de contenido resaltado
399
+ highlighted_elements_settings_form:
400
+ orders:
401
+ label: 'Ordenar elementos por:'
402
+ random: Aleatorio
403
+ recent: Más recientes
378
404
  how_to_participate:
379
405
  name: Como participar
380
406
  html:
@@ -399,7 +425,6 @@ es-MX:
399
425
  ready: Listo
400
426
  show:
401
427
  download_data: Descargar los datos
402
- download_data_description: Un archivo con toda la información asociada con la cuenta se enviará a <strong>%{user_email}</strong>
403
428
  request_data: Solicitar datos
404
429
  datepicker:
405
430
  help_text: 'Formato esperado: %{datepicker_format}'
@@ -409,7 +434,6 @@ es-MX:
409
434
  email_already_exists: Otra cuenta utiliza la misma dirección de correo electrónico
410
435
  new:
411
436
  complete_profile: Completar perfil
412
- nickname_help: Tu alias en %{organization}
413
437
  sign_up: Por favor, completa tu perfil
414
438
  subtitle: Por favor, rellena el siguiente formulario con el fin de completar la inscripción
415
439
  username_help: Nombre público que aparece en tus mensajes. Con el objetivo de garantizar el anonimato, puede ser cualquier nombre.
@@ -418,7 +442,6 @@ es-MX:
418
442
  already_have_an_account?: '¿Ya tienes una cuenta?'
419
443
  newsletter: Quiero recibir un boletín ocasional con información relevante
420
444
  newsletter_title: Permiso de contacto
421
- nickname_help: Tu alias en %{organization}
422
445
  password_help: "%{minimun_characters} caracteres mínimos, no debe ser demasiado común (por ejemplo, 123456) y debe ser diferente de tu apodo y tu correo electrónico."
423
446
  sign_in: Entra
424
447
  sign_up: Regístrate
@@ -619,7 +642,6 @@ es-MX:
619
642
  notification_title: La página <a href="%{resource_path}">de perfil</a> de %{name} (%{nickname}), a quien estás siguiendo, se ha actualizado.
620
643
  export_mailer:
621
644
  data_portability_export:
622
- click_button: 'Haz clic en el siguiente botón para descargar tus datos. <br/> Tendrás el archivo disponible hasta %{date}.'
623
645
  download: Descargar
624
646
  export:
625
647
  ready: Adjunto encontrará una versión comprimida de su exportación.
@@ -652,7 +674,6 @@ es-MX:
652
674
  create:
653
675
  button: Seguir
654
676
  error: Ha habido un error siguiendo este recurso.
655
- participatory_space: Siguiendo
656
677
  destroy:
657
678
  button: Dejar de seguir
658
679
  error: Ha habido un error dejando de seguir este recurso.
@@ -669,7 +690,6 @@ es-MX:
669
690
  file:
670
691
  explanation: 'Instrucciones para el archivo:'
671
692
  message_1: Tiene que ser una imagen o un documento.
672
- message_2: Para las imágenes, utilizar imágenes apaisadas preferiblemente, el servicio recorta la imagen.
673
693
  image:
674
694
  explanation: 'Instrucciones para la imagen:'
675
695
  message_1: Preferiblemente una imagen de paisaje que no tenga ningún texto.
@@ -911,7 +931,6 @@ es-MX:
911
931
  show:
912
932
  back: Volver a todas las conversaciones
913
933
  chat_with: Conversación con
914
- not_allowed: Esta participante no acepta mensajes directos.
915
934
  title: Conversación con %{usernames}
916
935
  start:
917
936
  send: Enviar
@@ -919,8 +938,6 @@ es-MX:
919
938
  update:
920
939
  error: El mensaje no fue enviado debido a un error
921
940
  metrics:
922
- download:
923
- csv: Descargar datos (csv)
924
941
  followers:
925
942
  description: Número de usuarios que siguen este espacio de participación.
926
943
  object: seguidores
@@ -1079,6 +1096,7 @@ es-MX:
1079
1096
  not_allowed: No puedes ver este contenido
1080
1097
  profile:
1081
1098
  deleted: Usuario eliminado
1099
+ inaccessible_message: '¡Este perfil es inaccesible debido a la violación de Términos y Condiciones de uso!'
1082
1100
  view: Ver
1083
1101
  profiles:
1084
1102
  default_officialization_text_for_user_groups: Este grupo de usuarios se verifica públicamente, tu nombre se ha verificado para que se corresponda con tu nombre real
@@ -1122,7 +1140,6 @@ es-MX:
1122
1140
  date: Reportado el
1123
1141
  details: Detalles
1124
1142
  hello: Hola %{name},
1125
- manage_moderations: Gestionar moderaciones
1126
1143
  participatory_space: Espacio de participación
1127
1144
  reason: Motivo
1128
1145
  report_html: <p>El siguiente <a href="%{url}">contenido</a> ha sido reportado.</p>
@@ -1458,7 +1475,7 @@ es-MX:
1458
1475
  messages:
1459
1476
  already_confirmed: Ya fuiste confirmado, intenta iniciar sesión
1460
1477
  confirmation_period_expired: Necesitas ser confirmado dentro de %{period}, por favor solicita uno nuevo.
1461
- content_type_whitelist_error: el tipo de archivo no es válido
1478
+ content_type_allowlist_error: el tipo de archivo no es válido
1462
1479
  cycle_detected: el padre de un ámbito no puede ser uno de sus descendientes
1463
1480
  expired: Ha expirado, solicita uno nuevo
1464
1481
  file_size_is_less_than_or_equal_to: el tamaño del archivo debe ser menor que o igual a %{count}