Commit graph

21415 commits

Author SHA1 Message Date
Colin Darie
10f5fae316 fix(theme): don't blink theme at render with dark theme
On ne veut pas attendre la fin du render pour que le JS du DSFR
set le theme à partir du scheme, autrement on voit le thème clair
pendant le render.
2023-11-20 17:39:38 +01:00
mfo
9a5e4d4ea5
Merge pull request #9655 from colinux/refactor-main-navigation
Administrateurs/Instructeurs/Experts : lien vers la page des nouveautés et refactorise les barres de navigation principale
2023-11-20 15:09:53 +01:00
Colin Darie
3dd25c1ea6 fix(gestionnaires): apply navigation refactor to gestionnaires 2023-11-20 15:07:21 +01:00
Colin Darie
99fe4694af fix(announces): link rendering not catched by turbo and fix a11y attributes 2023-11-20 15:07:21 +01:00
Colin Darie
8051beb068 fix(announce): don't increase attachment width (back to rails default) 2023-11-20 15:07:21 +01:00
Colin Darie
49cd10458c feat(announces): show Nouveautés link in main navigation 2023-11-20 15:07:20 +01:00
Colin Darie
352ed3969c chore(bundle): remove unused active_link_to 2023-11-20 15:06:43 +01:00
Colin Darie
ac47f82451 fix(profile): commencer is not always "as guest" 2023-11-20 15:06:43 +01:00
Colin Darie
a41c8f73ad refactor(nav): organize main navigation logic across profiles 2023-11-20 15:06:43 +01:00
Colin Darie
cdef5d8942 chore(yarn): update axe 4.7 => 4.8 2023-11-20 15:06:43 +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
Eric Leroy-Terquem
61ba089203 feat(manager): add routing rule in groupe instructeur show 2023-11-17 15:11:05 +01:00
Eric Leroy-Terquem
42027e9db9 feat(manager): add champs de routage in procedure show 2023-11-17 15:11:05 +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