toulouse-maelis: prevent creating invoice in concurency (#82706)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Nicolas Roche 2023-11-02 09:20:56 +01:00 committed by Nicolas Roche
parent 8bb8f2c1df
commit e59765eaf7
1 changed files with 10 additions and 10 deletions

View File

@ -4041,16 +4041,16 @@ class ToulouseMaelis(BaseResource, HTTPResource):
pass
else:
for item in result:
try:
invoice = self.invoice_set.get(regie_id=regie_id, invoice_id=item['numInvoice'])
except Invoice.DoesNotExist:
invoice = self.invoice_set.create(
regie_id=regie_id,
invoice_id=item['numInvoice'],
family_id=family_id,
maelis_data=item,
maelis_data_update_date=now(),
)
invoice, created = self.invoice_set.get_or_create(
regie_id=regie_id,
invoice_id=item['numInvoice'],
defaults={
'family_id': family_id,
'maelis_data': item,
'maelis_data_update_date': now(),
},
)
if created:
self.logger.info("Ajout de %s sur la famille '%s'", repr(invoice), family_id)
else:
if invoice.family_id != family_id: