merge
This commit is contained in:
+2
-2
@@ -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 = ''
|
||||
|
||||
|
||||
@@ -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='تعداد'),
|
||||
),
|
||||
]
|
||||
@@ -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 = 'ایتم سبد خرید'
|
||||
|
||||
@@ -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)
|
||||
@@ -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,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
@@ -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
|
||||
|
||||
|
||||
Generated
+1
-1620
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user