Development #21618
cook recipe: l'importance du champ 'slug' dans une action de type 'create-site'
Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
02 février 2018
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Non
Planning:
Description
Cela pourrait être dans de la documentation sur cook et/ou aussi être mieux géré dans le code.
Soit le recipe suivant, où l'on peut noter l'absence de champ slug
dans les deux tenants combo:
{ "steps": [ {"create-hobo": { "url": "https://hobo-hobo.local.publik/" }}, {"create-authentic": { "url": "https://authentic-authentic.local.publik/", "title": "Connexion" }}, {"set-idp": { }}, {"create-combo": { "url": "https://user-combo.local.publik/", "title": "PortailUser", "template_name": "portal-user" }}, {"create-combo": { "url": "https://agent-combo.local.publik/", "title": "PortailAgent", "template_name": "portal-agent" }}, {"create-wcs": { "url": "https://wcs-wcs.local.publik/", "template_name": "publik.zip", "slug": "services", "title": "Démarches" }}, {"set-theme": { "theme": "publik" }} ] }
Dans hobo.environment.management.commands.cook.py::create_site :
if slug is None: slug = klass.Extra.service_default_slug obj, must_save = klass.objects.get_or_create( slug=slug, defaults={ 'title': title, 'base_url': base_url, 'template_name': template_name })
Le premier objet service combo est crée, quand vient le tour du deuxième, la fonction get_or_create
fait un get
.
Résultat un seul object combo service crée, un seul objet combo service dans les hobo.json des tenants, avec tous les problèmes qui s'en suivent.