Projet

Général

Profil

Development #60082

gestion des personnes morales : dans un Service pouvoir définir un ensemble de types de profil acceptables

Ajouté par Paul Marillonnet il y a plus de 2 ans. Mis à jour il y a environ 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
24 décembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Révision 6049dc74 (diff)
Ajouté par Paul Marillonnet il y a environ 2 ans

define allowed services m2m for user profile types (#60082)

Historique

#1

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.

#2

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.

#5

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 ?
#6

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.

#7

Mis à jour par Paul Marillonnet il y a environ 2 ans

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.

#8

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)
#9

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.

#10

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)
#11

Mis à jour par Paul Marillonnet il y a environ 2 ans

Ok, il me manquait le run_before, bien vu.

#12

Mis à jour par Transition automatique il y a environ 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#13

Mis à jour par Transition automatique il y a presque 2 ans

Automatic expiration

Formats disponibles : Atom PDF