add special_discount_code to order model
This commit is contained in:
@@ -137,7 +137,7 @@ class OrderAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
list_filter = ['is_paid', 'status']
|
||||
actions_list = ['redirect_to_learn', 'udpate_bank_status']
|
||||
list_display = ['order_id', 'user', 'is_paid', 'status', 'discount_code', 'address', 'download_invoice_button']
|
||||
readonly_fields = ('created_at', 'tax', 'final_price', 'cart_total', 'discount_amount', 'discount_code', 'user', 'address', 'is_paid', 'download_invoice_link')
|
||||
readonly_fields = ('created_at', 'tax', 'final_price', 'cart_total', 'discount_amount', 'discount_code', 'user', 'address', 'is_paid', 'special_discount_code','download_invoice_link')
|
||||
compressed_fields = True
|
||||
warn_unsaved_form = True
|
||||
# exclude = ('bank_records',)
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
# Generated by Django 5.1.2 on 2026-01-04 06:13
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('account', '0034_add_telegram_chat_id_to_shop'),
|
||||
('order', '0041_shopordermodel_address_shopordermodel_address_city_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='ordermodel',
|
||||
name='special_discount_code',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='account.specialdiscountcode', verbose_name='کدتخفیف خاص'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='shopordermodel',
|
||||
name='special_discount_code',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='account.specialdiscountcode', verbose_name='کدتخفیف خاص'),
|
||||
),
|
||||
]
|
||||
@@ -173,6 +173,8 @@ class OrderModel(models.Model):
|
||||
is_paid = models.BooleanField(default=False, verbose_name="وضعیت پرداخت")
|
||||
discount_code = models.ForeignKey(
|
||||
DiscountCode, on_delete=models.PROTECT, null=True, blank=True, verbose_name="کدتخفیف")
|
||||
special_discount_code = models.ForeignKey(
|
||||
SpecialDiscountCode, on_delete=models.PROTECT, null=True, blank=True, verbose_name="کدتخفیف خاص")
|
||||
status = models.CharField(max_length=20, choices=STATUS_CHOICES,
|
||||
default='ADMIN_PENDING', verbose_name="وضعیت سفارش")
|
||||
discount_amount = models.BigIntegerField(
|
||||
@@ -290,6 +292,8 @@ class ShopOrderModel(models.Model):
|
||||
subtotal = models.BigIntegerField(verbose_name='جمع جزئیات', default=0)
|
||||
items_count = models.PositiveIntegerField(default=0)
|
||||
discount_amount = models.BigIntegerField(default=0, verbose_name='تخفیف اختصاصی فروشگاه')
|
||||
special_discount_code = models.ForeignKey(
|
||||
'account.SpecialDiscountCode', on_delete=models.PROTECT, null=True, blank=True, verbose_name='کدتخفیف خاص')
|
||||
special_discount_amount = models.BigIntegerField(default=0, verbose_name='تخفیف ویژه اختصاصی')
|
||||
commission_percent = models.DecimalField(max_digits=5, decimal_places=2, verbose_name='درصد کمیسیون')
|
||||
commission_amount = models.BigIntegerField(default=0, verbose_name='مبلغ کمیسیون')
|
||||
|
||||
@@ -174,6 +174,7 @@ def create_shop_orders_on_payment(sender, instance: OrderModel, created, **kwarg
|
||||
subtotal=shop_subtotal,
|
||||
items_count=sum(int(it.quantity) for it in items_list),
|
||||
discount_amount=allocated_discount,
|
||||
special_discount_code=instance.special_discount_code,
|
||||
special_discount_amount=allocated_special_discount,
|
||||
commission_percent=commission_percent_value,
|
||||
commission_amount=commission_amount,
|
||||
|
||||
@@ -338,6 +338,7 @@ class PaymentView(APIView):
|
||||
address=cart.address,
|
||||
created_at=timezone.now().date(),
|
||||
discount_code=cart.discount_code,
|
||||
special_discount_code=cart.special_discount_code,
|
||||
discount_amount=cart.discount_code_amount,
|
||||
special_discount_total=special_total,
|
||||
tax=cart.tax_amount,
|
||||
|
||||
Reference in New Issue
Block a user