decidim-decidim_awesome 0.11.2 → 0.11.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +54 -2
  4. data/app/cells/concerns/decidim/decidim_awesome/proposal_l_cell_override.rb +5 -3
  5. data/app/cells/decidim/decidim_awesome/content_blocks/map_cell.rb +0 -4
  6. data/app/cells/decidim/decidim_awesome/voting/proposal_metadata_cell.rb +18 -3
  7. data/app/commands/concerns/decidim/decidim_awesome/proposals/create_proposal_override.rb +2 -2
  8. data/app/commands/concerns/decidim/decidim_awesome/system/register_organization_override.rb +29 -0
  9. data/app/commands/concerns/decidim/decidim_awesome/system/update_organization_override.rb +35 -0
  10. data/app/commands/concerns/decidim/decidim_awesome/update_account_override.rb +30 -0
  11. data/app/commands/decidim/decidim_awesome/admin/create_scoped_style.rb +3 -2
  12. data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_style.rb +6 -4
  13. data/app/controllers/concerns/decidim/decidim_awesome/check_login_authorizations.rb +60 -0
  14. data/app/controllers/concerns/decidim/decidim_awesome/needs_awesome_config.rb +0 -2
  15. data/app/controllers/concerns/decidim/decidim_awesome/proposals/memoize_extra_fields.rb +23 -0
  16. data/app/controllers/concerns/decidim/decidim_awesome/use_user_time_zone.rb +32 -0
  17. data/app/controllers/decidim/decidim_awesome/admin/admin_authorizations_controller.rb +122 -0
  18. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +1 -1
  19. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +7 -1
  20. data/app/controllers/decidim/decidim_awesome/admin/constraints_controller.rb +5 -1
  21. data/app/controllers/decidim/decidim_awesome/admin/scoped_styles_controller.rb +12 -4
  22. data/app/controllers/decidim/decidim_awesome/required_authorizations_controller.rb +58 -0
  23. data/app/forms/concerns/decidim/decidim_awesome/account_form_override.rb +25 -0
  24. data/app/forms/concerns/decidim/decidim_awesome/system/organization_form_override.rb +34 -0
  25. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +41 -8
  26. data/app/helpers/decidim/decidim_awesome/map_helper.rb +28 -26
  27. data/app/overrides/decidim/account/show/add_timezone_select.html.erb.deface +3 -0
  28. data/app/overrides/decidim/admin/officializations/index/add_modal.html.erb.deface +3 -0
  29. data/app/overrides/decidim/admin/officializations/index/add_td.html.erb.deface +5 -0
  30. data/app/overrides/decidim/admin/officializations/index/add_th.html.erb.deface +5 -0
  31. data/app/overrides/decidim/system/organizations/_advanced_settings/add_awesome_config.html.erb.deface +9 -0
  32. data/app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface +1 -1
  33. data/app/overrides/layouts/decidim/admin/_header/add_awesome_custom_styles.html.erb.deface +3 -0
  34. data/app/overrides/layouts/decidim/admin/_header/add_awesome_tags.html.erb.deface +1 -0
  35. data/app/packs/src/decidim/decidim_awesome/admin/proposal_sortings.js +0 -5
  36. data/app/packs/src/decidim/decidim_awesome/admin/verification_selects.js +21 -0
  37. data/app/packs/src/decidim/decidim_awesome/admin/verifications.js +43 -0
  38. data/app/packs/src/decidim/decidim_awesome/awesome_admin.js +1 -0
  39. data/app/packs/src/decidim/decidim_awesome/awesome_admin_global.js +1 -0
  40. data/app/packs/stylesheets/decidim/decidim_awesome/admin/verifications.scss +99 -0
  41. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_admin_global.scss +1 -0
  42. data/app/permissions/decidim/decidim_awesome/admin/permissions.rb +42 -11
  43. data/app/permissions/decidim/decidim_awesome/permissions.rb +7 -0
  44. data/app/presenters/decidim/decidim_awesome/admin_log/component_presenter_override.rb +3 -5
  45. data/app/presenters/decidim/decidim_awesome/admin_log/user_presenter_override.rb +46 -0
  46. data/app/views/decidim/decidim_awesome/account/_timezone_select.html.erb +3 -0
  47. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/authorization.html.erb +20 -0
  48. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/callout.html.erb +3 -0
  49. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/conflict.html.erb +5 -0
  50. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/edit.html.erb +41 -0
  51. data/app/views/decidim/decidim_awesome/admin/config/_form_scoped_admin_styles.html.erb +1 -0
  52. data/app/views/decidim/decidim_awesome/admin/config/_form_scoped_styles.html.erb +48 -0
  53. data/app/views/decidim/decidim_awesome/admin/config/_form_surveys.html.erb +8 -0
  54. data/app/views/decidim/decidim_awesome/admin/config/_form_verifications.html.erb +15 -0
  55. data/app/views/decidim/decidim_awesome/admin/constraints/no_permissions.html.erb +6 -0
  56. data/app/views/decidim/decidim_awesome/admin/officializations/_participants_td.html.erb +25 -0
  57. data/app/views/decidim/decidim_awesome/admin/officializations/_participants_th.html.erb +1 -0
  58. data/app/views/decidim/decidim_awesome/admin/officializations/_verification_modal.html.erb +9 -0
  59. data/app/views/decidim/decidim_awesome/required_authorizations/index.html.erb +66 -0
  60. data/app/views/decidim/decidim_awesome/system/organizations/_admin_allowed_authorizations.html.erb +5 -0
  61. data/app/views/layouts/decidim/decidim_awesome/_custom_styles.html.erb +1 -1
  62. data/app/views/layouts/decidim/decidim_awesome/admin/_custom_styles.html.erb +3 -0
  63. data/app/views/layouts/decidim/decidim_awesome/admin/admin_authorizations.html.erb +7 -0
  64. data/config/i18n-tasks.yml +6 -0
  65. data/config/locales/ca.yml +91 -5
  66. data/config/locales/cs.yml +86 -0
  67. data/config/locales/de.yml +52 -0
  68. data/config/locales/en.yml +115 -1
  69. data/config/locales/es.yml +89 -3
  70. data/config/locales/eu.yml +607 -26
  71. data/config/locales/fr.yml +37 -1
  72. data/config/locales/it.yml +0 -1
  73. data/config/locales/ja.yml +86 -0
  74. data/config/locales/nl.yml +0 -1
  75. data/config/locales/pt-BR.yml +0 -1
  76. data/lib/decidim/decidim_awesome/admin_engine.rb +2 -0
  77. data/lib/decidim/decidim_awesome/authorizator.rb +34 -0
  78. data/lib/decidim/decidim_awesome/awesome.rb +54 -1
  79. data/lib/decidim/decidim_awesome/awesome_helpers.rb +48 -19
  80. data/lib/decidim/decidim_awesome/checksums.yml +9 -0
  81. data/lib/decidim/decidim_awesome/engine.rb +20 -4
  82. data/lib/decidim/decidim_awesome/menu.rb +45 -9
  83. data/lib/decidim/decidim_awesome/request_memoizer.rb +16 -0
  84. data/lib/decidim/decidim_awesome/test/factories.rb +0 -4
  85. data/lib/decidim/decidim_awesome/test/initializer.rb +4 -0
  86. data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +1 -1
  87. data/lib/decidim/decidim_awesome/test/shared_examples/custom_styles_examples.rb +156 -0
  88. data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +26 -10
  89. data/lib/decidim/decidim_awesome/version.rb +1 -1
  90. data/package.json +6 -5
  91. metadata +42 -7
  92. data/app/views/decidim/decidim_awesome/admin/config/_form_styles.html.erb +0 -30
@@ -7,6 +7,9 @@ es:
7
7
  allow_images_in_proposals: Permitir imágenes en el editor de propuestas
8
8
  allow_videos_in_editors: Permitir vídeos en el editor HTML
9
9
  auto_save_forms: Guardar automáticamente los formularios en el almacenamiento local
10
+ force_authorization_after_login: Forzar autorización después de iniciar sesión/registro
11
+ force_authorization_help_text: Texto de ayuda para la página de autorización
12
+ force_authorization_with_any_method: Permitir el acceso si se concede alguna de las autorizaciones (por defecto, todas son necesarias)
10
13
  intergram_auto_no_response: Un mensaje que se envía un minuto después de que la usuaria haya enviado su primer mensaje y no se haya recibido respuesta
11
14
  intergram_auto_response: Un mensaje que se envía inmediatamente después de que la usuaria envíe su primer mensaje
12
15
  intergram_chat_id: ID de chat
@@ -17,10 +20,12 @@ es:
17
20
  intergram_title_closed: Título del chat cerrado
18
21
  intergram_title_open: Título del chat abierto
19
22
  intergram_use_floating_button: Si está marcado, el chat cerrado siempre es un botón en lugar de un texto
20
- proposal_custom_fields: 'Campos personalizados #%{id}'
21
- proposal_private_custom_fields: 'Campos personalizados #%{id}'
23
+ proposal_custom_fields: Campos personalizados %{id}
24
+ proposal_private_custom_fields: Campos personalizados %{id}
25
+ scoped_admin_styles: Estilos personalizados %{id}
22
26
  scoped_admins: 'Grupo de administradoras acotadas #%{id}'
23
- scoped_styles: 'Estilos personalizados #%{id}'
27
+ scoped_styles: Estilos personalizados %{id}
28
+ user_timezone: Permitir a los usuarios establecer su zona horaria en su perfil
24
29
  validate_body_max_caps_percent: Porcentaje máximo permitido de letras mayúsculas para el cuerpo
25
30
  validate_body_max_marks_together: Máximo número de símbolos consecutivos permitidos en el cuerpo
26
31
  validate_body_min_length: Mínimo de caracteres requeridos para el cuerpo
@@ -46,6 +51,10 @@ es:
46
51
  target: Abrir en
47
52
  url: URL
48
53
  visibility: Visibilidad
54
+ organization:
55
+ awesome_admins_available_authorizations: Permitir a las administradoras verificar manualmente los participantes con estos verificadores
56
+ user:
57
+ user_time_zone: Zona horaria personal
49
58
  decidim:
50
59
  admin:
51
60
  actions:
@@ -132,6 +141,9 @@ es:
132
141
  supported_last: Mis soportes últimos
133
142
  za: Z-A (Alfabético inverso)
134
143
  decidim_awesome:
144
+ account:
145
+ timezone_select:
146
+ time_zone_helper: Utilice su zona horaria personal para mostrar las fechas en su hora local cuando haya iniciado sesión.
135
147
  admin:
136
148
  actions: Acciones
137
149
  admin_accountability:
@@ -170,6 +182,26 @@ es:
170
182
  collaborator: Colaborador/a
171
183
  moderator: Moderadora
172
184
  valuator: Evaluador/a
185
+ admin_authorizations:
186
+ authorization:
187
+ confirm_destroy: '¿Seguro de que desea destruir esta autorización? Esto podría afectar al acceso del participante a la plataforma.'
188
+ destroy: Eliminar
189
+ granted_at: Concedido a %{date}
190
+ metadata: '¿Contiene metadatos? %{metadata}'
191
+ authorization_destroyed: Autorización destruida con éxito.
192
+ authorization_not_destroyed: '¡No se pudo eliminar la autorización!'
193
+ authorization_transferred: 'Advertencia: Hubo un conflicto de verificación y la verificación ha sido transferida a %{user}'
194
+ conflict: Hay un conflicto con una autorización existente
195
+ conflict_help_html: "Debe resolver el conflicto con el participante %{user} antes de poder verificar al participante con esta autorización. \n<br><br> \nEl conflicto de verificación se produce cuando otro participante tiene los mismos datos que el participante que está intentando autorizar. \nPuede resolver este conflicto eliminando el conflicto de verificación del otro participante o utilizando datos diferentes para este participante.\n"
196
+ edit:
197
+ authorize: Autorizar a %{user} con %{name}
198
+ do_it_if_sure: Haga esto solo si está seguro de que el participante tiene esta autorización.
199
+ force_verification: Forzar verificación con los datos actuales
200
+ force_verification_help: La verificación ha fallado, pero puedes forzar si está seguro de que el participante tiene esta autorización.
201
+ force_verification_reason: 'Dar una razón para forzar la verificación:'
202
+ warning: 'Advertencia: Al forzar esta autorización, está forzando el estado actual de autorización del participante.'
203
+ user_authorized: "%{user} autorizado con éxito con %{name}"
204
+ user_not_authorized: "%{user} autorizado con éxito con %{name}"
173
205
  checks:
174
206
  index:
175
207
  admin_head_tags: Etiquetas Awesome incluidas en el encabezado de la aplicación de administración
@@ -230,6 +262,8 @@ es:
230
262
  allow_videos_in_editors: Esto añadirá un icono para enlazar videos en el editor HTML
231
263
  auto_save_forms: Esto usará el almacenamiento local del navegador para guardar automáticamente los datos introducidos por las usuarias en las encuestas y otros formularios mientras los rellenen. Si no se ha mandado el formulario, los datos se restaurarán en la siguiente visita con el mismo navegador. Los datos se eliminarán una vez se envíe el formulario. Si las usuarias eliminan sus datos del navegador, estos tampoco se restaurarán.
232
264
  drag_and_drop_supported: Cuando se suban imágenes, se puede hacer a través del método "arrastrar & soltar". Las imágenes se subirán en el servidor y se insertarán como recursos externos (no se utiliza codificación en línea base64).
265
+ force_authorization_after_login: 'Si está habilitado, las usuarias serán redireccionados a la página de autorización después del inicio de sesión o registro si algunas de las autorizaciones especificadas no son concedidas. Esto es útil si desea forzar a las usuarias a que se verifiquen a través de una autorización específica antes de que puedan iniciar sesión en cualquier momento (por ejemplo: para prevenir spam).'
266
+ force_authorization_help_text: Añade un texto personalizado para explicar por qué es necesaria la autorización. Asegúrate también de añadir un modo de contacto en caso de que las usuarias necesiten ayuda.
233
267
  intergram_about: Intergram utiliza el Telegram Messenger para gestionar un widget de chat de soporte incrustado en la parte inferior de la página.
234
268
  intergram_config: 'Invita a la <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram bot</a> a tu grupo o inicia un chat con ella directamente. <a href="https://github.com/idoco/intergram#embed-intergram-in-your-website-with-these-2-simple-steps">+ info</a>'
235
269
  original_editor_override: Desde la versión 0.26, es posible (sólo para administradoras) subir imágenes en los editores. Por lo tanto, las opciones de configuración para imágenes aquí sólo afecta a los editores públicos (las administradoras siempre lo tendrán activado).
@@ -242,15 +276,23 @@ es:
242
276
  %{warning}
243
277
  Este texto se puede personalizar con una traducción personalizada usando la clave:
244
278
  %{key}
279
+ scoped_admin_styles: Ten en cuenta que ocultar las cosas aquí puede dejar el administrador inutilizable. Por favor actúa con precaución.
280
+ scoped_admin_styles_variables: 'Puedes utilizar las siguientes variables CSS para los colores personalizados de la organización:'
281
+ scoped_admin_styles_warning: "<strong>Atención</strong>: Aquí se puede añadir CSS personalizado que solo aplica en este administrador."
245
282
  scoped_admins: Promueve usuarias normales a administradoras con acceso limitado a ciertas partes de la web pública (utilizar el editor de restricciones para eso). Tener en cuenta que las usuarias que ya tienen permisos regulares de administración serán ignorados.
246
283
  scoped_styles: Crea CSS personalizados que solo se apliquen en ciertas partes de la web pública (para ello, utiliza el editor de restricciones)
247
284
  scoped_styles_variables: 'Puedes utilizar las siguientes variables CSS para los colores personalizados de la organización:'
285
+ user_timezone: Esto añadirá un selector en el perfil de usuario para establecer la zona horaria. Esto se utilizará para mostrar fechas y horas en la hora local del usuario.
248
286
  validate_body_max_caps_percent: Cero no permitirá ninguna letra mayúscula, 100 forzará a escribir todo en mayúsculas
249
287
  validate_body_max_marks_together: 'Limitar el número de símbolos de preguntas y exclamaciones que se pueden escribir juntos. Es decir, si es 2, entonces ''!!!'' no estará permitido en el texto'
250
288
  validate_body_min_length: Este número puede ser cero, lo que permite que este campo no sea obligatorio
251
289
  validate_title_max_caps_percent: Cero no permitirá ninguna letra mayúscula, 100 forzará a escribir todo en mayúsculas
252
290
  validate_title_max_marks_together: 'Limitar el número de símbolos de preguntas y exclamaciones que se pueden escribir juntos. Es decir, si es 2, entonces ''!!!'' no estará permitido en el texto'
253
291
  validate_title_min_length: El título siempre es obligatorio y este número no puede ser cero
292
+ verifications_html: |
293
+ Aquí puedes realizar algunos ajustes en el proceso de verificación.<br>
294
+ <b>NOTA:</b> Ten en cuenta que cambiar estos ajustes puede impedir que algunas usuarias accedan a la plataforma. ¡Utilízalo con precaución!<br><br>
295
+ Ten en cuenta también, que estos ajustes se aplican a todas las usuarias. Las administradoras siempre tendrán acceso al tablero de administración.
254
296
  validators:
255
297
  body: Validaciones de entrada de usuario para el campo "cuerpo"
256
298
  title: Validaciones de entrada de usuario para el campo "título"
@@ -264,6 +306,11 @@ es:
264
306
  new: Añadir una nueva caja de "campos personalizados"
265
307
  remove: Eliminar esta caja de "campos personalizados"
266
308
  sure_to_remove: '¿Seguro de que quieres eliminar esta caja de campos personalizados?'
309
+ form_scoped_admin_styles:
310
+ delete: Eliminar
311
+ new: Añadir un nuevo cuadro CSS
312
+ remove: Eliminar esta caja CSS
313
+ sure_to_remove: '¿Estás segura de que quieres eliminar esta caja CSS?'
267
314
  form_scoped_admins:
268
315
  delete: Eliminar
269
316
  new: Añadir un nuevo grupo de "Administradoras acotadas"
@@ -287,8 +334,11 @@ es:
287
334
  proposal_custom_fields: 'Campos personalizados de propuestas: campos públicos'
288
335
  proposal_private_custom_fields: 'Campos personalizados de propuestas: Campos privados'
289
336
  proposals: Modificaciones a las propuestas
337
+ scoped_admin_styles: 'Estilos personalizados: Panel de administración'
338
+ scoped_styles: 'Estilos personalizados: Interficie pública'
290
339
  styles: Estilos personalizados
291
340
  surveys: Encuestas y formularios
341
+ verifications: Verificaciones / Hacks de autorización
292
342
  update:
293
343
  error: '¡Error actualizando la configuración! %{error}'
294
344
  success: Configuración actualizada correctamente
@@ -393,6 +443,7 @@ es:
393
443
  proposals: Modificaciones a las propuestas
394
444
  styles: Estilos personalizados
395
445
  surveys: Encuestas y formularios
446
+ verifications: Verificaciones
396
447
  menu_hacks:
397
448
  create:
398
449
  error: 'Error al crear nuevo ítem de menú: %{error}'
@@ -431,6 +482,11 @@ es:
431
482
  error: 'Error al actualizar el ítem de menú: %{error}'
432
483
  success: Ítem de menú actualizado correctamente
433
484
  url_exists: Esta URL ya ha sido configurada en otro ítem de menú, por favor edítalo en lugar de crear uno nuevo.
485
+ officializations:
486
+ authorizations: Autorizaciones
487
+ verification_modal:
488
+ authorizations_for: Autorizaciones para %{user}
489
+ close: Cerrar
434
490
  proposal_custom_fields:
435
491
  menu:
436
492
  title: Campos públicos
@@ -439,9 +495,19 @@ es:
439
495
  private_data_last_update: Estos datos fueron actualizados hace %{time_ago}.
440
496
  proposal_private_custom_fields: Campos privados
441
497
  remove_private_data: "👉 Es posible que quieras eliminarlo"
498
+ scoped_admin_styles:
499
+ menu:
500
+ title: Panel admin
501
+ scoped_styles:
502
+ menu:
503
+ title: Interfaz pública
442
504
  admin_log:
443
505
  component:
444
506
  destroy_private_data: "%{user_name} ha destruido %{count} elementos de datos privados para %{resource_name} en %{space_name}"
507
+ user:
508
+ admin_creates_authorization: "%{user_name} verificó %{resource_name} con %{handler_name}"
509
+ admin_destroys_authorization: "%{user_name} destruyó la verificación %{handler_name} en %{resource_name}"
510
+ admin_forces_authorization: "%{user_name} forzó la verificación %{handler_name} en %{resource_name}. Razón: %{reason}"
445
511
  amendments:
446
512
  modal:
447
513
  amendment_exists: Ya existe una enmienda
@@ -506,6 +572,26 @@ es:
506
572
  view_meeting: Ver encuentro
507
573
  view_proposal: Ver propuesta
508
574
  proposal_private_custom_fields_disclosure: Esta información no será publicada
575
+ required_authorizations:
576
+ index:
577
+ cancel: Haré esto en otro momento, %{link}.
578
+ granted_title: Verificaciones concedidas
579
+ logout: déjame cerrar la sesión
580
+ missing_title: No verificada aún
581
+ resume_title: Verificaciones pendientes
582
+ resume_with_method: Reanudar la verificación con %{name}
583
+ title: Verifica tu identidad
584
+ verify_with_all_these_options: 'Por favor, verifícate con todos estos métodos antes de poder acceder a la plataforma:'
585
+ verify_with_any_of_these_options: 'Por favor, verifícate por lo menos con uno de estos métodos antes de poder acceder a la plataforma:'
586
+ verify_with_method: Verificar con %{name}
587
+ session:
588
+ authorization_is_required: Para participar en esta plataforma, necesitas autorizar tu cuenta con una autorización válida (%{authorizations}).
589
+ system:
590
+ organizations:
591
+ admin_allowed_authoritzations_help_html: |
592
+ Las administradoras podrán verificar manualmente a los participantes con estos verificadores.
593
+ <br>Utilice esta función con precaución, ya que puede dar lugar a problemas de seguridad.
594
+ awesome_tweaks: Configuraciones para Decidim Awesome
509
595
  validators:
510
596
  too_much_caps: Contiene demasiadas letras mayúsculas (más del %{percent}% del texto)
511
597
  voting: