diff options
Diffstat (limited to 'ipsilon')
-rwxr-xr-x | ipsilon/login/common.py | 1 | ||||
-rwxr-xr-x | ipsilon/util/trans.py | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/ipsilon/login/common.py b/ipsilon/login/common.py index 3f44c15..2fee357 100755 --- a/ipsilon/login/common.py +++ b/ipsilon/login/common.py @@ -79,6 +79,7 @@ class LoginManagerBase(PluginObject, Log): # on direct login the UI (ie not redirected by a provider) we ned to # remove the transaction cookie as it won't be needed anymore if trans.provider == 'login': + self.debug('Wiping transaction data') trans.wipe() raise cherrypy.HTTPRedirect(redirect) diff --git a/ipsilon/util/trans.py b/ipsilon/util/trans.py index 4d2f887..8208d4a 100755 --- a/ipsilon/util/trans.py +++ b/ipsilon/util/trans.py @@ -15,7 +15,6 @@ TRANSID = "ipsilon_transaction_id" class Transaction(Log): def __init__(self, provider, **kwargs): - self.debug('Transaction: %s' % repr(kwargs)) self.provider = provider self.transaction_id = None self._ts = TranStore() @@ -23,14 +22,17 @@ class Transaction(Log): tid = kwargs.get(TRANSID) if tid: self.transaction_id = tid - data = self._ts.get_unique_data(TRANSTABLE, tid) + data = self.retrieve() + if data and 'provider' in data: + self.provider = data['provider'] self._get_cookie() else: data = {'provider': self.provider, 'origintime': str(datetime.now())} self.transaction_id = self._ts.new_unique_data(TRANSTABLE, data) self._set_cookie() - self.debug('Transaction id: %s' % self.transaction_id) + self.debug('Transaction: %s %s' % (self.provider, + self.transaction_id)) def _set_cookie(self): self.cookie = SecureCookie(name=None, value=self.provider) |