saga_transaction: test URL presence after all others errors

This commit is contained in:
Thomas NOËL 2017-07-13 14:00:36 +02:00
parent 1b17c0b1c5
commit 8ac1727045
1 changed files with 7 additions and 1 deletions

View File

@ -72,7 +72,7 @@ def saga_transaction(request):
'for num_factures=%s', num_factures)
messages.error(request, ERROR_MESSAGE)
return HttpResponseRedirect(error_url)
if not isinstance(saga, dict) or not saga.get('data', {}).get('url'):
if not isinstance(saga, dict):
logger.error('[rsu/saga] failed to create transaction '
'for num_factures=%s, received bad response=%r',
num_factures, saga)
@ -91,6 +91,12 @@ def saga_transaction(request):
num_factures, saga['err'])
messages.error(request, ERROR_MESSAGE)
return HttpResponseRedirect(error_url)
if not saga.get('data', {}).get('url'):
logger.error('[rsu/saga] failed to create transaction '
'for num_factures=%s, response without url: %r',
num_factures, saga)
messages.error(request, ERROR_MESSAGE)
return HttpResponseRedirect(error_url)
# finally, response seems good! redirect to payment system URL
logger.info('[rsu/saga] new transaction created '