ShopOrderModel fields and signal update

This commit is contained in:
Parsa Nazer
2025-12-11 13:14:46 +03:30
parent 88594f014d
commit f300fe1553
3 changed files with 146 additions and 0 deletions
+33
View File
@@ -121,9 +121,41 @@ def create_shop_orders_on_payment(sender, instance: OrderModel, created, **kwarg
payable = shop_subtotal - allocated_discount - \
allocated_special_discount - commission_amount + allocated_tax
# Prepare customer information
customer_phone = instance.user.phone if instance.user else ''
customer_name = instance.user.full_name if instance.user else ''
# Prepare address information (with text backups in case address is deleted)
address_text = ''
address_postal_code = ''
address_phone = ''
address_city = ''
address_province = ''
address_recipient_name = ''
if instance.address:
address_text = instance.address.address
address_postal_code = instance.address.postal_code
address_phone = instance.address.phone
address_city = instance.address.city
address_province = instance.address.province
address_recipient_name = instance.address.name
shop_order = ShopOrderModel.objects.create(
order=instance,
shop=shop,
customer=instance.user,
customer_phone=customer_phone,
customer_name=customer_name,
address=instance.address,
address_text=address_text,
address_postal_code=address_postal_code,
address_phone=address_phone,
address_city=address_city,
address_province=address_province,
address_recipient_name=address_recipient_name,
status=instance.status,
is_paid=instance.is_paid,
subtotal=shop_subtotal,
items_count=sum(int(it.quantity) for it in items_list),
discount_amount=allocated_discount,
@@ -132,6 +164,7 @@ def create_shop_orders_on_payment(sender, instance: OrderModel, created, **kwarg
commission_amount=commission_amount,
tax_amount=allocated_tax,
payable_amount=payable,
order_created_at=instance.created_at,
)
# Create ShopOrderItem rows linking to original OrderItemModel