Employeur : Correctif de la logique Convergence ACI (PHC CVG) pour les antennes [GEN-2411]#6025
Conversation
| choices.remove(cls.FIXED_TERM_I_CVG) | ||
|
|
||
| if kind == CompanyKind.ACI and aci_convergence: | ||
| if aci_convergence: |
There was a problem hiding this comment.
Réflexion en passant, mais je me demande si la logique de ces contrats ne devrait pas être remonté dans choices_for_company() car ce n'est pas lié au type de la SIAE mais spécifique à certaines et vu qu'on ne peux le savoir qu'avec .is_aci_convergence donc un objet Company() ça peut être bien de séparer ça aussi dans le code.
| @property | ||
| def official_company(self): | ||
| """ | ||
| Return the official authoritative company (e.g. ASP SIAE) for the current company. | ||
| If the current company is an antenna, return the corresponding ASP SIAE. | ||
| If the current company is itself an ASP SIAE, return itself. | ||
| """ | ||
| if self.convention_id and self.source == self.SOURCE_USER_CREATED: | ||
| # Iterate on all() to take advantage of a potential prefetch_related upstream | ||
| # e.g. by populate_metabase_emplois. | ||
| for convention_siae in self.convention.siaes.all(): | ||
| if convention_siae.source == self.SOURCE_ASP: | ||
| return convention_siae | ||
| return self | ||
|
|
There was a problem hiding this comment.
Je pense que ça doit aussi pouvoir se factoriser ici :
les-emplois/itou/employee_record/models.py
Lines 469 to 478 in a99bae0
Par contre petit truc qui me grattouille l'esprit par rapport au commentaire c'est qu'en testant .convention_id on peux se retrouver à renvoyer des Company(source=SOURCE_USER _CREATED, convention=None) comme structure officielle :/.
Donc je me demande si ici il ne faudrait pas renvoyer None dans ce cas et laisser l'appelant gérer si utiliser l'entreprise courante est OK pour lui (ie. pour le pilotage) ou pas (ie. les fiches salarié).
There was a problem hiding this comment.
En fait c'est mon official_company qui est mal nommé. Pour une antenne sans mère on peut parfaitement renvoyer une structure non officielle. Je vais proposer un meilleur wording.
There was a problem hiding this comment.
Voilà c'est refactorisé. Nouvelle revue stp @rsebille 🙏
9af660b to
542b857
Compare
|
|
||
| if kind == CompanyKind.ACI and aci_convergence: | ||
| if aci_convergence: | ||
| choices[-1:-1] = [ |
There was a problem hiding this comment.
I stand corrected. C'est bien testé. Le but est de mettre à la fin juste avant le OTHER final.
rsebille
left a comment
There was a problem hiding this comment.
Je pense que le commit "companies: Improve confusing property name" pourrais être fixup dans le premier "companies: Refactor official_company (DRY)" vu que cette version remplace presque tout :).
6cd641f to
b8be4c8
Compare
e104666 to
2eb8a8e
Compare
2eb8a8e to
8fe35e0
Compare

🤔 Pourquoi ?
Le dispositif Convergence ACI s'applique actuellement aux entreprises dont le SIRET fait partie d'une liste blanche.
Le SIRET de leurs antennes ne fait a priori pas partie de cette liste blanche du coup elles ne sont pas considérées comme PHC CVG, ce qui cause une frustration légitime.
🍰 Comment ?
Revue