Skip to content

Admin : Correction d'un bug empêchant la fusion d'utilisateurs - #6710

Merged
leo-naeka merged 1 commit into
masterfrom
leo/fix-get_users_relations
Sep 3, 2025
Merged

Admin : Correction d'un bug empêchant la fusion d'utilisateurs#6710
leo-naeka merged 1 commit into
masterfrom
leo/fix-get_users_relations

Conversation

@leo-naeka

@leo-naeka leo-naeka commented Aug 18, 2025

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

https://gip-inclusion.slack.com/archives/C01181Y04LT/p1755510327609539

🍰 Comment ?

  • Utilisation de l'introspection des apps pour récupérer toutes les FK concrètes vers users_user, en incluant les relations cachées (sans inverse rel)
  • Dans l'absolu ça pourrait être caché, mais vu le faible usage je n'en vois pas l'intérêt…
  • Permet d'éviter de maintenir à jour manuellement la liste des FK sans reverse (ce qui a été récemment oublié pour les demandes de changement de NIR) tant dans notre code que dans des apps tierces

🚨 À vérifier

  • Mettre à jour le CHANGELOG_breaking_changes.md ?
  • Ajouter l'étiquette « Bug » ?

🏝️ Comment tester ?

Les instructions pour reproduire le problème, les profils de test, le parcours spécifique à utiliser, etc. Si vous disposez d'une recette jetable, mettre l'URL pour tester dans cette partie.

💻 Captures d'écran

@leo-naeka leo-naeka self-assigned this Aug 18, 2025
@leo-naeka leo-naeka added modifié Modifié dans le changelog. bug labels Aug 18, 2025

@francoisfreitag francoisfreitag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Un petit test serait utile :)

Comment thread itou/www/itou_staff_views/merge_utils.py Outdated
Comment thread itou/www/itou_staff_views/merge_utils.py Outdated
Comment thread itou/www/itou_staff_views/merge_utils.py Outdated
@rsebille

Copy link
Copy Markdown
Contributor

Je ne comprends pas pourquoi ça n'a pas été fait de base, n'en vois pas la raison

Je pense que c'est pour justement que ça casse afin qu'on se pose la question de si c'est légitime ou pas, et ainsi d'ajuster MODEL_MAPPING pour gérer la fusion adéquatement et MODEL_REPR_MAPPING pour avoir une trace réutilisable de ce qui est déplacé.

@leo-naeka
leo-naeka force-pushed the leo/fix-get_users_relations branch from 7e6cdca to e2c0b79 Compare August 19, 2025 10:08
@leo-naeka

Copy link
Copy Markdown
Contributor Author

Je pense que c'est pour justement que ça casse afin qu'on se pose la question de si c'est légitime ou pas

Le fait est que ça ne cassait que lorsqu'il n'y a pas de relation inverse de créée. Là ça cassait car il y avait bien une entrée référençant User dans une autre table, mais comme pas de relation inverse, elle n'était pas retournée par le get_users_relations actuel.

Sinon pour toute relation on transfère la data, sauf si flag en noop dans MODEL_MAPPING

@leo-naeka

Copy link
Copy Markdown
Contributor Author

Un petit test serait utile :)

La fusion des utilisateurs est déjà testée. Tu voudrais tester unitairement get_users_relations ?
Quoi spécifiquement ? La version que je propose n'est ni plus ni moins qu'un appel à l'introspection Django, qui filtre sur des FK depuis un seul côté et retire les relations à ignorer (statiquement flag en "noop" dans MODEL_MAPPING)

@xavfernandez

Copy link
Copy Markdown
Contributor

Comme test supplémentaire, je m'attendrais à voir l'équivalent du cas de Koria qui planterait sans la modif et passerait avec.

@leo-naeka
leo-naeka force-pushed the leo/fix-get_users_relations branch from e2c0b79 to df2a2a9 Compare August 19, 2025 13:46
@leo-naeka
leo-naeka force-pushed the leo/fix-get_users_relations branch from df2a2a9 to d201ee7 Compare August 28, 2025 08:25

@francoisfreitag francoisfreitag left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Autrement très bien 👍

Comment thread tests/www/itou_staff_views/tests.py Outdated
@leo-naeka
leo-naeka force-pushed the leo/fix-get_users_relations branch from d201ee7 to 85183c5 Compare September 3, 2025 12:57
@leo-naeka
leo-naeka added this pull request to the merge queue Sep 3, 2025
Merged via the queue into master with commit b98d94f Sep 3, 2025
14 checks passed
@leo-naeka
leo-naeka deleted the leo/fix-get_users_relations branch September 3, 2025 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants