From cb7fb288199bf6a8258921f3ca0b2c51d5170254 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 7 Mar 2019 20:07:45 +0100 Subject: [PATCH 2/4] utils: prevent import loop (#31204) --- passerelle/utils/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/passerelle/utils/__init__.py b/passerelle/utils/__init__.py index 330166e..ebebc04 100644 --- a/passerelle/utils/__init__.py +++ b/passerelle/utils/__init__.py @@ -39,8 +39,6 @@ from zeep import Client from zeep.cache import InMemoryCache from zeep.transports import Transport -from passerelle.base.context_processors import template_vars -from passerelle.base.models import ApiUser, AccessRight, BaseResource from passerelle.base.signature import check_query, check_url @@ -49,6 +47,7 @@ def get_template_vars(): returns the template vars as dict, to be used in apps code """ from django.http import HttpRequest + from passerelle.base.context_processors import template_vars return template_vars(HttpRequest()) @@ -76,6 +75,7 @@ def response_for_json(request, data): def get_request_users(request): + from passerelle.base.models import ApiUser, BaseResource users = [] users.extend(ApiUser.objects.filter(keytype='')) @@ -139,6 +139,8 @@ def is_trusted(request): def is_authorized(request, obj, perm): + from passerelle.base.models import AccessRight + if is_trusted(request): return True resource_type = ContentType.objects.get_for_model(obj) @@ -321,6 +323,8 @@ class SOAPClient(Client): def export_site(): '''Dump passerelle configuration (users, resources and ACLs) to JSON dumpable dictionnary''' + from passerelle.base.models import ApiUser, BaseResource + d = {} d['apiusers'] = [apiuser.export_json() for apiuser in ApiUser.objects.all()] d['resources'] = resources = [] @@ -339,6 +343,7 @@ def import_site(d, if_empty=False, clean=False, overwrite=False, import_users=Fa '''Load passerelle configuration (users, resources and ACLs) from a dictionnary loaded from JSON ''' + from passerelle.base.models import ApiUser, BaseResource d = d.copy() def is_empty(): -- 2.20.1