lingo: report exception on invoice notification failure (#87025)
gitea/combo/pipeline/head This commit looks good Details

This commit is contained in:
Benjamin Dauvergne 2024-02-15 17:56:18 +01:00
parent 5d80833736
commit 78c036b7a2
1 changed files with 5 additions and 4 deletions

View File

@ -430,7 +430,7 @@ class Regie(models.Model):
raise ObjectDoesNotExist()
response.raise_for_status()
if response.json().get('err'):
raise RemoteInvoiceException()
raise RemoteInvoiceException('err != 0', response.json())
if response.json().get('data') is None:
raise ObjectDoesNotExist()
remote_item = build_remote_item(response.json().get('data'), self)
@ -1070,17 +1070,18 @@ class Transaction(models.Model):
self.items.add(self.create_paid_invoice_basket_item(item_id, remote_item))
regie.pay_invoice(item_id, self.order_id, self.bank_transaction_date or self.end_date)
except ObjectDoesNotExist:
# 4xx error
# 4xx error or data field is empty
logger.error(
'unable to retrieve or pay remote item %s from transaction %s, ignore it', item_id, self
)
except (RequestException, RemoteInvoiceException):
except (RequestException, RemoteInvoiceException) as e:
# 5xx, err or requests error
to_be_paid_remote_items.append(item_id)
logger.warning(
'unable to notify payment for remote item %s from transaction %s, retry later',
'unable to notify payment for remote item %s from transaction %s, retry later (%s)',
item_id,
self,
e,
)
except Exception:
# unknown error