Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pilotage: Étendre commande extract_c2_users avec plus des données #5498

Merged
merged 1 commit into from
Feb 3, 2025

Conversation

calummackervoy
Copy link
Contributor

🤔 Pourquoi ?

Carte Notion : https://www.notion.so/gip-inclusion/Script-Extraites-Utilisateurs-1895f321b60480eb8d5accbfb4d28e1f

La modification d'un script pour faciliter les devs à exporter des CSVs des données utilisateurs pour le métier.

🍰 Comment ?

J'ai modifié la commande d'export existant pour ajouter des nouveaux données. J'ai inclus deux paramètres optionnels parce que les données démandé par le métier peuvent varier.

C'était discuté, mais je n'ai pas ciblé la possibilité des filtres sur les données (par example par département ou par date) pour minimiser les changements de ce PR dans la contexte qu'ils font pas partie des besoins du moment, et c'est possible que ça ne va pas arriver pendant les prochains 6 mois.

🚨 À vérifier

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

🏝️ Comment tester ?

  • Ajouter aux données standards deux organisations prescripteurs (un ODT et un DEPT)
  • Lancer python manage.py extract_c2_users --include-siae --include-prescribers, et les variations sans ces paramètres
  • Vérifier le contenu des CSV dans exports/

@calummackervoy calummackervoy added the no-changelog Ne doit pas figurer dans le journal des changements. label Jan 29, 2025
@calummackervoy calummackervoy self-assigned this Jan 29, 2025
@calummackervoy calummackervoy marked this pull request as ready for review January 29, 2025 14:06
@calummackervoy calummackervoy changed the title Pilotage: Modifier la commande extract_c2_users pour ajouter plus des utilisateurs Pilotage: Étendre commande extract_c2_users avec plus des données Jan 29, 2025
Copy link

🌿 [5/5] En tant qu’utilisateur je peux créer un compte candidat depuis l’espace “Mes candidats”

@calummackervoy
Copy link
Contributor Author

@notion-bot non, pas du tout 😄

Copy link
Contributor

@dejafait dejafait left a comment

Choose a reason for hiding this comment

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

Un naming à corriger, un pinaillage et sinon LGTM. 👍

itou/users/management/commands/extract_c2_users.py Outdated Show resolved Hide resolved
itou/users/management/commands/extract_c2_users.py Outdated Show resolved Hide resolved
itou/users/management/commands/extract_c2_users.py Outdated Show resolved Hide resolved
if include_siae:
siae_csv_rows = []

siae_memberships = CompanyMembership.objects.select_related("user", "company").filter(is_active=True)
Copy link
Contributor

Choose a reason for hiding this comment

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

Vu que tu ne fais pas de filtres ici tu ne récupères pas que les SIAE mais toutes les entreprises ;), donc soit ajouter le filtre soit changer la mention "siae"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah bon, j'étais sous l'impression qu'elles sont tous SIAEs 🤦 quelles types d'enterprises sont les SIAEs ?

class CompanyKind(models.TextChoices):
    ACI = "ACI", "Atelier chantier d'insertion"
    AI = "AI", "Association intermédiaire"
    EA = "EA", "Entreprise adaptée"
    EATT = "EATT", "Entreprise adaptée de travail temporaire"
    EI = "EI", "Entreprise d'insertion"  # Regroupées au sein de la fédération des entreprises d'insertion.
    EITI = "EITI", "Entreprise d'insertion par le travail indépendant"
    ETTI = "ETTI", "Entreprise de travail temporaire d'insertion"
    GEIQ = "GEIQ", "Groupement d'employeurs pour l'insertion et la qualification"
    OPCS = "OPCS", "Organisation porteuse de la clause sociale"

Ça vaut une méthode sur CompanyKind tu penses pour récupérer une liste des types SIAE ? Ça va faciliter la maintenance

Copy link
Contributor

Choose a reason for hiding this comment

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

Les types pour les SIAEs sont ici :

SIAE_WITH_CONVENTION_KINDS = [
CompanyKind.AI.value,
CompanyKind.ACI.value,
CompanyKind.EI.value,
CompanyKind.EITI.value,
CompanyKind.ETTI.value,
]

Les autres types ne font pas des parcours IAE mais reste tout de même dans la famille de l'inclusion, historiquement le modèle Company était nommé Siae mais avec l'ajout des GEIQ on a préféré renommer pour éviter des incompréhensions entre la partie technique et le métier.

Pas spécialement convaincu du besoin de la méthode vu qu'on a la liste mais à réfléchir

Copy link
Contributor Author

@calummackervoy calummackervoy Jan 30, 2025

Choose a reason for hiding this comment

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

historiquement le modèle Company était nommé Siae

OK j'avais vu ça mais j'avais raté la motivation

Le nom du variable suggère qu'il y a au moins la possibilité d'avoir une SIAE sans convention ? Sauf que c'est un mal compris j'ajouterais un autre valeur pour tous les SIAEs même si c'est juste un return SIAE_WITH_CONVENTION_KINDS ?

Copy link
Contributor

Choose a reason for hiding this comment

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

Le nom du variable suggère qu'il y a au moins la possibilité d'avoir une SIAE sans convention ?

Le nom le suggère mais ce n'est pas le cas, et ça ne devrais jamais être, car on se base sur les données officielles de l'ASP.
L'incompréhension c'est du legacy, ça vient du changement de nom du modèle et que la variable n'a pas été renommée en quelque chose de plus compréhensible à l'époque.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Merci pour les explications ! Je vais utiliser SIAE_WITH_CONVENTION_KINDS dans ce PR et ouvrir un autre pour le renommage

Adds two new optional parameters and additional data in the generated CSV files, now divided between institutions and SIAEs.
@calummackervoy calummackervoy added this pull request to the merge queue Feb 3, 2025
Merged via the queue into master with commit 3bf78e8 Feb 3, 2025
11 checks passed
@calummackervoy calummackervoy deleted the calum/export-siae branch February 3, 2025 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog Ne doit pas figurer dans le journal des changements.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants