Commit graph

20152 commits

Author SHA1 Message Date
Lisa Durand 450bf7bb34 improve readability in Windows High Contrast Mode 2023-11-27 16:03:35 +01:00
Colin Darie 7cb6eadf18
Merge pull request #9676 from colinux/fix-rails-schema
Tech: synchronize schema.rb
2023-11-20 13:25:21 +00:00
Colin Darie e3a1192d96 fix(migration): mismatch rails version definition 2023-11-20 11:22:28 +01:00
Colin Darie 34788bc800 fix(schema): add missing index administrateurs#groupe_gestionnaire_id 2023-11-20 11:22:28 +01:00
Colin Darie bb4a2b84b9 fix(schema): add missing index exports#instructeur_id 2023-11-20 11:22:28 +01:00
Colin Darie f972d36f2f test: fix when using timestamps not yet limited by postgresql precision
Sur des colonnes dont le schema ne connait pas le niveau de précision
(créées avant rails 7), rails créé un timestamp avec la précision système
(par exemple 9 décimales sur linux) alors que pg va l'arrondir
a posteriori à 6.

Ce n'est généralement pas un problème en production,
mais se révèle dans les tests typiquement avec des objets crées
par des factories: si un test dépend de ces timestamps,
il faut récupérer la valeur limitée par pg (d'où le reload),
plutôt que celle directement issue de Time.now à la création de l'objet.

Une alternative aurait été de créer une migration pour ces colonnes pour
forcer la précision à 6 et que le schema en aurait pris connaissance:
rails limiterait la précision de lui même dès la création de l'objet.
2023-11-20 11:22:28 +01:00
Colin Darie e60a5f5123 ci: fail when someones forget to commit it's schema.rb with a new migration 2023-11-20 11:22:27 +01:00
Colin Darie 79c6b99802 fix(schema): remove foreign keys and index references but not existing in production 2023-11-20 11:22:24 +01:00
Colin Darie d5f8ee2f84 fix(schema): update and fix schema with new rails 7 precision behavior 2023-11-20 11:16:57 +01:00
mfo ce221f86af
Merge pull request #9666 from mfo/US/expire-user
ETQ RSSI : j'aimerais savoir que DS a une politique d'expiration de donnée agressive 💥
2023-11-17 10:42:25 +00:00
Martin 14b2fc30b2 tech(user.expiration): ne perds pas de vue qu'il faut mettre a jour le users.last_sign_in_at 2023-11-17 11:33:14 +01:00
Martin 520863d814 amelioration(user.expiration): ajoute une raison specifique a la suppression d'un dossier : user_expired 2023-11-17 11:33:14 +01:00
Martin bfe27b5eb7 amelioration(UsersDeletionService.expired_users_with_dossiers): ignore les usagers ayant un dossier en instruction, meme si il a des dossiers en brouillon ou autre 2023-11-17 11:33:14 +01:00
Martin 3a9b520a93 tech(review): quelques améliorations de style 2023-11-17 11:33:14 +01:00
Martin e99f9b5c17 amelioration(data): ajoute un index sur users.last_signed_in_at 2023-11-17 11:33:14 +01:00
Martin 81826e2509 amelioration(Cron::ExpiredUsersDeletionJob): ne retente jamais ce job si il crash [pour eviter de se lancer ds une boucle infinie de suppression] 2023-11-17 11:33:14 +01:00
Martin 5f452a731e amelioration(UserDeletionService): les usagers ont uniquement identifié comme inactif si ils ne se sont pas connecté depuis 2ans [et on ignore les admin, expert, instructeur, usager avec un dossier en instruction ou usager sans dossier dutout] 2023-11-17 11:33:14 +01:00
Martin 66cf41b6d2 amelioration(procedure.duree_conservation_dossiers_dans_ds_changes): reset les flag d'expirations lorsqu'on change la date de conservation des dosseirs d'une procedure 2023-11-17 11:33:14 +01:00
Martin 5bf38ea06f amelioration(data): backfill procedure_expires_when_termine_enabled:true pour les procedures ou c'est pas activé qui n'ont pas de dossiers 2023-11-17 11:33:14 +01:00
Martin 1716a931c5 amelioration(Procedure.procedure_expires_when_termine_enabled): active l'expiration des dossiers terminés sur les procedure ne l'ayant pas activé jusqu'à présent. La cible est de faire ça sur 20 Procedure quotidiennement 2023-11-17 11:33:14 +01:00
Martin fcb4b20b65 amelioration(notify_inactive_close_to_deletion): ajoute le lien vers les dossiers 2023-11-17 11:33:14 +01:00
Martin afc7df9c7c amelioration(UserDeletionService): on ne supprime pas 800k utilisateurs en une passe 2023-11-17 11:33:14 +01:00
Martin 3186b0aa68 tech(refactor): centralise/documente les constantes de duree de retentions dans le ns dedié à l'expiration 2023-11-17 11:33:14 +01:00
Martin c9d470d9ec tech(refactor): mutualise la duree de rentention apres notification entre dossier/user 2023-11-17 11:33:14 +01:00
Martin aecc41490b tech(refactor): deplace le mail rate limiter dans le module dédié à l'expiration 2023-11-17 11:33:14 +01:00
Martin fb238ff7ac tech(refactor): deplace l'echelonnement des taches cron liés a l'expiration dans un module dédié 2023-11-17 11:33:14 +01:00
Martin 99529c611d tech(refactor): deplace les service d'expiration usager/dossier dans un namespace dedié 2023-11-17 11:33:14 +01:00
Martin fb51710309 amelioration(ExpiredUsersDeletionService): ne touche pas aux dossiers en instruction 2023-11-17 11:33:14 +01:00
Martin 054b3be02a tech(clean): cleanup spec and code 2023-11-17 11:33:14 +01:00
Martin 1950297413 amelioration(ExpiredUsersDeletionService): ne supprime pas les experts, instructeurs, administrateurs 2023-11-17 11:33:14 +01:00
Martin b989af5b47 amelioration(ExpiredUsersDeletionService): limite le nombre d'envoie d'email sur le job de suppression des utilisateurs 2023-11-17 11:33:14 +01:00
Martin 8790ac4978 amelioration(ExpiredUsersDeletionService): ajoute le rate limit a l'envoie des mails 2023-11-17 11:33:14 +01:00
Martin 5229160408 amelioration(ExpiredUsersDeletionService.process_expired): supprime aussi les usagers qui n'ont plus de dossiers sur la plateforme 2023-11-17 11:33:14 +01:00
Martin 2f28012324 amelioration(User.mailer.notify_inactive_close_to_deletion): ajoute le mail pour prevenir de la suppression de compte 2023-11-17 11:33:14 +01:00
Martin ea9c571a30 amelioration(users.expiration): notifie deux semaine a l'avance avant de supprimer un compte 2023-11-17 11:33:14 +01:00
Martin b08609af48 tech(users.inactive_close_to_expiration_notice_sent_at): ajoute une colonne pour suivre la date de notification avant suppression du compte usager inactif 2023-11-17 11:33:14 +01:00
Martin 252b3e4719 tech(expires-user.cron): ajoute une tache cron [débrayable] pour faire tourner la tache de suppression des usagers inutile
attention, pour notre instance, avec ma db anonymiser :
```
ExpiredUsersDeletionService.find_expired_user.pluck(:id).size
=> 1795515
```
2023-11-17 11:33:14 +01:00
Martin a49a5c2c93 amelioration(ExpiredUsersDeletionService): prepare le grand ménage 2023-11-17 11:33:14 +01:00
mfo 256babbf74
Merge pull request #9716 from mfo/US/tags.pre-wrap.text
correctif(tags): ETQ admin, je peux utiliser un tag referençant un type de champ dont le libellé contient deux espaces consécutif
2023-11-16 16:08:10 +00:00
Lisa Durand 1fa3425d4f
Merge pull request #9705 from demarches-simplifiees/setup-dark-mode-ldu
[Accessibilité] Configurer le mode "sombre"
2023-11-16 15:10:41 +00:00
krichtof 39bdb5f145
Merge pull request #9701 from demarches-simplifiees/carte
Afficher une carte de déploiement de DS par département
2023-11-16 13:18:16 +00:00
Lisa Durand 8ecc242586 fix display of notification dot inside DSFR tabs 2023-11-16 14:06:05 +01:00
Lisa Durand 139e8f2059 rename theme modal 2023-11-16 14:02:07 +01:00
Christophe Robillard 7be8d4447f add links to deployment map 2023-11-16 13:27:12 +01:00
Christophe Robillard 90ed7dd4a9 fix false positives for activemodel i18n keys 2023-11-16 13:27:12 +01:00
Christophe Robillard ba876f5085 show france map with stats for each departement 2023-11-16 13:27:12 +01:00
Lisa Durand b782bcdd2b
Merge pull request #9672 from demarches-simplifiees/add-confirmation-page-for-procedure-publication-ldu
[admin] Ajout d'une page de confirmation après la publication d'une procédure - mise en avant de l'URL à partager
2023-11-16 11:08:54 +00:00
Colin Darie 1d2fdeb376
Merge pull request #9709 from mfo/fix-typo-treatment-time-for-dossier
correctif(typo):  Quels sont des délais... ->  Quels sont les délais
2023-11-16 10:12:26 +00:00
Lisa Durand b02edd15dc remove condition - Colin feedback review 2023-11-16 11:03:33 +01:00
Martin 760c441141 correctif(typo): Quels sont des délais... -> Quels sont les délais 2023-11-16 10:57:25 +01:00