discount admin and code to name update
This commit is contained in:
@@ -135,6 +135,11 @@ UNFOLD = {
|
||||
"link": reverse_lazy("admin:product_dollormodel_changelist"),
|
||||
"badge": "utils.admin.dollor_price",
|
||||
},
|
||||
{
|
||||
"title": _("کد تخفیف"),
|
||||
"icon": "payments",
|
||||
"link": reverse_lazy("admin:order_discountcode_changelist"),
|
||||
},
|
||||
|
||||
],
|
||||
},
|
||||
|
||||
@@ -19,6 +19,12 @@ class OrderItemModelInline(StackedInline):
|
||||
|
||||
|
||||
|
||||
@admin.register(DiscountCode)
|
||||
class DiscountCodeAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
import_form_class = ImportForm
|
||||
export_form_class = ExportForm
|
||||
list_display = ['code', 'expiration_date', 'percent', 'quantity']
|
||||
|
||||
|
||||
@admin.register(OrderModel)
|
||||
class OrderAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.1.2 on 2025-03-10 20:10
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('order', '0011_orderitemmodel_price'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='discountcode',
|
||||
old_name='name',
|
||||
new_name='code',
|
||||
),
|
||||
]
|
||||
+14
-8
@@ -6,20 +6,31 @@ from .execptions import DiscountNotAvailableError
|
||||
from django_jalali.db import models as jmodels
|
||||
|
||||
class DiscountCode(models.Model):
|
||||
name = models.CharField(max_length=50, verbose_name='کد تخفیف')
|
||||
code = models.CharField(max_length=50, verbose_name='کد تخفیف')
|
||||
percent = models.DecimalField(max_digits=4, decimal_places=2, verbose_name='درصد')
|
||||
quantity = models.PositiveIntegerField(verbose_name='تعداد')
|
||||
expiration_date = models.DateTimeField(verbose_name='تاریخ انقضا')
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
return self.code
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'کد تخفیف'
|
||||
verbose_name_plural = 'کد های تخفیف'
|
||||
|
||||
def is_valid(self):
|
||||
return self.expiration_date > timezone.now() and self.quantity > 0
|
||||
|
||||
def not_valid_reason(self):
|
||||
if self.expiration_date > timezone.now() and self.quantity > 0:
|
||||
return 'این کد معتبر میباشد'
|
||||
elif not self.expiration_date > timezone.now():
|
||||
return 'تایم کد تخفیف تمام شده'
|
||||
elif not self.quantity > 0:
|
||||
return 'این کد تخفیف تمام شده است'
|
||||
else:
|
||||
print('log later bug')
|
||||
|
||||
|
||||
|
||||
class OrderModel(models.Model):
|
||||
@@ -82,15 +93,10 @@ class OrderModel(models.Model):
|
||||
pass
|
||||
# return self.total_with_discount() + self.tax()
|
||||
|
||||
def remove_order_item(self, item_pk, quantity):
|
||||
def final_price(self):
|
||||
pass
|
||||
|
||||
def add_order_item(self, item_pk, quantity):
|
||||
status = ''
|
||||
return status
|
||||
|
||||
def clear_cart(self):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,14 @@
|
||||
from rest_framework import serializers
|
||||
from .models import OrderItemModel, OrderModel
|
||||
from .models import OrderItemModel, OrderModel, DiscountCode
|
||||
from product.serializers import ProductVariantSerialzier
|
||||
|
||||
class DiscountCodeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = DiscountCode
|
||||
fields = ('code', 'percent')
|
||||
read_only_fields = ('percent',)
|
||||
|
||||
|
||||
class OrderItemSerailzier(serializers.ModelSerializer):
|
||||
product = serializers.SerializerMethodField()
|
||||
class Meta:
|
||||
|
||||
Reference in New Issue
Block a user