middleware: conserve le dernier domaine du partenaire même après une connexion

This commit is contained in:
Benjamin Dauvergne 2017-11-24 19:13:37 +01:00
parent a46ce2cc09
commit 7947784f89
1 changed files with 12 additions and 3 deletions

View File

@ -1,6 +1,5 @@
from django.conf import settings
import urlparse
import logging
from authentic2.utils import same_domain
@ -37,11 +36,16 @@ class CUTMiddleware(object):
if netloc:
domain = netloc.split(':')[-1]
if hasattr(request, 'session'):
if not domain:
domain = request.session.get('cut_domain')
if not domain:
domain = request.session.get('cut_domain')
domain = getattr(request, 'domain', None)
if not domain:
request.partner = None
request.domain = None
else:
if domain not in self.MATCHES:
for partner_def in getattr(settings, 'A2_CUT_PARTNERS', []):
@ -63,6 +67,7 @@ class CUTMiddleware(object):
if domain and domain in self.MATCHES:
request.partner = self.MATCHES[domain]
request.domain = domain
if request.session.get('cut_domain') != domain:
request.session['cut_domain'] = domain
request.session['cut_next'] = None
@ -75,4 +80,8 @@ class CUTMiddleware(object):
request.partner['url'] = request.session['cut_next']
else:
request.partner = None
return None
request.domain = None
def process_response(self, request, response):
self.process_request(request)
return response