Features: 1) Replace DigitalAssetDownload creation logic with get_or_create.
Fixes: 1) Remove unnecessary conditional check for DigitalAssetDownload existence. Extra: 1) Simplify flow for processing order products with digital assets.
This commit is contained in:
parent
0dc3daaa4f
commit
0cec8b0380
1 changed files with 5 additions and 6 deletions
|
|
@ -125,12 +125,11 @@ def process_order_changes(instance: Order, created: bool, **kwargs: dict[Any, An
|
|||
|
||||
if has_file:
|
||||
order_product.status = "FINISHED"
|
||||
if not order_product.download:
|
||||
DigitalAssetDownload.objects.create(order_product=order_product)
|
||||
order_product.order.user.payments_balance.amount -= order_product.buy_price # type: ignore [union-attr, operator]
|
||||
order_product.order.user.payments_balance.save() # type: ignore [union-attr]
|
||||
order_product.save()
|
||||
continue
|
||||
DigitalAssetDownload.objects.get_or_create(order_product=order_product)
|
||||
order_product.order.user.payments_balance.amount -= order_product.buy_price # type: ignore [union-attr, operator]
|
||||
order_product.order.user.payments_balance.save() # type: ignore [union-attr]
|
||||
order_product.save()
|
||||
continue
|
||||
|
||||
order_product.save()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue