applications: create roles in instance OU (#76273) #71
No reviewers
Labels
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/hobo#71
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/76273-applification-roles-in-ou"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
f17b36ace1
tobe9b199a07
WIP: applications: create roles in instance OU (#76273)to applications: create roles in instance OU (#76273)J'ai rajouté le test pour couvrir le code.
@ -459,12 +459,17 @@ class Version(models.Model):
return
roles_api_url = urllib.parse.urljoin(service['url'], 'api/roles/?update_or_create=slug')
provision_api_url = urllib.parse.urljoin(service['url'], 'api/provision/')
ou_slug_variable = Variable.objects.filter(name='ou-slug').first()
Attention ça passe à côté du cas où l'installation se fait sur l'OU par défaut d'un déploiement multi-collectivités; i.e. il faudrait quand il y a des collectivités (mais pas de variable ou-slug), utiliser "default".
(je pense).
En mode multi-collectivité il y a toujours la variable
ou-slug
de définie j'ai l'impression.Lorsqu'il s'agit de l'instance principale la variable est lié aux services déployés.
Ah oui mais ça fait moche je trouve d'attraper une variable qui ne correspond pas à l'instance en cours et d'ensuite "rattraper" les choses dans la boucle; je trouverais plus simple à comprendre le déroulé qui concentrerait ça en amont de la boucle, avec commentaire donc pour rappeler la situation.
Parce que c'est ma PR je ne peux pas lui demander des changements. (mais je les demande ici).
be9b199a07
tobbaf00e0fc
@ -461,1 +461,4 @@
provision_api_url = urllib.parse.urljoin(service['url'], 'api/provision/')
ou_slug_variable = Variable.objects.filter(name='ou-slug').first()
if ou_slug_variable:
roles_api_url += '&update_or_create=ou'
Il faut aussi passer update_or_create dans le cas de l'instance principale.
Sur l'instance principale la variable existe et donc
update_or_create
sera transmis. Ou je rate quelque chose.C'était le même commentaire que le précédent (sur ou_slug_variable pas défini sur l'instance principale) (il ne l'est pas mais on choppe la variable posée sur un des hobo secondaires, j'ai compris)
bbaf00e0fc
toddc91fd335
Ok.
ddc91fd335
to9d0c00e9c9
J'ai poussé une nouvelle modification pour pouvoir envoyer à authentic
update_or_create=slug&update_or_create=ou
car sinon seulupdate_or_create=ou
était envoyé et l'appel échouait car seul le filtre par ou était appliqué.@ -54,3 +54,3 @@
url = urllib.parse.urlunparse(('', '', path, params, query, fragment))
query_params = dict(urllib.parse.parse_qsl(query))
query_params = dict(urllib.parse.parse_qs(query))
parse_qs renvoie déjà un dict.
Yep, retiré le
dict
.9d0c00e9c9
to56af8ec645