decidim-admin 0.25.2 → 0.26.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-admin might be problematic. Click here for more details.

Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/admin/create_import_example.rb +21 -0
  3. data/app/commands/decidim/admin/create_static_page.rb +9 -3
  4. data/app/commands/decidim/admin/update_organization_appearance.rb +2 -1
  5. data/app/controllers/concerns/decidim/admin/user_groups/filterable.rb +45 -0
  6. data/app/controllers/concerns/decidim/moderated_users/admin/filterable.rb +51 -0
  7. data/app/controllers/decidim/admin/imports_controller.rb +48 -10
  8. data/app/controllers/decidim/admin/moderated_users_controller.rb +2 -2
  9. data/app/controllers/decidim/admin/scopes_controller.rb +2 -1
  10. data/app/controllers/decidim/admin/user_groups_controller.rb +13 -5
  11. data/app/forms/decidim/admin/import_example_form.rb +50 -0
  12. data/app/forms/decidim/admin/import_form.rb +46 -40
  13. data/app/forms/decidim/admin/organization_appearance_form.rb +1 -0
  14. data/app/helpers/decidim/admin/imports_helper.rb +16 -6
  15. data/app/helpers/decidim/admin/resource_scope_helper.rb +9 -0
  16. data/app/helpers/decidim/admin/settings_helper.rb +13 -0
  17. data/app/packs/entrypoints/decidim_admin.js +0 -1
  18. data/app/packs/src/decidim/admin/dynamic_fields.component.js +8 -0
  19. data/app/permissions/decidim/admin/permissions.rb +1 -0
  20. data/app/views/decidim/admin/imports/_dropdown.html.erb +9 -4
  21. data/app/views/decidim/admin/imports/new.html.erb +24 -22
  22. data/app/views/decidim/admin/moderated_users/_report.html.erb +0 -1
  23. data/app/views/decidim/admin/moderated_users/index.html.erb +5 -2
  24. data/app/views/decidim/admin/moderations/_report.html.erb +0 -1
  25. data/app/views/decidim/admin/moderations/index.html.erb +1 -1
  26. data/app/views/decidim/admin/organization_appearance/form/_colors.html.erb +7 -0
  27. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +12 -4
  28. data/app/views/decidim/admin/user_groups/index.html.erb +8 -44
  29. data/app/views/layouts/decidim/admin/_callouts_full.html.erb +4 -0
  30. data/app/views/layouts/decidim/admin/_title_bar.html.erb +2 -2
  31. data/config/brakeman.ignore +26 -0
  32. data/config/locales/ar.yml +0 -7
  33. data/config/locales/ca.yml +0 -13
  34. data/config/locales/cs.yml +50 -13
  35. data/config/locales/de.yml +8 -13
  36. data/config/locales/el.yml +0 -15
  37. data/config/locales/en.yml +46 -17
  38. data/config/locales/es-MX.yml +0 -13
  39. data/config/locales/es-PY.yml +0 -13
  40. data/config/locales/es.yml +45 -16
  41. data/config/locales/eu.yml +8 -13
  42. data/config/locales/fi-plain.yml +33 -13
  43. data/config/locales/fi.yml +46 -17
  44. data/config/locales/fr-CA.yml +42 -13
  45. data/config/locales/fr.yml +48 -19
  46. data/config/locales/ga-IE.yml +1 -6
  47. data/config/locales/gl.yml +33 -13
  48. data/config/locales/hu.yml +1 -9
  49. data/config/locales/id-ID.yml +0 -7
  50. data/config/locales/is-IS.yml +0 -7
  51. data/config/locales/it.yml +6 -13
  52. data/config/locales/ja.yml +92 -67
  53. data/config/locales/lb-LU.yml +1034 -0
  54. data/config/locales/lb.yml +6 -15
  55. data/config/locales/lv.yml +0 -7
  56. data/config/locales/nl.yml +73 -13
  57. data/config/locales/no.yml +0 -7
  58. data/config/locales/pl.yml +7 -13
  59. data/config/locales/pt-BR.yml +1 -14
  60. data/config/locales/pt.yml +8 -15
  61. data/config/locales/ro-RO.yml +40 -16
  62. data/config/locales/ru.yml +0 -7
  63. data/config/locales/sk.yml +0 -7
  64. data/config/locales/sr-CS.yml +0 -6
  65. data/config/locales/sv.yml +33 -13
  66. data/config/locales/tr-TR.yml +0 -7
  67. data/config/locales/uk.yml +0 -7
  68. data/config/locales/val-ES.yml +14 -0
  69. data/config/locales/zh-CN.yml +0 -7
  70. data/lib/decidim/admin/engine.rb +5 -0
  71. data/lib/decidim/admin/form_builder.rb +8 -1
  72. data/lib/decidim/admin/import/creator.rb +32 -12
  73. data/lib/decidim/admin/import/importer.rb +32 -14
  74. data/lib/decidim/admin/import/readers/base.rb +23 -0
  75. data/lib/decidim/admin/import/readers/csv.rb +15 -0
  76. data/lib/decidim/admin/import/readers/json.rb +73 -3
  77. data/lib/decidim/admin/import/readers/xlsx.rb +25 -1
  78. data/lib/decidim/admin/import/readers.rb +7 -1
  79. data/lib/decidim/admin/import/verifier.rb +169 -0
  80. data/lib/decidim/admin/import.rb +3 -0
  81. data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +165 -0
  82. data/lib/decidim/admin/test/manage_paginated_collection_examples.rb +8 -2
  83. data/lib/decidim/admin/test.rb +1 -0
  84. data/lib/decidim/admin/version.rb +1 -1
  85. metadata +19 -12
  86. data/app/packs/src/decidim/admin/import_guidance.js +0 -28
@@ -132,6 +132,7 @@ fr:
132
132
  new_import:
133
133
  attributes:
134
134
  file:
135
+ invalid_file: Fichier fourni invalide , veuillez vérifier que le fichier est correctement formaté
135
136
  invalid_mime_type: Type MIME invalide
136
137
  activerecord:
137
138
  attributes:
@@ -261,7 +262,7 @@ fr:
261
262
  block_user:
262
263
  new:
263
264
  action: Bloquer le compte et envoyer la justification
264
- description: Bloquer un utilisateur rendra son compte inutilisable. Vous devriez fournir dans votre justification des actions à effectuer par ce dernier pour envisager le déblocage.
265
+ description: Bloquer un utilisateur rendra son compte inutilisable, vous devriez fournir dans votre justification les conditions de déblocage de l'utilisateur.
265
266
  justification: Justification
266
267
  title: Bloquer l'utilisateur %{name}
267
268
  categories:
@@ -366,6 +367,13 @@ fr:
366
367
  values:
367
368
  'false': 'Non'
368
369
  'true': 'Oui'
370
+ moderated_users:
371
+ reports_reason_eq:
372
+ label: Raison du signalement
373
+ values:
374
+ does_not_belong: N'appartient pas
375
+ offensive: Offensant
376
+ spam: Spam
369
377
  moderations:
370
378
  reportable_type_string_eq:
371
379
  label: Type
@@ -400,11 +408,18 @@ fr:
400
408
  search_label: Rechercher
401
409
  search_placeholder:
402
410
  name_or_nickname_or_email_cont: Rechercher les %{collection} par e-mail, nom ou pseudo.
411
+ report_count_eq: Nombre de signalement
403
412
  reported_id_string_or_reported_content_cont: Rechercher %{collection} par Id ou par contenu.
404
413
  title_cont: Rechercher %{collection} par titre.
405
414
  user_name_or_user_email_cont: Rechercher %{collection} par nom ou par email.
415
+ user_name_or_user_nickname_or_user_email_cont: Rechercher les %{collection} par e-mail, nom ou pseudo.
406
416
  state_eq:
407
417
  label: État
418
+ values:
419
+ all: Tout
420
+ pending: En attente
421
+ rejected: Rejeté
422
+ verified: Vérifié
408
423
  forms:
409
424
  file_help:
410
425
  import:
@@ -450,23 +465,43 @@ fr:
450
465
  impersonate_existing_user: Représenter l'utilisateur standard "%{name}"
451
466
  impersonate_new_managed_user: Représenter un nouvel utilisateur
452
467
  imports:
453
- creators:
454
- proposalcreator: Créateur de proposition
468
+ and: et
469
+ data_errors:
470
+ duplicate_headers:
471
+ detail: Veuillez vérifier que le fichier ne contient qu'une fois les colonnes ou les en-têtes requis.
472
+ message:
473
+ one: Colonne dupliquée %{columns}.
474
+ other: Colonnes dupliquées %{columns}.
475
+ invalid_indexes:
476
+ lines:
477
+ detail: Veuillez vérifier que ces lignes sont correctement formatées et contiennent des données valides.
478
+ message:
479
+ one: Une erreur a été trouvée dans le fichier d'importation à la ligne %{indexes}.
480
+ other: Erreurs trouvées dans le fichier d'importation sur les lignes %{indexes}.
481
+ records:
482
+ detail: Veuillez vérifier que ces lignes sont correctement formatées et contiennent des données valides.
483
+ message:
484
+ one: Une erreur a été trouvée dans le fichier d'importation pour les enregistrements avec le numéro de commande %{indexes}.
485
+ other: Erreurs trouvées dans le fichier d'importation pour les enregistrements avec les numéros de commande %{indexes}.
486
+ missing_headers:
487
+ detail: Veuillez vérifier que le fichier contient les colonnes requises.
488
+ message:
489
+ one: Colonne %{columns} manquante.
490
+ other: Colonnes %{columns} manquantes.
455
491
  error: Un problème est survenu lors de l'import
456
- help:
457
- proposalcreator: Le fichier doit comprendre les colonnes title/fr et body/fr (ou une autre locale de votre choix). Les colonnes scope/id et category/id sont également prises en charge.
458
- import_from_file: Importer à partir d'un fichier
459
- invalid_lines: Erreur trouvée dans la ressource aux lignes %{invalid_lines}
492
+ example_error: Impossible de créer un exemple pour le type donné
460
493
  new:
461
494
  accepted_mime_types:
462
495
  csv: csv
463
496
  json: json
464
- xlsx: xlsx
497
+ xlsx: Excel (.xlsx)
465
498
  actions:
466
499
  back: Retour
500
+ download_example: Télécharger l'exemple
501
+ download_example_format: Exemple comme %{name}
467
502
  file_legend: Ajouter un fichier d'import qui sera analysé.
468
503
  import: Importer
469
- notice: "%{number} %{resource_name} importées avec succès"
504
+ notice: "%{count} %{resource_name} importées avec succès"
470
505
  logs:
471
506
  logs_list:
472
507
  no_logs_yet: Il n'y a pas encore de journal d'activité
@@ -719,12 +754,12 @@ fr:
719
754
  title: Valider l'utilisateur "%{name}"
720
755
  show_email_modal:
721
756
  close_modal: Fermer la fenêtre de dialogue
722
- description: Si vous avez besoin de contacter directement un participant, vous pouvez cliquer sur le bouton Afficher pour voir leur adresse mèl. Cette action sera enregistrée.
757
+ description: Si vous avez besoin de contacter directement un participant, vous pouvez cliquer sur le bouton Afficher pour voir son adresse mail. Cette action sera enregistrée.
723
758
  email_address: Adresse e-mail
724
759
  full_name: Nom complet
725
760
  hidden: masqués
726
761
  show: Afficher
727
- title: Afficher l'adresse e-mail du participant
762
+ title: Afficher l'adresse e-mail de l'utilisateur
728
763
  unblock:
729
764
  error: Une erreur s'est produite lors du déblocage du participant
730
765
  success: Participant débloqué avec succès
@@ -750,6 +785,7 @@ fr:
750
785
  form:
751
786
  colors:
752
787
  colors_title: Couleurs de l'organisation
788
+ colors_warning_html: Attention ! La modification de ces couleurs peut rompre les contrastes d'accessibilité. Vous pouvez vérifier le contraste de votre choix avec <a href="%{link}">WebAIM Contrast Checker</a> ou d'autres outils similaires.
753
789
  header_snippets_help: Utilisez ce champ pour ajouter des éléments entre les balises HTML <head> </head>. L'utilisation la plus courante de champs consiste à intégrer des services tiers nécessitant du JavaScript ou du CSS supplémentaire. Vous pouvez aussi l'utiliser pour ajouter des méta-tags supplémentaires au code HTML. Notez que cela ne fonctionnera que dans sur les pages publiques, et non dans la section admin.
754
790
  cta_button_path_help: 'Vous pouvez remplacer le lien vers lequel renvoie le bouton de la page d''accueil. Utilisez ici des chemins partiels et non des URL complets. Il accepte les lettres, les chiffres, les tirets et les barres obliques, et doit commencer par une lettre. Le bouton apparaît sur la page d''accueil entre le texte de bienvenue et la description. Exemple : %{url}'
755
791
  cta_button_text_help: Vous pouvez remplacer le texte du bouton dans la page d'accueil pour chaque langue disponible dans votre organisation. Si elle n'est pas définie, la valeur par défaut sera utilisée. Le bouton apparaît sur la page d'accueil entre le texte de bienvenue et la description.
@@ -928,13 +964,6 @@ fr:
928
964
  success: Groupe d'utilisateurs vérifié avec succès
929
965
  user_groups:
930
966
  index:
931
- filter:
932
- all: Tout
933
- pending: En attente
934
- rejected: Non validés
935
- verified: Vérifié
936
- filter_by: Filtrer par
937
- search: Rechercher
938
967
  state:
939
968
  pending: En attente
940
969
  rejected: Non validés
@@ -971,7 +1000,7 @@ fr:
971
1000
  forms:
972
1001
  errors:
973
1002
  impersonate_user:
974
- reason: Vous devez fournir une raison si vous modérer un participant actuellement non-modéré
1003
+ reason: Vous devez fournir une raison si vous modérer un utilisateur actuellement non-modéré
975
1004
  metrics:
976
1005
  blocked_users:
977
1006
  object: utilisateurs bloqués
@@ -180,6 +180,7 @@ ga:
180
180
  accepted_mime_types:
181
181
  csv: csv
182
182
  json: json
183
+ xlsx: xlsx
183
184
  actions:
184
185
  back: Ar Ais
185
186
  import: Iompórtáil
@@ -363,12 +364,6 @@ ga:
363
364
  user_groups: Grúpaí
364
365
  user_groups:
365
366
  index:
366
- filter:
367
- all: Uile
368
- pending: Ar feitheamh
369
- rejected: Diúltaithe
370
- verified: Fíoraithe
371
- search: Cuardaigh
372
367
  state:
373
368
  pending: Ar feitheamh
374
369
  rejected: Diúltaithe
@@ -131,6 +131,7 @@ gl:
131
131
  new_import:
132
132
  attributes:
133
133
  file:
134
+ invalid_file: O ficheiro fornecido non é válido, por favor verifica que o ficheiro posúe o formato correcto
134
135
  invalid_mime_type: Tipo Mime non válido
135
136
  activerecord:
136
137
  attributes:
@@ -396,6 +397,11 @@ gl:
396
397
  user_name_or_user_email_cont: Procurar %{collection} por nome ou correo electrónico.
397
398
  state_eq:
398
399
  label: Estado
400
+ values:
401
+ all: Todo
402
+ pending: Pendente
403
+ rejected: Rexeitado
404
+ verified: Verificado
399
405
  forms:
400
406
  file_help:
401
407
  import:
@@ -441,13 +447,31 @@ gl:
441
447
  impersonate_existing_user: Substitúe o usuario "%{name}"
442
448
  impersonate_new_managed_user: Substituír o novo usuario xestor
443
449
  imports:
444
- creators:
445
- proposalcreator: Creador da proposta
450
+ and: e
451
+ data_errors:
452
+ duplicate_headers:
453
+ detail: Por favor, verifica que o ficheiro contén as columnas requiridas ou que a cabeceira non está repetida.
454
+ message:
455
+ one: Columna duplicada %{columns}.
456
+ other: Columnas duplicadas %{columns}.
457
+ invalid_indexes:
458
+ lines:
459
+ detail: Por favor, verifica que estas liñas teñen o formato correcto e conteñen rexistros válidos.
460
+ message:
461
+ one: Atopouse un erro no ficheiro a importar na liña %{indexes}.
462
+ other: Atopouse un erro no ficheiro a importar nas liñas %{indexes}.
463
+ records:
464
+ detail: Por favor, verifica que estes rexistros teñen o formato correcto e conteñen rexistros válidos.
465
+ message:
466
+ one: Atopouse un erro no ficheiro a importar para os rexistros con números de ordenación %{indexes}.
467
+ other: Atopáronse erros no ficheiro a importar para os rexistros con números de ordenación %{indexes}.
468
+ missing_headers:
469
+ detail: Por favor, verifica que o ficheiro contén as columnas requiridas.
470
+ message:
471
+ one: Falta a columna %{columns}.
472
+ other: Faltan as columnas %{columns}.
446
473
  error: Produciuse un problema durante a importación
447
- help:
448
- proposalcreator: O ficheiro ten de incluír os nomes de columna title/en e body/en (ou outro idioma da túa preferencia, por exemplo title/gl e body/gl). Admítense tamén as columnas scope/id e category/id.
449
- import_from_file: Importar dende o ficheiro
450
- invalid_lines: Atopouse un erro no recurso número %{invalid_lines}
474
+ example_error: Non foi posíbel crear un exemplo para o tipo dado
451
475
  new:
452
476
  accepted_mime_types:
453
477
  csv: csv
@@ -455,6 +479,8 @@ gl:
455
479
  xlsx: xlsx
456
480
  actions:
457
481
  back: Volver
482
+ download_example: Descargar exemplo
483
+ download_example_format: Exemplo com %{name}
458
484
  file_legend: Engadir un ficheiro de importación para o análise.
459
485
  import: Importar
460
486
  notice: "%{number}%{resource_name} importados con éxito"
@@ -737,6 +763,7 @@ gl:
737
763
  form:
738
764
  colors:
739
765
  colors_title: Cores da organización
766
+ colors_warning_html: Atención! Mudar estas cores pode estragar ao contrastes de accesibilidade. Podes verificar o contraste da túa elección a través de <a href="%{link}">WebAIM Contrast Checker</a> ou outras ferramentas semellantes.
740
767
  header_snippets_help: Use este campo para engadir cousas ao título HTML. O uso máis común é integrar servizos de terceiros que requiren algún JavaScript ou CSS adicional. Ademais, podes usalo para engadir etiquetas metais extra ao HTML. Ten en conta que isto só se renderá en páxinas públicas, non na sección de administración.
741
768
  cta_button_path_help: 'Pode sobrescribir onde se enlaza o botón de chamada a acción na páxina de inicio. Use aquí rutas parciais, non URL completo. Acepta letras, números, guións e barras, e debe comezar cunha letra. O botón de chamada a acción amósase na páxina de inicio entre o texto de benvida ea descrición. Exemplo: %{url}'
742
769
  cta_button_text_help: Pode sobrescribir o texto do botón de chamada a acción na páxina de inicio para cada idioma dispoñible na súa organización. Se non se establece, empregarase o valor predeterminado. O botón de chamada a acción amósase na páxina de inicio entre o texto de benvida ea descrición.
@@ -910,13 +937,6 @@ gl:
910
937
  success: Grupo de usuarios verificado con éxito
911
938
  user_groups:
912
939
  index:
913
- filter:
914
- all: Todo
915
- pending: Pendente
916
- rejected: Rexeitado
917
- verified: Verificado
918
- filter_by: Filtrar por
919
- search: Busca
920
940
  state:
921
941
  pending: Pendente
922
942
  rejected: Rexeitado
@@ -379,12 +379,11 @@ hu:
379
379
  impersonate_existing_user: '"%{name}" felhasználó kezelése'
380
380
  impersonate_new_managed_user: Új résztvevő kezelése
381
381
  imports:
382
- import_from_file: Importálás fájlból
383
- invalid_lines: Hiba található a(z) erőforrásban %{invalid_lines}
384
382
  new:
385
383
  accepted_mime_types:
386
384
  csv: csv
387
385
  json: json
386
+ xlsx: xlsx
388
387
  actions:
389
388
  back: Vissza
390
389
  import: Import
@@ -783,13 +782,6 @@ hu:
783
782
  success: A csoport sikeresen ellenőrzött
784
783
  user_groups:
785
784
  index:
786
- filter:
787
- all: Összes
788
- pending: Függőben
789
- rejected: Elutasítva
790
- verified: Megerősítve
791
- filter_by: 'Szűrés ez alapján:'
792
- search: Keresés
793
785
  state:
794
786
  pending: Függőben
795
787
  rejected: Elutasítva
@@ -607,13 +607,6 @@ id:
607
607
  success: Kelompok pengguna berhasil diverifikasi
608
608
  user_groups:
609
609
  index:
610
- filter:
611
- all: Semua
612
- pending: Menunggu keputusan
613
- rejected: Ditolak
614
- verified: Diverifikasi
615
- filter_by: Filter berdasarkan
616
- search: Pencarian
617
610
  state:
618
611
  pending: Menunggu keputusan
619
612
  rejected: Ditolak
@@ -503,13 +503,6 @@ is-IS:
503
503
  static_pages: Síður
504
504
  user_groups:
505
505
  index:
506
- filter:
507
- all: Allt
508
- pending: Í bið
509
- rejected: Hafnað
510
- verified: Staðfest
511
- filter_by: Sía eftir
512
- search: Leita
513
506
  state:
514
507
  pending: Í bið
515
508
  rejected: Hafnað
@@ -405,6 +405,11 @@ it:
405
405
  user_name_or_user_email_cont: Cerca %{collection} per nome o email.
406
406
  state_eq:
407
407
  label: Stato
408
+ values:
409
+ all: Tutte
410
+ pending: In Sospeso
411
+ rejected: Respinto
412
+ verified: Verificato
408
413
  forms:
409
414
  file_help:
410
415
  import:
@@ -450,17 +455,12 @@ it:
450
455
  impersonate_existing_user: Gestisci partecipante %{name}"
451
456
  impersonate_new_managed_user: Gestisci nuovo partecipante
452
457
  imports:
453
- creators:
454
- proposalcreator: Autore della proposta
455
458
  error: Si è verificato un errore durante l'importazione
456
- help:
457
- proposalcreator: Il file deve avere nomi di colonna title/en e body/en (o un altro locale che preferisci, ad esempio title/it e body/it). Sono supportate anche le colonne scope/id e category/id.
458
- import_from_file: Importare da un file
459
- invalid_lines: Ci sono errori di importazione alle linee %{invalid_lines}
460
459
  new:
461
460
  accepted_mime_types:
462
461
  csv: csv
463
462
  json: json
463
+ xlsx: xlsx
464
464
  actions:
465
465
  back: Indietro
466
466
  file_legend: Aggiungi un file da importare che verrà analizzato.
@@ -927,13 +927,6 @@ it:
927
927
  success: Il gruppo utenti è stato verificato correttamente
928
928
  user_groups:
929
929
  index:
930
- filter:
931
- all: Tutti
932
- pending: in attesa di
933
- rejected: Rifiutata
934
- verified: Verificato
935
- filter_by: Filtra per
936
- search: Ricerca
937
930
  state:
938
931
  pending: in attesa di
939
932
  rejected: Rifiutata