Features: 1) Add automatic handling of digital products with DigitalAssetDownload creation for eligible orders;
Fixes: 1) Add missing import for `DigitalAssetDownload`; Extra: 1) Enhance order processing logic to finalize digital product orders with associated stocks.
This commit is contained in:
parent
59870b3bc5
commit
5d9cd47e72
1 changed files with 7 additions and 1 deletions
|
|
@ -10,7 +10,7 @@ from django.utils.timezone import now
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from sentry_sdk import capture_exception
|
from sentry_sdk import capture_exception
|
||||||
|
|
||||||
from core.models import Category, Order, Product, PromoCode, Wishlist
|
from core.models import Category, Order, Product, PromoCode, Wishlist, DigitalAssetDownload
|
||||||
from core.serializers import OrderProductSimpleSerializer
|
from core.serializers import OrderProductSimpleSerializer
|
||||||
from core.utils import (
|
from core.utils import (
|
||||||
generate_human_readable_id,
|
generate_human_readable_id,
|
||||||
|
|
@ -98,6 +98,12 @@ def process_order_changes(instance, created, **_kwargs):
|
||||||
send_order_created_email.delay(instance.uuid)
|
send_order_created_email.delay(instance.uuid)
|
||||||
|
|
||||||
for order_product in instance.order_products.filter(status="DELIVERING", product__is_digital=True):
|
for order_product in instance.order_products.filter(status="DELIVERING", product__is_digital=True):
|
||||||
|
if order_product.product.stocks.filter(digital_asset__isnull=False).exists():
|
||||||
|
order_product.status = "FINISHED"
|
||||||
|
download = DigitalAssetDownload.objects.create(order_product=order_product)
|
||||||
|
order_product.download = download
|
||||||
|
order_product.save()
|
||||||
|
continue
|
||||||
try:
|
try:
|
||||||
logger.debug("Trying to buy: %s", str(order_product.uuid))
|
logger.debug("Trying to buy: %s", str(order_product.uuid))
|
||||||
vendor_name = (
|
vendor_name = (
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue