[WIP] middleware behavior, retrieval through models
This commit is contained in:
parent
cada3f164d
commit
3e7ecae49e
|
@ -51,6 +51,9 @@ class CUTMiddleware(MiddlewareMixin):
|
|||
request.domain = None
|
||||
else:
|
||||
if domain not in self.MATCHES:
|
||||
pattern_found = False
|
||||
|
||||
# first search in legacy partner definition
|
||||
for partner_def in getattr(settings, 'A2_CUT_PARTNERS', []):
|
||||
patterns = partner_def.get('domains', [])
|
||||
for pattern in patterns:
|
||||
|
@ -60,8 +63,24 @@ class CUTMiddleware(MiddlewareMixin):
|
|||
continue
|
||||
self.MATCHES[domain] = partner_def
|
||||
request.session['cut_domain'] = domain
|
||||
pattern_found = True
|
||||
break
|
||||
else:
|
||||
|
||||
# then in model-based partner definition
|
||||
if not pattern_found:
|
||||
for partner_object in CUTPartner.objects.all():
|
||||
patterns = partner_object.domains
|
||||
for pattern in patterns:
|
||||
if same_domain(domain, pattern):
|
||||
break
|
||||
else:
|
||||
continue
|
||||
self.MATCHES[domain] = partner_object.as_dict()
|
||||
request.session['cut_domain'] = domain
|
||||
pattern_found = True
|
||||
break
|
||||
|
||||
if not pattern_found:
|
||||
# when adding a domain, you must reload, must thing of emptying the cache
|
||||
# sometimes
|
||||
self.MATCHES[domain] = None
|
||||
|
|
Loading…
Reference in New Issue