This commit is contained in:
Mamalizz
2025-03-06 22:57:25 +03:30
9 changed files with 40 additions and 1626 deletions
+2 -2
View File
@@ -21,8 +21,8 @@ API_DOMAIN = 'api.heymlz.com'
SITE_TITLE = 'فروشگاه هی ملز'
SITE_HEADER = 'فروشگاه هی ملز'
# jwt token configs
ACCESS_TOKEN_LIFETIME = 5000
REFRESH_TOKEN_LIFETIME = 5000
ACCESS_TOKEN_LIFETIME = 1
REFRESH_TOKEN_LIFETIME = 5
SMS_API_KEY = ''
+2
View File
@@ -7,6 +7,8 @@ class CustomTokenObtainPairSerializer(TokenObtainPairSerializer):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
del self.fields['password']
class ProfileSerializer(serializers.ModelSerializer):
class Meta:
model = User
@@ -0,0 +1,18 @@
# Generated by Django 5.1.2 on 2025-03-06 17:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('order', '0009_alter_ordermodel_created_at'),
]
operations = [
migrations.AlterField(
model_name='orderitemmodel',
name='quantity',
field=models.PositiveSmallIntegerField(verbose_name='تعداد'),
),
]
+7 -1
View File
@@ -46,8 +46,11 @@ class OrderModel(models.Model):
verbose_name = 'سفارش'
verbose_name_plural = 'سفارشات'
# def total_without_tax(self):
# return sum(item.total() for item in self.items.all())
def save(self, *args, **kwargs):
try:
push_object = PushSubscription.objects.get(user=self.user)
@@ -59,6 +62,7 @@ class OrderModel(models.Model):
print('didnt send')
super().save(*args, **kwargs)
def discount(self):
pass
# total_with_item_discount = sum(item.total_with_discount() for item in self.items.all())
@@ -73,12 +77,14 @@ class OrderModel(models.Model):
def tax(self):
return self.total_without_tax() * 0.2
def total(self):
pass
# return self.total_with_discount() + self.tax()
def remove_order_item(self, item_pk, quantity):
pass
def add_order_item(self, item_pk, quantity):
status = ''
return status
@@ -90,7 +96,7 @@ class OrderModel(models.Model):
class OrderItemModel(models.Model):
order = models.ForeignKey(OrderModel, on_delete=models.CASCADE, related_name='items', verbose_name='سفارش')
quantity = models.SmallIntegerField(verbose_name="تعداد")
quantity = models.PositiveSmallIntegerField(verbose_name="تعداد")
product = models.ForeignKey(ProductVariant, on_delete=models.PROTECT, verbose_name="محصول")
class Meta:
verbose_name = 'ایتم سبد خرید'
+8 -1
View File
@@ -21,7 +21,14 @@ class OrderSerializer(serializers.ModelSerializer):
class Meta:
model = OrderModel
fields = ['address', 'created_at', 'is_paid', 'status', 'discount_code', "images", "count", "id"]
def get_count(self, obj):
return obj.items.all().count()
def get_images(self, obj):
return ["a" , "b" , "c"]
image_list = [
self.context.get('request').build_absolute_uri(image.image.url)
if (image := item.product.images.all().first()) else None
for item in obj.items.all()[:3]
]
return filter(lambda x: x is not None, image_list)
+1
View File
@@ -31,6 +31,7 @@ class CartItemViews(APIView):
product_variant = get_object_or_404(ProductVariant, pk=pk)
response = 'محصول با موفقیت به سبد خرید اضافه شد'
quantity = request.data.get('quantity', 1)
quantity = max(quantity, 0)
if product_variant.in_stock < quantity:
quantity = product_variant.in_stock
response = 'تعداد درخواستی بیشتر از موجودی محصول میباشد'
-1
View File
@@ -1,7 +1,6 @@
from rest_framework import serializers
from .models import Ticket, Message, Attachment
from django.utils.timezone import localtime
from account.serializers import ProfileSerializer
from order.serializers import OrderSerializer
from order.serializers import OrderModel
+1 -1
View File
@@ -1,7 +1,7 @@
FROM node:20-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
RUN npm install --force
COPY . .
RUN npm run build
+1 -1620
View File
File diff suppressed because it is too large Load Diff