Skip to content

GPS: Import du nouveau fichier référents#5847

Merged
tonial merged 5 commits into
masterfrom
alaurent/gps_new_advisor_file
Apr 7, 2025
Merged

GPS: Import du nouveau fichier référents#5847
tonial merged 5 commits into
masterfrom
alaurent/gps_new_advisor_file

Conversation

@tonial

@tonial tonial commented Mar 31, 2025

Copy link
Copy Markdown
Contributor

🤔 Pourquoi ?

-> https://www.notion.so/gip-inclusion/Affichage-et-gestion-des-r-f-rents-r-cup-r-s-de-FT-1ba5f321b604806f8bbbcb16e8b652d8?pvs=4

On peut tester l'affichage en se connectant avec le compte EI et en regardant les participants du bénéficiaire "Howling Mad" MURDOCK
http://127.0.0.1:8000/gps/groups/7/memberships?back_url=/gps/groups/list

🍰 Comment ?

Décrivez en quelques mots la solution retenue et mise en oeuvre, les difficultés ou problèmes rencontrés. Attirez l'attention sur les décisions d'architecture ou de conception importantes.

🚨 À 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

@tonial tonial added 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC modifié Modifié dans le changelog. labels Mar 31, 2025
@tonial tonial requested review from EwenKorr and vincentporte March 31, 2025 07:59
@tonial tonial self-assigned this Mar 31, 2025
@github-actions

Copy link
Copy Markdown

🥁 La recette jetable est prête ! 👉 Je veux tester cette PR !

@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch 10 times, most recently from 147306f to 810c20a Compare April 1, 2025 10:48

@EwenKorr EwenKorr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Chouette PR !

Question générale : il y avait un import automatique déjà, associé au modèle FranceTravailContact, supprimé dans cette PR. Pas la peine de reprendre les données qu'il y avait dedans, elles sont toutes dans le nouveau fichier envoyé par FT ? (voire c'est le même fichier, juste une autre façon de gérer ?)

Comment thread itou/gps/management/commands/export_beneficiaries_for_advisor.py Outdated
Comment thread itou/gps/models.py Outdated
Comment thread itou/gps/management/commands/import_advisor_information.py
Comment thread itou/gps/management/commands/import_advisor_information.py
Comment thread itou/gps/management/commands/import_advisor_information.py Outdated
Comment thread tests/gps/test_management_commands.py Outdated
Comment thread tests/gps/test_management_commands.py Outdated
Comment thread tests/gps/test_management_commands.py Outdated
Comment thread clevercloud/cron.json Outdated
Comment thread itou/templates/gps/group_memberships.html
@tonial

tonial commented Apr 1, 2025

Copy link
Copy Markdown
Contributor Author

L'ancien fichier ne sera plus mis à jour, on est parti sur une solution différente avec ce fichier : on leur transmet les candidats du gard et ils nous font un match, ça permet de d'intégrer la donnée aussi pour les candidats sans NIR qu'ils arrivent à identifier de leur côté

@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch from 810c20a to d300993 Compare April 2, 2025 05:26
@louije

louije commented Apr 2, 2025

Copy link
Copy Markdown
Member

L'ancien fichier ne sera plus mis à jour, on est parti sur une solution différente avec ce fichier : on leur transmet les candidats du gard et ils nous font un match, ça permet de d'intégrer la donnée aussi pour les candidats sans NIR qu'ils arrivent à identifier de leur côté

Sentiment qu'on n'est toujours pas sur une situation pérenne avec FT pour l'envoi de données. Mais une fois qu'on aura des données en temps réel, ou en tout cas régulièrement, on pourra détecter les fins d'accompagnement et les fins de statut référent facilement.

@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch 4 times, most recently from 286dcc4 to 672dc9b Compare April 3, 2025 09:25
@tonial

tonial commented Apr 3, 2025

Copy link
Copy Markdown
Contributor Author

@EwenKorr j'ai mis à jour avec la mise à jour du FollowUpGroupMembership du référent FT

Comment thread itou/gps/management/commands/export_beneficiaries_for_advisor.py Outdated
Comment thread tests/gps/test_management_commands.py Outdated
Comment thread itou/gps/management/commands/export_beneficiaries_for_advisor.py Outdated
Comment thread tests/gps/test_management_commands.py Outdated
@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch from 672dc9b to 7fab38a Compare April 3, 2025 09:55
@tonial tonial requested a review from vincentporte April 3, 2025 09:55
Comment thread itou/gps/migrations/0020_delete_francetravailcontact.py
Comment thread tests/gps/test_management_commands.py Outdated
Comment on lines +37 to +45
sheet.append(
[
"ID",
"prénom",
"nom",
"nir",
"date_de_naissance",
]
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

L'idée que de tels fichiers excel se baladent dans la nature 😬

Comment thread itou/gps/management/commands/import_advisor_information.py Outdated
@tonial tonial requested a review from EwenKorr April 3, 2025 09:55
@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch from 7fab38a to c0c7002 Compare April 3, 2025 10:00
Comment thread tests/gps/test_management_commands.py
created_prescriber_count = 0

if wet_run:
# Reset all values. Easiest way to ensure we don't keep outdated data at the end of the command

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tu ne veux pas mettre ça aussi dans une transaction ?
Sinon, il y aura à chaque lancement de commande un moment où les référents vont sauter (et cela sera visible par les utilisateurs).

Ou uniquement le faire pour les FollowUpGroupMembership.objects.filter(is_referent_certified=True).exclude(follow_up_group__beneficiary_id__in=beneficiaries_id_to_contact) (qui ne seront pas concernés par les batchs).

Puis le refaire pour chaque bénéficiaire dans chaque with transaction.atomic().

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ensuite, on envoie un fichier par département a priori: est-ce qu'on reçoit un seul fichier global pour tous les départements ? Ou comme actuellement on n'a qu'un département concerné le problème ne se pose pas ? 😛

@tonial tonial Apr 3, 2025

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Pour l'instant il n'y a que le gard (même si l'export permet de gérer d'autres département)
Il faudra en effet gérer ça mieux le jour ou l'on en aura d'autres (mais bon, je doute que ce soit pour bientôt)

Vu la vitesse de la commande, j'ai évité de faire ta proposition pour aller plus vite en me disant qu'au pire ça clignoterait pour 3 utilisateurs

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

après réflexion, on peut remplacer la ligne par ta suggestion, et rien de plus dans chaque batch on va mettre is_referent_certified=True, pas besoin de commencer en mettant False au début de la transaction.

)

def parse_gps_advisors_file(self, import_file):
df = pandas.read_excel(

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Je crois qu'il y avait un sujet "se débarasser de pandas", je me dis que si l'excel est assez simple, on pourrait le faire avec openpyxl.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Je n'avais pas connaissance de ce sujet (même si c'est un truc que j'avais moi même évoqué il y a plus d'un an en jouant avec le code d'export pour le pilotage).
Je peux me passer de pandas sans soucis dans ce cas.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Bon, c'est pas forcément compliqué mais ça fait beaucoup de code pas très lisible pas rapport à pandas.
Je ferais le changement le jour où l'on aura retiré pandas des autres endroits

@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch 3 times, most recently from 7e51cca to f7b00c1 Compare April 3, 2025 14:36
@tonial tonial requested a review from xavfernandez April 3, 2025 14:36
@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch 3 times, most recently from b775829 to ebbf16f Compare April 3, 2025 15:16
@tonial tonial removed the 1-recette-jetable [Payé à l’heure] Crée une recette jetable sur CC label Apr 4, 2025

@EwenKorr EwenKorr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Je n'ai rien décelé de choquant lors de ma dernière relecture :)

Il y aura peut-être un rebase un peu compliqué avec la PR de màj des fixtures ?
#5882

Comment thread itou/gps/management/commands/import_advisor_information.py Outdated
Comment thread itou/gps/management/commands/import_advisor_information.py
Comment thread itou/templates/gps/includes/badge_is_referent_certified_membership.html Outdated
@tonial tonial force-pushed the alaurent/gps_new_advisor_file branch from ebbf16f to 7cd9976 Compare April 7, 2025 09:15
@tonial tonial requested a review from xavfernandez April 7, 2025 09:15
@tonial tonial added this pull request to the merge queue Apr 7, 2025
Merged via the queue into master with commit c4bdfe7 Apr 7, 2025
@tonial tonial deleted the alaurent/gps_new_advisor_file branch April 7, 2025 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants