Martin
72b8ccec36
correctif(chorus.export): suite a un refacto, c'etait kc
2023-11-23 09:30:00 +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