Development #51464
data_transfer, import de rôle, en absence de spécification d'OU, prendre l'OU par défaut
0%
Description
(l'idée étant d'arriver à un fichier d'import de rôles minimaliste).
Pour le moment ça échoue ainsi :
File "/home/fred/src/eo/authentic/src/authentic2/data_transfer.py", line 376, in import_site result.update_roles(*ds.deserialize()) File "/home/fred/src/eo/authentic/src/authentic2/data_transfer.py", line 197, in f return func(self, *args, **kwargs) File "/home/fred/src/eo/authentic/src/authentic2/data_transfer.py", line 211, in deserialize ou_d = self._role_d['ou'] KeyError: 'ou'
Fichiers
Révisions associées
data_transfer: simplify logic (#51464)
Historique
Mis à jour par Thomas Noël il y a environ 3 ans
Je ne suis qu'à moitié chaud... je serais pour refuser en cas d'OU multiple, pour éviter les imports de 100 rôles sur une mauvaise OU.
Mis à jour par Frédéric Péters il y a environ 3 ans
Peut-être alors uniquement quand un paramètre supplémentaire est passé à l'import, pour lui dire qu'on sait ce qu'on fait ?
Parce que là je suis obligé de mettre un "ou": {"slug": "default"}
qui n'est pas bien correct, si jamais la collectivité par défaut se trouvait être changée.
Mis à jour par Thomas Noël il y a environ 3 ans
Juste comme ça rapidement j'imaginerai que si on parle d'un import via l'interface backoffice alors, s'il manque un OU, on la demande explicitement. Et si l'import en ligne de commande, le refuser si un rôle n'a pas d'ou et qu'aucune option --default-ou=... n'existe.
Mis à jour par Benjamin Dauvergne il y a environ 3 ans
Thomas Noël a écrit :
Juste comme ça rapidement j'imaginerai que si on parle d'un import via l'interface backoffice alors, s'il manque un OU, on la demande explicitement. Et si l'import en ligne de commande, le refuser si un rôle n'a pas d'ou et qu'aucune option --default-ou=... n'existe.
Je serai plutôt pour une option --set-absent-ou-to-default (pas activé par défaut), voir rendre possible de poser ça dans le fichier lui même {'flags': ['set-absent-ou-to-default'}. Ça serait d'ailleurs pratique pour tous les autres flags de pouvoir faire ça.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-import_site-allow-creating-roles-in-default-ou-51464.patch 0001-import_site-allow-creating-roles-in-default-ou-51464.patch ajouté
- Fichier 0002-data_transfer-simplify-logic-51464.patch 0002-data_transfer-simplify-logic-51464.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit a925b6731f303c562d34d1995af9b8f619ec62d7 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Dec 8 15:03:25 2021 +0100 data_transfer: simplify logic (#51464) commit 1f1a64de7ee35b1809689ef90e89459b7116829a Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Dec 8 14:49:21 2021 +0100 import_site: allow creating roles in default ou (#51464)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
import_site: allow creating roles in default ou (#51464)