decidim-decidim_awesome 0.12.0 → 0.12.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.md +24 -14
  4. data/Rakefile +12 -0
  5. data/app/cells/concerns/decidim/decidim_awesome/global_menu_cell_override.rb +14 -2
  6. data/app/cells/concerns/decidim/decidim_awesome/proposal_l_cell_override.rb +5 -4
  7. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/show.erb +3 -3
  8. data/app/cells/decidim/decidim_awesome/voting/voting_cards_proposal/vote_block_for.erb +1 -1
  9. data/app/controllers/concerns/decidim/decidim_awesome/admin/maintenance_context.rb +0 -28
  10. data/app/controllers/concerns/decidim/decidim_awesome/needs_hashcash.rb +41 -0
  11. data/app/controllers/concerns/decidim/decidim_awesome/not_found_redirect.rb +2 -2
  12. data/app/controllers/decidim/decidim_awesome/admin/admin_authorizations_controller.rb +2 -2
  13. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +0 -4
  14. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +2 -1
  15. data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +1 -2
  16. data/app/controllers/decidim/decidim_awesome/admin/hashcash_controller.rb +39 -0
  17. data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +1 -1
  18. data/app/controllers/decidim/decidim_awesome/admin/{maintenance_controller.rb → private_data_controller.rb} +9 -9
  19. data/app/controllers/decidim/decidim_awesome/utils_controller.rb +17 -0
  20. data/app/forms/concerns/decidim/decidim_awesome/proposals/proposal_form_override.rb +7 -1
  21. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +13 -0
  22. data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +1 -1
  23. data/app/helpers/decidim/decidim_awesome/map_helper.rb +4 -2
  24. data/app/models/decidim/decidim_awesome/paper_trail_version.rb +1 -1
  25. data/app/overrides/decidim/devise/registrations/new/add_hashcash.html.erb.deface +3 -0
  26. data/app/overrides/decidim/devise/sessions/new/add_hashcash.html.erb.deface +3 -0
  27. data/app/overrides/layouts/decidim/_head/add_awesome_custom_styles.html.erb.deface +3 -0
  28. data/app/overrides/layouts/decidim/_head/add_awesome_tags.html.erb.deface +0 -2
  29. data/app/packs/entrypoints/decidim_decidim_awesome_hashcash.js +4 -0
  30. data/app/packs/src/decidim/decidim_awesome/admin/auto_edit.js +10 -6
  31. data/app/packs/src/decidim/decidim_awesome/admin/custom_fields_builder.js +4 -2
  32. data/app/packs/src/decidim/decidim_awesome/admin/verifications.js +6 -3
  33. data/app/packs/src/decidim/decidim_awesome/awesome_map/api/proposals_fetcher.js +1 -1
  34. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js +1 -1
  35. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller.js +1 -1
  36. data/app/packs/src/decidim/decidim_awesome/awesome_map/controls_ui.js +6 -6
  37. data/app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js +1 -1
  38. data/app/packs/src/decidim/decidim_awesome/forms/autosave.js +3 -3
  39. data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +1 -113
  40. data/app/packs/src/decidim/decidim_awesome/proposals/images.js +1 -1
  41. data/app/packs/src/vendor/form_builder_langs/ar-SA.lang +111 -0
  42. data/app/packs/src/vendor/form_builder_langs/ar-TN.lang +94 -0
  43. data/app/packs/src/vendor/form_builder_langs/ca-ES.lang +110 -0
  44. data/app/packs/src/vendor/form_builder_langs/cs-CZ.lang +105 -0
  45. data/app/packs/src/vendor/form_builder_langs/da-DK.lang +110 -0
  46. data/app/packs/src/vendor/form_builder_langs/de-DE.lang +109 -0
  47. data/app/packs/src/vendor/form_builder_langs/el-GR.lang +110 -0
  48. data/app/packs/src/vendor/form_builder_langs/en-US.lang +117 -0
  49. data/app/packs/src/vendor/form_builder_langs/es-ES.lang +103 -0
  50. data/app/packs/src/vendor/form_builder_langs/fa-IR.lang +108 -0
  51. data/app/packs/src/vendor/form_builder_langs/fi-FI.lang +107 -0
  52. data/app/packs/src/vendor/form_builder_langs/fr-FR.lang +117 -0
  53. data/app/packs/src/vendor/form_builder_langs/he-IL.lang +108 -0
  54. data/app/packs/src/vendor/form_builder_langs/hi-IN.lang +110 -0
  55. data/app/packs/src/vendor/form_builder_langs/hu-HU.lang +108 -0
  56. data/app/packs/src/vendor/form_builder_langs/id-ID.lang +110 -0
  57. data/app/packs/src/vendor/form_builder_langs/it-IT.lang +107 -0
  58. data/app/packs/src/vendor/form_builder_langs/ja-JP.lang +108 -0
  59. data/app/packs/src/vendor/form_builder_langs/my-MM.lang +108 -0
  60. data/app/packs/src/vendor/form_builder_langs/nb-NO.lang +94 -0
  61. data/app/packs/src/vendor/form_builder_langs/nl-NL.lang +94 -0
  62. data/app/packs/src/vendor/form_builder_langs/pl-PL.lang +122 -0
  63. data/app/packs/src/vendor/form_builder_langs/pt-BR.lang +110 -0
  64. data/app/packs/src/vendor/form_builder_langs/pu-IN.lang +110 -0
  65. data/app/packs/src/vendor/form_builder_langs/qz-MM.lang +108 -0
  66. data/app/packs/src/vendor/form_builder_langs/ro-RO.lang +94 -0
  67. data/app/packs/src/vendor/form_builder_langs/ru-RU.lang +110 -0
  68. data/app/packs/src/vendor/form_builder_langs/sl-SI.lang +110 -0
  69. data/app/packs/src/vendor/form_builder_langs/th-TH.lang +111 -0
  70. data/app/packs/src/vendor/form_builder_langs/tr-TR.lang +115 -0
  71. data/app/packs/src/vendor/form_builder_langs/uk-UA.lang +108 -0
  72. data/app/packs/src/vendor/form_builder_langs/vi-VN.lang +94 -0
  73. data/app/packs/src/vendor/form_builder_langs/zh-CN.lang +100 -0
  74. data/app/packs/src/vendor/form_builder_langs/zh-TW.lang +94 -0
  75. data/app/packs/src/vendor/hashcash.js +83 -0
  76. data/app/packs/src/vendor/sha1.js +143 -0
  77. data/app/packs/src/vendor/stamp.js +50 -0
  78. data/app/packs/stylesheets/decidim/decidim_awesome/forms/autosave.scss +2 -12
  79. data/app/presenters/decidim/decidim_awesome/private_data_presenter.rb +2 -2
  80. data/app/views/decidim/decidim_awesome/admin/admin_accountability/index.html.erb +4 -4
  81. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/callout.html.erb +2 -2
  82. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/conflict.html.erb +4 -4
  83. data/app/views/decidim/decidim_awesome/admin/admin_authorizations/edit.html.erb +6 -5
  84. data/app/views/decidim/decidim_awesome/admin/checks/index.html.erb +6 -6
  85. data/app/views/decidim/decidim_awesome/admin/config/_autoedit_box_label.html.erb +2 -2
  86. data/app/views/decidim/decidim_awesome/admin/config/_constraints.html.erb +3 -3
  87. data/app/views/decidim/decidim_awesome/admin/config/_form_admins.html.erb +4 -3
  88. data/app/views/decidim/decidim_awesome/admin/config/_form_editors.html.erb +1 -1
  89. data/app/views/decidim/decidim_awesome/admin/config/_form_proposal_custom_fields.html.erb +4 -4
  90. data/app/views/decidim/decidim_awesome/admin/config/_form_scoped_styles.html.erb +3 -3
  91. data/app/views/decidim/decidim_awesome/admin/config/_form_surveys.html.erb +40 -2
  92. data/app/views/decidim/decidim_awesome/admin/config/_form_verifications.html.erb +1 -1
  93. data/app/views/decidim/decidim_awesome/admin/hashcash/_filters.html.erb +55 -0
  94. data/app/views/decidim/decidim_awesome/admin/hashcash/index.html.erb +33 -0
  95. data/app/views/decidim/decidim_awesome/admin/hashcash/ip_addresses.html.erb +29 -0
  96. data/app/views/decidim/decidim_awesome/admin/hashcash/show.html.erb +42 -0
  97. data/app/views/decidim/decidim_awesome/admin/menu_hacks/index.html.erb +2 -2
  98. data/app/views/decidim/decidim_awesome/admin/{maintenance → private_data}/_private_data.html.erb +2 -2
  99. data/app/views/decidim/decidim_awesome/admin/{maintenance/show.html.erb → private_data/index.html.erb} +2 -3
  100. data/app/views/decidim/decidim_awesome/admin/proposals/_private_body.html.erb +1 -1
  101. data/app/views/decidim/decidim_awesome/amendments/_modal.html.erb +2 -2
  102. data/app/views/decidim/decidim_awesome/hashcash/_hidden_field.html.erb +5 -0
  103. data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +2 -2
  104. data/app/views/layouts/decidim/decidim_awesome/admin/maintenance.html.erb +2 -11
  105. data/config/assets.rb +1 -0
  106. data/config/i18n-tasks.yml +1 -0
  107. data/config/locales/ca.yml +69 -30
  108. data/config/locales/cs.yml +68 -29
  109. data/config/locales/de.yml +67 -28
  110. data/config/locales/en.yml +81 -32
  111. data/config/locales/es.yml +68 -29
  112. data/config/locales/eu.yml +31 -31
  113. data/config/locales/fr.yml +82 -31
  114. data/config/locales/ja.yml +31 -31
  115. data/lib/decidim/decidim_awesome/admin_engine.rb +8 -5
  116. data/lib/decidim/decidim_awesome/awesome.rb +29 -7
  117. data/lib/decidim/decidim_awesome/checksums.yml +15 -40
  118. data/lib/decidim/decidim_awesome/engine.rb +11 -2
  119. data/lib/decidim/decidim_awesome/menu.rb +151 -138
  120. data/lib/decidim/decidim_awesome/test/initializer.rb +4 -1
  121. data/lib/decidim/decidim_awesome/test/shared_examples/config_examples.rb +1 -3
  122. data/lib/decidim/decidim_awesome/test/shared_examples/editor_examples.rb +2 -1
  123. data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +8 -1
  124. data/lib/decidim/decidim_awesome/version.rb +1 -1
  125. data/lib/tasks/decidim_awesome_upgrade_tasks.rake +4 -1
  126. data/package.json +3 -4
  127. metadata +68 -10
  128. data/config/rubocop/disabled.yml +0 -11
  129. data/config/rubocop/faker.yml +0 -480
  130. data/config/rubocop/rails.yml +0 -88
  131. data/config/rubocop/rspec.yml +0 -65
  132. data/config/rubocop/ruby.yml +0 -1210
@@ -398,37 +398,6 @@ eu:
398
398
  update:
399
399
  error: Birbideratzea eguneratzean errorea! %{error}
400
400
  success: Birbideratzea ongi eguneratu da
401
- maintenance:
402
- private_data:
403
- component: Espazioa / Osagaia
404
- confirm_delete: Ziur zaude baliabide honen datu pribatu guztiak ezabatu nahi dituzula? Honek ezin da desegin.
405
- delete: Dena ezabatu
406
- destroying_private_data: Baliabiderako %{title} datu pribatuak suntsitzeko prestatuta daude. Mesedez, egiaztatu berriro minutu batzuetan.
407
- done: Eginda
408
- help_html: |
409
- Tresna honen bidez, datu pribatu guztiak ezaba daitezke parte hartzeko gune edo osagai jakin baterako. Ekintza hau atzeraezina da eta datu pribatu guztiak datu-basetik ezabatuko ditu.
410
- <br><br>
411
- <strong>Zer jotzen da datu pribatutzat?</strong>
412
- <br>
413
- Datu pribatuak informazio publikoa ez den eta administratzaileentzat bakarrik den informazioa dira. Honek, oraingoz, eremu pribatuetako informazioa barne hartzen du.
414
- <br><br>
415
- <strong>Zer gertatzen da datu pribatuak ezabatzen ditudanean?</strong>
416
- <br>
417
- Datu pribatuak ezabatzen direnean, hautatutako espazio edo osagai parte-hartzailerako informazio pribatu guztia datu-basetik kenduko da behin betiko. Ekintza horren erregistro bat sisteman gordeko da, ikuskapen-helburuetarako.
418
- <br><br>
419
- <strong>Zer gertatzen da datu publikoekin?</strong>
420
- <br>
421
- Ekintza honek ez du datu publikoetan eraginik izango. Datu pribatuak bakarrik ezabatuko dira.
422
- <br><br>
423
- <strong>Itxaron behar duzu datu pribatuak ezabatu aurretik?</strong>
424
- <br>
425
- Bai, ezin dira datu pribatuak ezabatu azken eguneratzea %{time_ago} baino txikiagoa bada. Konfigurazio hau alda dezakezu inizializatzaileen fitxategian.
426
- items_count: Erlazionatutako guztira
427
- last_date: Azken eguneraketa
428
- no_data: Ez da aurkitu %{time_ago} baino zaharragoak diren datu pribaturik
429
- not_destroyable: Baliabide hau ezin da oraindik suntsitu
430
- removing: Ezabatzen...
431
- time_ago: "%{time} lehenago"
432
401
  menu:
433
402
  admins: Esparruaren administrataileak
434
403
  custom_redirects: Birbideratze pertsonalizatuak
@@ -487,6 +456,37 @@ eu:
487
456
  verification_modal:
488
457
  authorizations_for: '%{user}-rako baimenak'
489
458
  close: Itxi
459
+ private_data:
460
+ private_data:
461
+ component: Espazioa / Osagaia
462
+ confirm_delete: Ziur zaude baliabide honen datu pribatu guztiak ezabatu nahi dituzula? Honek ezin da desegin.
463
+ delete: Dena ezabatu
464
+ destroying: Baliabiderako %{title} datu pribatuak suntsitzeko prestatuta daude. Mesedez, egiaztatu berriro minutu batzuetan.
465
+ done: Eginda
466
+ help_html: |
467
+ Tresna honen bidez, datu pribatu guztiak ezaba daitezke parte hartzeko gune edo osagai jakin baterako. Ekintza hau atzeraezina da eta datu pribatu guztiak datu-basetik ezabatuko ditu.
468
+ <br><br>
469
+ <strong>Zer jotzen da datu pribatutzat?</strong>
470
+ <br>
471
+ Datu pribatuak informazio publikoa ez den eta administratzaileentzat bakarrik den informazioa dira. Honek, oraingoz, eremu pribatuetako informazioa barne hartzen du.
472
+ <br><br>
473
+ <strong>Zer gertatzen da datu pribatuak ezabatzen ditudanean?</strong>
474
+ <br>
475
+ Datu pribatuak ezabatzen direnean, hautatutako espazio edo osagai parte-hartzailerako informazio pribatu guztia datu-basetik kenduko da behin betiko. Ekintza horren erregistro bat sisteman gordeko da, ikuskapen-helburuetarako.
476
+ <br><br>
477
+ <strong>Zer gertatzen da datu publikoekin?</strong>
478
+ <br>
479
+ Ekintza honek ez du datu publikoetan eraginik izango. Datu pribatuak bakarrik ezabatuko dira.
480
+ <br><br>
481
+ <strong>Itxaron behar duzu datu pribatuak ezabatu aurretik?</strong>
482
+ <br>
483
+ Bai, ezin dira datu pribatuak ezabatu azken eguneratzea %{time_ago} baino txikiagoa bada. Konfigurazio hau alda dezakezu inizializatzaileen fitxategian.
484
+ items_count: Erlazionatutako guztira
485
+ last_date: Azken eguneraketa
486
+ no_data: Ez da aurkitu %{time_ago} baino zaharragoak diren datu pribaturik
487
+ not_destroyable: Baliabide hau ezin da oraindik suntsitu
488
+ removing: Ezabatzen...
489
+ time_ago: "%{time} lehenago"
490
490
  proposal_custom_fields:
491
491
  menu:
492
492
  title: Eremu publikoak
@@ -7,6 +7,9 @@ fr:
7
7
  allow_images_in_proposals: Autoriser les images dans l'éditeur de propositions
8
8
  allow_videos_in_editors: Autoriser les vidéos dans l'éditeur HTML
9
9
  auto_save_forms: Sauvegarde automatique des formulaires dans le stockage local du navigateur
10
+ force_authorization_after_login: Forcer la vérification après la connexion/inscription
11
+ force_authorization_help_text: Texte d'aide sur la page d'autorisation
12
+ force_authorization_with_any_method: Permettre l'accès si l'une des autorisations est accordée (par défaut, toutes sont requises)
10
13
  intergram_auto_no_response: Un message qui est envoyé une minute après que l'utilisateur envoie son premier message et qu'aucune réponse n'a été reçue
11
14
  intergram_auto_response: Un message qui est envoyé immédiatement après que l'utilisateur envoie son premier message
12
15
  intergram_chat_id: ID de la conversation
@@ -48,6 +51,8 @@ fr:
48
51
  target: Ouvrir dans
49
52
  url: URL
50
53
  visibility: Visibilité
54
+ organization:
55
+ awesome_admins_available_authorizations: Autoriser les administrateurs à vérifier manuellement les utilisateurs avec ces autorisations
51
56
  user:
52
57
  user_time_zone: Fuseau horaire personnel
53
58
  decidim:
@@ -177,6 +182,26 @@ fr:
177
182
  collaborator: Collaborateur
178
183
  moderator: Modérateur
179
184
  valuator: Evaluateur
185
+ admin_authorizations:
186
+ authorization:
187
+ confirm_destroy: Êtes-vous sûr de vouloir détruire cette autorisation ? Cela pourrait affecter l'accès des utilisateurs à la plateforme.
188
+ destroy: Supprimer
189
+ granted_at: Accordé à %{date}
190
+ metadata: Contient des métadonnées ? %{metadata}
191
+ authorization_destroyed: L'autorisation a été supprimée avec succès.
192
+ authorization_not_destroyed: L'autorisation n'a pas pu être supprimée !
193
+ authorization_transferred: 'Avertissement : Il y a eu un conflit de vérification et la vérification a été transférée à %{user}'
194
+ conflict: Il y a un conflit avec une autorisation existante
195
+ conflict_help_html: "Vous devez résoudre le conflit de vérification avec l'utilisateur %{user} avant de vérifier l'utilisateur avec cette autorisation. \n<br><br>\nUn conflit de vérification se produit lorsqu'un autre utilisateur utilise les mêmes données que l'utilisateur que vous essayez de vérifier. \nVous pouvez résoudre ce conflit en supprimant l'autorisation conflictuelle de l'autre utilisateur ou en utilisant d'autres données pour cet utilisateur.\n"
196
+ edit:
197
+ authorize: Vérifier %{user} avec %{name}
198
+ do_it_if_sure: Ne le faites que si vous êtes sûr que cet utilisateur a cette autorisation.
199
+ force_verification: Forcer la vérification avec les données actuelles
200
+ force_verification_help: La vérification a échoué, mais vous pouvez la forcer si vous êtes sûr que l'utilisateur a cette autorisation.
201
+ force_verification_reason: 'Veuillez donner une raison pour forcer la vérification :'
202
+ warning: 'Avertissement : En forçant cette autorisation, vous remplacez le statut actuel d''autorisation de l''utilisateur.'
203
+ user_authorized: "%{user} autorisé avec succès avec %{name}"
204
+ user_not_authorized: "%{user} n’a pas pu être autorisé avec %{name}"
180
205
  checks:
181
206
  index:
182
207
  admin_head_tags: '"Awesome tags" (balises) inclus dans l''en-tête de l''application d''administration'
@@ -237,6 +262,8 @@ fr:
237
262
  allow_videos_in_editors: Ceci ajoutera une icône de lien vidéo dans tous les éditeurs WYSIWYG
238
263
  auto_save_forms: Ceci utilisera LocalStorage ( cache navigateur) pour enregistrer automatiquement les données introduites par les utilisateurs dans les enquêtes et autres formulaires pendant qu'ils le remplissent. Les données seront restaurées lors d'une prochaine visite avec le même navigateur au cas où le formulaire ne serait pas soumis. Si le formulaire est soumis, les données seront supprimées. Si les utilisateurs suppriment leurs données LocalStorage ne seront pas non plus restaurées.
239
264
  drag_and_drop_supported: Lorsque vous ajoutez des images, le glisser-déposer est pris en charge. Les images seront envoyées sur le serveur et insérées en tant que ressources externes (il n'utilise pas l'encodage en base64).
265
+ force_authorization_after_login: 'Si cette option est activée, les utilisateurs seront redirigés vers la page d''autorisation après la connexion ou l''inscription si certaines des autorisations spécifiées ne sont pas autorisées. Ceci est utile si vous voulez forcer les utilisateurs à être vérifiés avec une autorisation spécifique avant qu''ils ne puissent se connecter du tout (c''est à dire pour prévenir le spam).'
266
+ force_authorization_help_text: Ajoutez un texte personnalisé pour expliquer pourquoi une autorisation est nécessaire. Assurez-vous également d'ajouter une méthode de contact au cas où les utilisateurs auraient besoin d'aide.
240
267
  intergram_about: Intergram utilise la messagerie Telegram pour gérer un widget de chat en direct intégré dans le bas de la page.
241
268
  intergram_config: 'Invitez le bot <a href="https://web.telegram.org/#/im?p=@IntergramBot">@Intergram</a> dans votre groupe ou commencez une conversation avec lui directement. <a href="https://github.com/idoco/intergram#embed-intergram-in-your-website-with-these-2-simple-steps">+ info</a>'
242
269
  original_editor_override: Depuis la version 0.26, il est possible (pour les administrateurs seulement) de charger des images dans les éditeurs. Par conséquent, les paramètres d'image activés ici n'affectent que les éditeurs publics (ce sera toujours disponible pour l'admin).
@@ -251,6 +278,7 @@ fr:
251
278
  %{key}
252
279
  scoped_admin_styles: Soyez conscient que cacher des éléments pourrait rendre l'interface administrateur inutilisable. Agissez avec prudence.
253
280
  scoped_admin_styles_variables: 'Vous pouvez utiliser les variables CSS suivantes pour les couleurs personnalisées de l''organisation :'
281
+ scoped_admin_styles_warning: "<strong>Avertissement</strong>: Ajoutez ici un CSS personnalisé qui s'applique seulement à cet administrateur."
254
282
  scoped_admins: Promouvoir les utilisateurs réguliers en administrateurs qui ne peuvent administrer que certaines parties de la plateforme (utilisez l'éditeur de restrictions pour cela). Notez que les utilisateurs qui ont déjà les permissions d'administration habituelles seront ignorés.
255
283
  scoped_styles: Créer un CSS personnalisé qui s'applique uniquement à certaines parties du site web public (front-end) (utilisez l'éditeur de restrictions pour cela)
256
284
  scoped_styles_variables: 'Vous pouvez utiliser les variables CSS suivantes pour les couleurs personnalisées de l''organisation :'
@@ -261,6 +289,10 @@ fr:
261
289
  validate_title_max_caps_percent: Zéro n'autorisera aucune lettre majuscule, 100 forcera à tout écrire en majuscule
262
290
  validate_title_max_marks_together: 'Limiter le nombre de points d''interrogation et d''exclamation qui peuvent être écrits ensemble. Par exemple : si c''est 2, alors ''!!!'' ne sera pas autorisé dans le texte'
263
291
  validate_title_min_length: Le titre est toujours obligatoire et ce nombre ne peut être égal à zéro
292
+ verifications_html: |
293
+ Vous pouvez ici apporter quelques améliorations au processus de vérification.<br>
294
+ <b>NOTE :</b> Sachez que modifier ces paramètres peut empêcher certains utilisateurs d'accéder à la plateforme. Utilisez-le avec précaution !<br><br>
295
+ Notez aussi que ces paramètres sont appliqués à tous les utilisateurs. Les administrateurs auront cependant toujours accès à l'administration.
264
296
  validators:
265
297
  body: Validations d'entrée de l'utilisateur pour le champ "body"
266
298
  title: Validations d'entrée de l'utilisateur pour le champ "body"
@@ -306,6 +338,7 @@ fr:
306
338
  scoped_styles: 'Styles personnalisés : Interface publique'
307
339
  styles: Styles personnalisés
308
340
  surveys: Enquêtes et formulaires
341
+ verifications: Vérifications / Hacks d'autorisation
309
342
  update:
310
343
  error: Erreur lors de la mise à jour de la configuration ! %{error}
311
344
  success: La configuration a bien été mise à jour
@@ -365,37 +398,6 @@ fr:
365
398
  update:
366
399
  error: Erreur lors de la mise à jour de la redirection! %{error}
367
400
  success: Redirection mise à jour avec succès
368
- maintenance:
369
- private_data:
370
- component: Espace / Fonctionnalité
371
- confirm_delete: Êtes-vous sûr de vouloir supprimer toutes les données privées pour cette ressource ? Cette action est irréversible.
372
- delete: Tout supprimer
373
- destroying_private_data: Les données privées pour %{title} sont sur le point d'être effacées. Veuillez vérifier à nouveau dans quelques minutes.
374
- done: Terminé
375
- help_html: |
376
- Cet outil vous permet de supprimer toutes les données privées d'un espace ou d'une fonctionnalité participatif spécifique. Cette action est irréversible et supprimera toutes les données privées de la base de données.
377
- <br><br>
378
- <strong>Qu'est-ce qui est considéré comme des données privées ?</strong>
379
- <br>
380
- Les données privées sont toutes les informations qui ne sont pas accessibles au public et qui sont uniquement accessibles aux administrateurs. Cela inclut, pour le moment, les informations des champs personnalisés privés.
381
- <br><br>
382
- <strong>Que se passe-t-il lorsque je supprime des données privées ?</strong>
383
- <br>
384
- Lorsque vous supprimez des données privées, toutes les informations privées de l'espace ou du composant participatif sélectionné seront définitivement supprimées de la base de données. Un journal de cette action sera stocké dans le système à des fins d'audit.
385
- <br><br>
386
- <strong>Qu'advient-il des données publiques ?</strong>
387
- <br>
388
- Les données publiques ne seront pas affectées par cette action. Seules les données privées seront supprimées.
389
- <br><br>
390
- <strong>Y a-t-il un délai minimum à attendre avant de supprimer des données privées ?</strong>
391
- <br>
392
- Oui, vous ne pouvez pas supprimer des données privées si la dernière mise à jour date de moins de %{time_ago}. Vous pouvez modifier cette configuration dans le fichier d'initialisation.
393
- items_count: Total affecté
394
- last_date: Dernière mise à jour
395
- no_data: Aucune donnée privée plus ancienne que %{time_ago}
396
- not_destroyable: Cette ressource ne peut pas encore être supprimée
397
- removing: Suppression en cours...
398
- time_ago: "Il y a %{time}"
399
401
  menu:
400
402
  admins: Administrateurs de secteur
401
403
  custom_redirects: Redirections personnalisées
@@ -439,6 +441,8 @@ fr:
439
441
  title: Bloc de menu global
440
442
  menu:
441
443
  title: Menu principal
444
+ mobile_menu:
445
+ title: Menu mobile
442
446
  new: Nouvel élément de menu
443
447
  remove: Supprimer l'ajout
444
448
  remove_hack: Supprimer la personnalisation
@@ -454,6 +458,37 @@ fr:
454
458
  verification_modal:
455
459
  authorizations_for: Autorisations pour %{user}
456
460
  close: Fermer
461
+ private_data:
462
+ private_data:
463
+ component: Espace / Fonctionnalité
464
+ confirm_delete: Êtes-vous sûr de vouloir supprimer toutes les données privées pour cette ressource ? Cette action est irréversible.
465
+ delete: Tout supprimer
466
+ destroying: Les données privées pour %{title} sont sur le point d'être effacées. Veuillez vérifier à nouveau dans quelques minutes.
467
+ done: Terminé
468
+ help_html: |
469
+ Cet outil vous permet de supprimer toutes les données privées d'un espace ou d'une fonctionnalité participatif spécifique. Cette action est irréversible et supprimera toutes les données privées de la base de données.
470
+ <br><br>
471
+ <strong>Qu'est-ce qui est considéré comme des données privées ?</strong>
472
+ <br>
473
+ Les données privées sont toutes les informations qui ne sont pas accessibles au public et qui sont uniquement accessibles aux administrateurs. Cela inclut, pour le moment, les informations des champs personnalisés privés.
474
+ <br><br>
475
+ <strong>Que se passe-t-il lorsque je supprime des données privées ?</strong>
476
+ <br>
477
+ Lorsque vous supprimez des données privées, toutes les informations privées de l'espace ou du composant participatif sélectionné seront définitivement supprimées de la base de données. Un journal de cette action sera stocké dans le système à des fins d'audit.
478
+ <br><br>
479
+ <strong>Qu'advient-il des données publiques ?</strong>
480
+ <br>
481
+ Les données publiques ne seront pas affectées par cette action. Seules les données privées seront supprimées.
482
+ <br><br>
483
+ <strong>Y a-t-il un délai minimum à attendre avant de supprimer des données privées ?</strong>
484
+ <br>
485
+ Oui, vous ne pouvez pas supprimer des données privées si la dernière mise à jour date de moins de %{time_ago}. Vous pouvez modifier cette configuration dans le fichier d'initialisation.
486
+ items_count: Total affecté
487
+ last_date: Dernière mise à jour
488
+ no_data: Aucune donnée privée plus ancienne que %{time_ago}
489
+ not_destroyable: Cette ressource ne peut pas encore être supprimée
490
+ removing: Suppression en cours...
491
+ time_ago: "Il y a %{time}"
457
492
  proposal_custom_fields:
458
493
  menu:
459
494
  title: Champs publiques
@@ -471,6 +506,10 @@ fr:
471
506
  admin_log:
472
507
  component:
473
508
  destroy_private_data: "%{user_name} a détruit les objets %{count} de données privées pour %{resource_name} dans %{space_name}"
509
+ user:
510
+ admin_creates_authorization: "%{user_name} vérifié %{resource_name} avec %{handler_name}"
511
+ admin_destroys_authorization: "%{user_name} a supprimé la vérification %{handler_name} sur %{resource_name}"
512
+ admin_forces_authorization: "%{user_name} a forcé la vérification %{handler_name} sur %{resource_name}. Raison : %{reason}"
474
513
  amendments:
475
514
  modal:
476
515
  amendment_exists: Un amendement existe déjà
@@ -539,9 +578,21 @@ fr:
539
578
  index:
540
579
  cancel: Je vais le faire ultérieurement, %{link}.
541
580
  granted_title: Vérifications accordées
581
+ logout: me déconnecter
542
582
  missing_title: Pas encore vérifié
543
583
  resume_title: Vérifications en attente
584
+ resume_with_method: Reprendre la vérification via %{name}
544
585
  title: Vérifiez votre identité
586
+ verify_with_all_these_options: 'Veuillez vous vérifier avec toutes ces méthodes avant de pouvoir accéder à la plateforme :'
587
+ verify_with_any_of_these_options: 'Veuillez vous vérifier avec au moins l''une de ces options avant de pouvoir accéder à la plateforme :'
588
+ verify_with_method: Vérifier avec %{name}
589
+ session:
590
+ authorization_is_required: Pour participer sur cette plateforme, vous devez autoriser votre compte avec une autorisation valide (%{authorizations}).
591
+ system:
592
+ organizations:
593
+ admin_allowed_authoritzations_help_html: |
594
+ Les administrateurs seront en mesure de vérifier manuellement les utilisateurs avec ces autorisations.
595
+ <br>Utilisez cette fonctionnalité avec précaution, car elle peut entraîner des problèmes de sécurité.
545
596
  validators:
546
597
  too_much_caps: Utilise trop de majuscule (plus de %{percent} du texte)
547
598
  voting:
@@ -399,37 +399,6 @@ ja:
399
399
  update:
400
400
  error: 'リダイレクトの更新中にエラーが発生しました: %{error}'
401
401
  success: リダイレクトを更新しました
402
- maintenance:
403
- private_data:
404
- component: スペース/コンポーネント
405
- confirm_delete: このリソースのすべてのプライベートデータを削除してもよろしいですか?この操作は元に戻せません。
406
- delete: 全て削除
407
- destroying_private_data: '%{title} のプライベートデータが破棄されるように設定されています。数分後にもう一度確認してください。'
408
- done: 実行済み
409
- help_html: |
410
- このツールを使用すると、特定の参加スペースまたはコンポーネントに関連するすべてのプライベートデータを削除することができます。この操作は取り消しができず、データベースからすべてのプライベートデータが削除されます。
411
- <br><br>
412
- <strong>プライベートデータとは何ですか?</strong>
413
- <br>
414
- プライベートデータとは、公開されておらず、管理者のみがアクセスできる情報のことを指します。現在のところ、非公開カスタムフィールドの情報がこれに該当します。
415
- <br><br>
416
- <strong>プライベートデータを削除するとどうなりますか?</strong>
417
- <br>
418
- プライベートデータを削除すると、選択した参加スペースまたはコンポーネントに関連するすべてのプライベート情報がデータベースから完全に削除されます。この操作のログは、監査目的でシステムに保存されます。
419
- <br><br>
420
- <strong>公開データはどうなりますか?</strong>
421
- <br>
422
- 公開データにはこの操作の影響はありません。削除されるのはプライベートデータのみです。
423
- <br><br>
424
- <strong>プライベートデータを削除するまでの最低待機時間はありますか?</strong>
425
- <br>
426
- はい、最後の更新から%{time_ago} 未満である場合、プライベートデータを削除することはできません。この設定は、イニシャライザーファイルで変更できます。
427
- items_count: 影響の合計数
428
- last_date: 最終更新日
429
- no_data: '%{time_ago} 前より古いプライベートデータは見つかりませんでした'
430
- not_destroyable: このリソースはまだ破棄できません
431
- removing: 削除中...
432
- time_ago: "%{time} 前"
433
402
  menu:
434
403
  admins: スコープ付き管理者
435
404
  custom_redirects: カスタムリダイレクト
@@ -488,6 +457,37 @@ ja:
488
457
  verification_modal:
489
458
  authorizations_for: '%{user} の本人確認'
490
459
  close: 閉じる
460
+ private_data:
461
+ private_data:
462
+ component: スペース/コンポーネント
463
+ confirm_delete: このリソースのすべてのプライベートデータを削除してもよろしいですか?この操作は元に戻せません。
464
+ delete: 全て削除
465
+ destroying: '%{title} のプライベートデータが破棄されるように設定されています。数分後にもう一度確認してください。'
466
+ done: 実行済み
467
+ help_html: |
468
+ このツールを使用すると、特定の参加スペースまたはコンポーネントに関連するすべてのプライベートデータを削除することができます。この操作は取り消しができず、データベースからすべてのプライベートデータが削除されます。
469
+ <br><br>
470
+ <strong>プライベートデータとは何ですか?</strong>
471
+ <br>
472
+ プライベートデータとは、公開されておらず、管理者のみがアクセスできる情報のことを指します。現在のところ、非公開カスタムフィールドの情報がこれに該当します。
473
+ <br><br>
474
+ <strong>プライベートデータを削除するとどうなりますか?</strong>
475
+ <br>
476
+ プライベートデータを削除すると、選択した参加スペースまたはコンポーネントに関連するすべてのプライベート情報がデータベースから完全に削除されます。この操作のログは、監査目的でシステムに保存されます。
477
+ <br><br>
478
+ <strong>公開データはどうなりますか?</strong>
479
+ <br>
480
+ 公開データにはこの操作の影響はありません。削除されるのはプライベートデータのみです。
481
+ <br><br>
482
+ <strong>プライベートデータを削除するまでの最低待機時間はありますか?</strong>
483
+ <br>
484
+ はい、最後の更新から%{time_ago} 未満である場合、プライベートデータを削除することはできません。この設定は、イニシャライザーファイルで変更できます。
485
+ items_count: 影響の合計数
486
+ last_date: 最終更新日
487
+ no_data: '%{time_ago} 前より古いプライベートデータは見つかりませんでした'
488
+ not_destroyable: このリソースはまだ破棄できません
489
+ removing: 削除中…
490
+ time_ago: "%{time} 前"
491
491
  proposal_custom_fields:
492
492
  menu:
493
493
  title: 公開フィールド
@@ -28,9 +28,12 @@ module Decidim
28
28
  post :export_admin_accountability, to: "admin_accountability#export", as: "export_admin_accountability"
29
29
  get :users, to: "config#users"
30
30
  post :rename_scope_label, to: "config#rename_scope_label"
31
- resources :maintenance, only: [:show] do
32
- delete :destroy_private_data, on: :member
33
- get :checks, on: :collection, to: "checks#index"
31
+ scope :maintenance do
32
+ get :checks, to: "checks#index"
33
+ resources :private_data, only: [:index, :destroy]
34
+ resources :hashcash, only: [:index, :show], as: "hashcashes" do
35
+ get :ip_addresses, on: :collection
36
+ end
34
37
  end
35
38
  resources :admin_authorizations, only: [:edit, :update, :destroy]
36
39
  post :migrate_images, to: "checks#migrate_images"
@@ -52,14 +55,14 @@ module Decidim
52
55
  if first_available
53
56
  decidim_admin_decidim_awesome.config_path(first_available)
54
57
  else
55
- decidim_admin_decidim_awesome.checks_maintenance_index_path
58
+ decidim_admin_decidim_awesome.checks_path
56
59
  end,
57
60
  icon_name: "fire",
58
61
  position: 7.5,
59
62
  active: if first_available
60
63
  is_active_link?(decidim_admin_decidim_awesome.config_path(first_available), :inclusive)
61
64
  else
62
- is_active_link?(decidim_admin_decidim_awesome.checks_maintenance_index_path)
65
+ is_active_link?(decidim_admin_decidim_awesome.checks_path)
63
66
  end,
64
67
  if: defined?(current_user) && current_user&.read_attribute("admin")
65
68
  end
@@ -129,6 +129,31 @@ module Decidim
129
129
  false
130
130
  end
131
131
 
132
+ # This is an anti-spam mechanism that uses the Hashcash algorithm to increase the cost of brute-force attacks
133
+ # on the login and signup forms. It works by requiring a Hashcash stamp to be sent with the form.
134
+ # See http://www.hashcash.org/docs/hashcash.html
135
+ # This configuration enables Hashcash for the signup forms.
136
+ # If set to :disabled, the feature will be completely removed (only on the signup form).
137
+ config_accessor :hashcash_signup do
138
+ false
139
+ end
140
+
141
+ # This configuration enables Hashcash for the login forms.
142
+ # If set to :disabled, the feature will be completely removed (only on the login form).
143
+ config_accessor :hashcash_login do
144
+ false
145
+ end
146
+
147
+ # The Hashcash bits are the number of bits of the stamp. The higher the number, the more difficult it is to generate a valid stamp.
148
+ # The default value is 20 bits for the signup form and 16 bits for the login form.
149
+ config_accessor :hashcash_signup_bits do
150
+ 20
151
+ end
152
+
153
+ config_accessor :hashcash_login_bits do
154
+ 16
155
+ end
156
+
132
157
  # allows admins to created specific CSS snippets affecting only some public frontend specific parts
133
158
  # Valid values differ a little from the previous convention:
134
159
  # :disabled => false and non available, hidden from admins
@@ -234,6 +259,10 @@ module Decidim
234
259
  []
235
260
  end
236
261
 
262
+ config_accessor :mobile_menu do
263
+ []
264
+ end
265
+
237
266
  config_accessor :home_content_block_menu do
238
267
  []
239
268
  end
@@ -340,13 +369,6 @@ module Decidim
340
369
  [:proposals, :reporting_proposals]
341
370
  end
342
371
 
343
- # A URL where to obtain the translations for the FormBuilder component
344
- # you can a custom place if you are worried about the CDN geolocation
345
- # Download them from https://github.com/kevinchappell/formBuilder-languages
346
- config_accessor :form_builder_langs_location do
347
- "https://cdn.jsdelivr.net/npm/formbuilder-languages@1.1.0/"
348
- end
349
-
350
372
  # Public: Stores an instance of ContentBlockRegistry
351
373
  def self.voting_registry
352
374
  @voting_registry ||= Decidim::ManifestRegistry.new("decidim_awesome/voting")
@@ -1,105 +1,80 @@
1
1
  decidim-admin:
2
2
  /app/views/layouts/decidim/admin/_header.html.erb:
3
- decidim-0.28: 25bf272ac5a70eb8a975f4889fa46095
4
- decidim-0.28.c4d3889: 6391da1f357f9b260622ddd404a47987
5
- decidim-0.28.1: b2ae319d5bcf43954bbe0edb9a4e3ffb
6
3
  decidim-0.29.1: b2ae319d5bcf43954bbe0edb9a4e3ffb
7
4
  decidim-core:
8
5
  /app/packs/entrypoints/decidim_editor.js:
9
- decidim-0.28: beddd77e3893fd0b7cd2679a7ee6e536
10
6
  decidim-0.29.1: beddd77e3893fd0b7cd2679a7ee6e536
11
7
  /app/packs/src/decidim/editor/index.js:
12
- decidim-0.28: 90dfac3acae97202dec083955e2249e4
13
8
  decidim-0.29.1: 90dfac3acae97202dec083955e2249e4
14
9
  /app/validators/etiquette_validator.rb:
15
- decidim-0.28: e9ad91d824ad48ac2075a088a0d21349
16
10
  decidim-0.29.1: e9ad91d824ad48ac2075a088a0d21349
17
11
  /app/views/layouts/decidim/_head.html.erb:
18
- decidim-0.28: e51e400a98821f4ca0fff26ebd4d0741
19
- decidim-0.28.1: 8ac1af4e223d9a7a98136760b6194a75
20
- decidim-0.28.4: 59abccd8b1c5315d5c0b772be0c26d45
21
12
  decidim-0.29.1: 8ac1af4e223d9a7a98136760b6194a75
13
+ decidim-0.29.2: 59abccd8b1c5315d5c0b772be0c26d45
22
14
  /app/views/layouts/decidim/_decidim_javascript.html.erb:
23
- decidim-0.28: dc60ed8abf7649611f18804b67b1408d
24
15
  decidim-0.29.1: 8d51790de859ee66f305d9111cdfb324
25
16
  /app/presenters/decidim/menu_presenter.rb:
26
- decidim-0.28: 220c8865a43bd8b7b12a7f926f7f4324
27
17
  decidim-0.29.1: 220c8865a43bd8b7b12a7f926f7f4324
28
18
  /app/presenters/decidim/menu_item_presenter.rb:
29
- decidim-0.28: 4e4cd366a8a313079ac5fab466bd3679
30
- decidim-0.28.4: f04f0f5112499a86079119d5f9ae8487
31
19
  decidim-0.29.1: f04f0f5112499a86079119d5f9ae8487
32
20
  /app/helpers/decidim/amendments_helper.rb:
33
- decidim-0.28: df28f9321d1bc07757746ed608274e3d
34
21
  decidim-0.29.1: 36072334cba7a58841a6b2fb007d24a6
35
22
  /app/presenters/decidim/admin_log/component_presenter.rb:
36
- decidim-0.28: 77e80d527727acdf117a0c4517a69a7c
37
23
  decidim-0.29.1: 77e80d527727acdf117a0c4517a69a7c
38
24
  /app/forms/decidim/account_form.rb:
39
- decidim-0.28: 11a022ae6ae18ad89da168bec4207935
40
25
  decidim-0.29.1: 11a022ae6ae18ad89da168bec4207935
26
+ decidim-0.29.3: 5872f17965919c0754a453ac4eb614df
41
27
  /app/commands/decidim/update_account.rb:
42
- decidim-0.28: 363872116fb99372c046b7394d618333
43
28
  decidim-0.29.1: d24090fdd9358c38e6e15c4607a78e18
44
29
  /app/views/decidim/account/show.html.erb:
45
- decidim-0.28: a0647f1740d696018f73ec8db8c7587a
46
30
  decidim-0.29.1: f13218e2358a2d611996c2a197c0de25
31
+ /app/cells/decidim/content_blocks/global_menu_cell.rb:
32
+ decidim-0.28.0: d224370c364a9cf4b2e244063274e5ef
33
+ /app/views/decidim/devise/registrations/new.html.erb:
34
+ decidim-0.29.1: b30423406afd43bb9af2c98d59d43632
35
+ /app/views/decidim/devise/sessions/new.html.erb:
36
+ decidim-0.29.1: a8fe60cd10c1636822c252d5488a979d
47
37
  decidim-proposals:
48
38
  /lib/decidim/proposals/proposal_serializer.rb:
49
- decidim-0.28: bbd33bdc60defb734b3fb814666bb622
50
- decidim-0.28.1: 7bd5cadb1127a4e81bd5f333670351bd
51
- decidim-0.28.2: ab146c54850a4486d96cf50211679671
52
39
  decidim-0.29.1: 58915ff3a7528463587d3762a93ff51b
40
+ decidim-0.29.2: f52f5770d8596134624ecb79457a21de
53
41
  /lib/decidim/api/proposal_type.rb:
54
- decidim-0.26: e38e4875e408ec4f658e28725c5a94d4
55
42
  decidim-0.29.1: 25d61a67a4b969ac8c472237d3f64b66
43
+ decidim-0.29.2: cd24561962f6fb6038678795f60bdec3
56
44
  /app/forms/decidim/proposals/proposal_form.rb:
57
45
  decidim-0.29.1: 0b19bfeb4f7bd15cd378a69c3935de6b
46
+ decidim-0.29.2: ad4ff4bde6ee2e802d394382ef7859a4
58
47
  /app/forms/decidim/proposals/admin/proposal_form.rb:
59
- decidim-0.28: 422632395194b19beed4c7c65f127ff5
60
48
  decidim-0.29.1: 422632395194b19beed4c7c65f127ff5
49
+ decidim-0.29.2: ad4ff4bde6ee2e802d394382ef7859a4
61
50
  /app/helpers/decidim/proposals/application_helper.rb:
62
- decidim-0.28: 89df14045349cc2eaaec78f79f6140b1
63
- decidim-0.28.2: 317b0347528e697fa405a792bcfa3db8
64
51
  decidim-0.29.1: 940488938f644b63a2ef6177f3757ca2
52
+ decidim-0.29.3: e6039a99268845c5038f913309fde432
65
53
  /app/controllers/decidim/proposals/proposal_votes_controller.rb:
66
- decidim-0.28: f983e72c1ee8d31222d537533c762cd2
67
54
  decidim-0.29.1: f983e72c1ee8d31222d537533c762cd2
68
55
  /app/views/decidim/proposals/admin/proposals/_form.html.erb:
69
- decidim-0.28: 824463b320562c15fdb530bfebbf2f0f
70
56
  decidim-0.29.1: 667c2ef6ffbf3369f59bd1e8eb0ba421
57
+ decidim-0.29.3: 59a7ed11d05a633cd4bf23881254b7f1
71
58
  /app/views/decidim/proposals/proposals/_vote_button.html.erb:
72
- decidim-0.27: 3d087d807238f33b71e6b385db8ffc70
73
59
  decidim-0.29.1: 06dd4c9bf7fc4953fc330b7ba081b2f6
74
60
  /app/views/decidim/proposals/proposals/_votes_count.html.erb:
75
- decidim-0.27: 6e663e5c82c27291b63f29f346df8737
76
61
  decidim-0.29.1: 6e663e5c82c27291b63f29f346df8737
77
62
  /app/cells/decidim/proposals/proposal_l_cell.rb:
78
- decidim-0.27.4: 5e111ed30bca9475bed8247e5e056747
79
- decidim-0.28.3: 6d955d56d9d9f0cba46ba157fa923cfc
80
63
  decidim-0.29.1: e38d1cd0ea6c7f14c8f8b56d3ceb0db5
64
+ decidim-0.29.2: 5043d8560a26fce2e296b3a0f6ba6cf6
81
65
  /app/cells/decidim/proposals/proposal_metadata_cell.rb:
82
- decidim-0.26: eedfd7f813aedbd819b519e03ae4a680
83
66
  decidim-0.29.1: 6859b77805227c4cf71ae0a1351a4551
84
67
  /app/commands/decidim/proposals/create_proposal.rb:
85
- decidim-0.28: 95c7bba44dbe477abdfbf450b7eee258
86
68
  decidim-0.29.1: 02a6f54a032457e68be580e6a539c47b
87
69
  /app/commands/decidim/proposals/create_collaborative_draft.rb:
88
- decidim-0.28: ab3f937f15c6ed945e776fef34b18abf
89
70
  decidim-0.29.1: ab3f937f15c6ed945e776fef34b18abf
90
71
  /app/commands/decidim/proposals/admin/create_proposal.rb:
91
- decidim-0.28: aa0c093cb10b3ccfb046edd0018eae1d
92
- decidim-0.28.3: 8d73a8c852f473c118f978ddfab323b1
93
72
  decidim-0.29.1: 837d86d2eb1f2d7579a0cef82d68caf7
94
73
  /app/commands/decidim/proposals/update_proposal.rb:
95
- decidim-0.28: 1cc15b946512f4d5a54d1cf5aea8450a
96
74
  decidim-0.29.1: e81268a1f9b3770387944d44d7704291
97
75
  /app/commands/decidim/proposals/update_collaborative_draft.rb:
98
- decidim-0.28: 7df5266382bd57db72832da391fe7e11
99
76
  decidim-0.29.1: 7df5266382bd57db72832da391fe7e11
100
77
  /app/commands/decidim/proposals/admin/update_proposal.rb:
101
- decidim-0.28: 67b691b6d1ce61cb198592ac25f76f74
102
78
  decidim-0.29.1: 67b691b6d1ce61cb198592ac25f76f74
103
79
  /app/presenters/decidim/proposals/proposal_presenter.rb:
104
- decidim-0.28: 72910541010305f25baf297f4a58497b
105
80
  decidim-0.29.1: bbc7cee02125c1f8cf909219e48af337
@@ -6,6 +6,7 @@ require "decidim/core"
6
6
  require "decidim/decidim_awesome/awesome_helpers"
7
7
  require "decidim/decidim_awesome/menu"
8
8
  require "decidim/decidim_awesome/middleware/current_config"
9
+ require "active_hashcash" if Decidim::DecidimAwesome.enabled?(:hashcash_signup, :hashcash_login)
9
10
 
10
11
  module Decidim
11
12
  module DecidimAwesome
@@ -18,12 +19,18 @@ module Decidim
18
19
  routes do
19
20
  get :required_authorizations, to: "required_authorizations#index"
20
21
  post :editor_images, to: "editor_images#create"
22
+ get "form_builder_i18n(/:lang)", to: "utils#form_builder_i18n", as: :form_builder_i18n
21
23
  end
22
24
 
23
25
  # Prepare a zone to create overrides
24
26
  # https://edgeguides.rubyonrails.org/engines.html#overriding-models-and-controllers
25
27
  # overrides
26
28
  config.to_prepare do
29
+ if DecidimAwesome.enabled?(:hashcash_signup, :hashcash_login)
30
+ # Add hashcash to signup and login
31
+ Decidim::Devise::SessionsController.include(Decidim::DecidimAwesome::NeedsHashcash)
32
+ Decidim::Devise::RegistrationsController.include(Decidim::DecidimAwesome::NeedsHashcash)
33
+ end
27
34
  # Include additional helpers globally
28
35
  ActiveSupport.on_load(:action_view) { include Decidim::DecidimAwesome::AwesomeHelpers }
29
36
  # Also for cells
@@ -92,8 +99,8 @@ module Decidim
92
99
  # override user's admin property
93
100
  Decidim::User.include(Decidim::DecidimAwesome::UserOverride) if DecidimAwesome.enabled?(:scoped_admins)
94
101
 
95
- if DecidimAwesome.enabled?(:menu, :content_block_main_menu)
96
- Decidim::ContentBlocks::GlobalMenuCell.include(Decidim::DecidimAwesome::GlobalMenuCellOverride)
102
+ if DecidimAwesome.enabled?(:menu, :mobile_menu, :home_content_block_menu)
103
+ Decidim::ContentBlocks::GlobalMenuCell.include(Decidim::DecidimAwesome::GlobalMenuCellOverride) if DecidimAwesome.enabled?(:home_content_block_menu)
97
104
  Decidim::BreadcrumbHelper.include(Decidim::DecidimAwesome::BreadcrumbHelperOverride)
98
105
  Decidim::MenuPresenter.include(Decidim::DecidimAwesome::MenuPresenterOverride)
99
106
  Decidim::MenuItemPresenter.include(Decidim::DecidimAwesome::MenuItemPresenterOverride)
@@ -291,6 +298,8 @@ module Decidim
291
298
  Decidim.icons.register(name: "spy", icon: "spy-fill", category: "system", description: "", engine: :decidim_awesome)
292
299
  Decidim.icons.register(name: "forbid-line", icon: "forbid-line", category: "system", description: "", engine: :decidim_awesome)
293
300
  Decidim.icons.register(name: "file-settings-line", icon: "file-settings-line", category: "system", description: "", engine: :decidim_awesome)
301
+ Decidim.icons.register(name: "hashtag", icon: "hashtag", category: "system", description: "", engine: :decidim_awesome)
302
+ Decidim.icons.register(name: "smartphone", icon: "smartphone-line", category: "system", description: "", engine: :decidim_awesome)
294
303
  end
295
304
  end
296
305
  end