Development #60082
gestion des personnes morales : dans un Service pouvoir définir un ensemble de types de profil acceptables
0%
Description
Discussion dans #58554, toujours dans l’idée que l’usager devrait s’authentifier en validant un profil de ce type pour ensuite côté SP soumettre une démarche pour le compte de la personne morale.
Fichiers
Révisions associées
Historique
Mis à jour par Paul Marillonnet il y a plus de 2 ans
J’ai poussé une branche, j’imagine que ça irait s’accompagner d’une page de gestion des types de profils ou d’une api à cet effet. Je vais d’abord me creuser la tête sur #58556 puis revenir sur ce présent ticket.
Mis à jour par Paul Marillonnet il y a plus de 2 ans
La branche à jour avec l’api de gestion des types de profil et les événements de journal.
On utilise le modèle générique authentic2.models.Service
pour représenter cette limitation de types de profil à un ou plusieurs services.
Il reste la problématique de permission d’accès à l’API. Je n’ai pas encore regardé si l’usage d’une permission dédiée est nécessaire, je vais regarder cela.
Je commence la partie correspondante dans authentic2_idp_oidc
, de logique d’authentification et de génération de la mire de login, telle que décrite dans #58556.
Mis à jour par Paul Marillonnet il y a environ 2 ans
- Fichier 0003-api-provide-a-profile-type-management-endpoint-60082.patch 0003-api-provide-a-profile-type-management-endpoint-60082.patch ajouté
- Fichier 0002-journal-define-profile-type-management-events-60082.patch 0002-journal-define-profile-type-management-events-60082.patch ajouté
- Fichier 0001-define-allowed-services-m2m-for-user-profile-types-6.patch 0001-define-allowed-services-m2m-for-user-profile-types-6.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Basé sur #58554.
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution proposée à En cours
- Assigné à mis à Paul Marillonnet
- 0001: on est toujours un peu emmerdé avec les M2M à savoir si on le pose à droite ou à gauche (ici tu l'as posé sur ProfileType), j'en ferai direct un modèle indépendant ServiceProfileType, avec déclaration de deux M2M sur chaque modèle et d'un modèle through explicite, à long terme c'est toujours moins emmerdant
- 0002: inutile à mon avis (voir remarque suivante) tant qu'on a pas des pages BO pour les administrer, à moins de prévoir de logger ça dans l'admin
- 0003: je ne vois pas l'utilité de cette API à ce stade, une raison ?
Mis à jour par Paul Marillonnet il y a environ 2 ans
- 0003: je ne vois pas l'utilité de cette API à ce stade, une raison ?
J’imaginais le cas où notre modèle générique avec deux types "gestionnaire" et "mandataire" ne conviendrait pas, et donc l’appli Publik PM laisserait la possibilité à l’admin fonctionnel de gérer quels sont les profils acceptables, et ceci aussi via des fiches avec appels WS dans le WF de fiche (ce qui justifiait aussi 0002).
On peut décider que ce n’est pas ce que l’on veut, auquel cas on ne conserve que 0001.
Mis à jour par Paul Marillonnet il y a environ 2 ans
- Fichier 0001-define-allowed-services-m2m-for-user-profile-types-6.patch 0001-define-allowed-services-m2m-for-user-profile-types-6.patch ajouté
- Statut changé de En cours à Solution proposée
Paul Marillonnet a écrit :
- 0003: je ne vois pas l'utilité de cette API à ce stade, une raison ?
J’imaginais le cas où notre modèle générique avec deux types "gestionnaire" et "mandataire" ne conviendrait pas, et donc l’appli Publik PM laisserait la possibilité à l’admin fonctionnel de gérer quels sont les profils acceptables, et ceci aussi via des fiches avec appels WS dans le WF de fiche (ce qui justifiait aussi 0002).
On peut décider que ce n’est pas ce que l’on veut, auquel cas on ne conserve que 0001.
Bon, je laisse de côté pour l’instant 0002 et 0003.
Voici 0001 corrigé en tenant compte de tes remarques. Django n’aime pas les 2 M2M de part et d’autre (d’ailleurs je n’ai retrouvé aucun usage documenté à ce sujet), ici dans le patch il n’y en a qu’un seul, défini avec un related_name
pour pouvoir y accéder depuis l’autre modèle.
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
Paul Marillonnet a écrit :
Paul Marillonnet a écrit :
- 0003: je ne vois pas l'utilité de cette API à ce stade, une raison ?
J’imaginais le cas où notre modèle générique avec deux types "gestionnaire" et "mandataire" ne conviendrait pas, et donc l’appli Publik PM laisserait la possibilité à l’admin fonctionnel de gérer quels sont les profils acceptables, et ceci aussi via des fiches avec appels WS dans le WF de fiche (ce qui justifiait aussi 0002).
On peut décider que ce n’est pas ce que l’on veut, auquel cas on ne conserve que 0001.
Bon, je laisse de côté pour l’instant 0002 et 0003.
Voici 0001 corrigé en tenant compte de tes remarques. Django n’aime pas les 2 M2M de part et d’autre (d’ailleurs je n’ai retrouvé aucun usage documenté à ce sujet), ici dans le patch il n’y en a qu’un seul, défini avec un
related_name
pour pouvoir y accéder depuis l’autre modèle.
Non il faut définir un troisième model :
class R: a = FK(A) b = FK(B) class A: bs = M2M(to=B, through=R) class B: bs = M2M(to=A, trough=R)
Mis à jour par Paul Marillonnet il y a environ 2 ans
Benjamin Dauvergne a écrit :
Non il faut définir un troisième model :
[...]
Oui c’est précisément ce que j’avais fait, peut-être m’y étais-je mal pris parce que django n’avait pas l’air du tout de comprendre le modèle intermédiaire avec un M2M déclaré de part et d’autre.
Mis à jour par Benjamin Dauvergne il y a environ 2 ans
- Statut changé de Solution proposée à Résolu (à déployer)
commit 6049dc74dcbbbfc8683184698becdfba27896539 Author: Paul Marillonnet <pmarillonnet@entrouvert.com> Date: Thu Jan 6 15:46:32 2022 +0100 define allowed services m2m for user profile types (#60082)
Mis à jour par Transition automatique il y a environ 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
define allowed services m2m for user profile types (#60082)