Colin Darie
6c4f6a52cb
Merge pull request #9727 from colinux/fix-dark-theme-blinkblink
...
Fix thème sombre: ne clignote pas avec le thème clair au moment du render
2023-11-20 19:42:05 +00:00
mfo
8ff1616e52
Merge pull request #9712 from mfo/US/add-enseigne-to-personne-morale
...
amelelioration(API): ajoute l'enseigne aux personnes morales
2023-11-20 19:18:57 +00:00
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
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