order urls fix intendent and order item verbose name udpate

This commit is contained in:
Parsa Nazer
2025-02-15 00:43:32 +03:30
parent 2cf4489f30
commit d8f7be7772
4 changed files with 39 additions and 36 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
from django.contrib import admin from django.contrib import admin
from .models import * from .models import *
from unfold.admin import ModelAdmin, TabularInline from unfold.admin import ModelAdmin, TabularInline, StackedInline
from import_export.admin import ImportExportModelAdmin from import_export.admin import ImportExportModelAdmin
from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm from unfold.contrib.import_export.forms import ExportForm, ImportForm, SelectableFieldsExportForm
@@ -8,7 +8,7 @@ from unfold.contrib.forms.widgets import ArrayWidget, WysiwygWidget
from django.contrib.postgres.fields import ArrayField from django.contrib.postgres.fields import ArrayField
class OrderItemModelInline(TabularInline): class OrderItemModelInline(StackedInline):
model = OrderItemModel model = OrderItemModel
extra = 0 extra = 0
max_num = 0 max_num = 0
+3 -3
View File
@@ -79,8 +79,8 @@ class OrderItemModel(models.Model):
quantity = models.SmallIntegerField(verbose_name="تعداد") quantity = models.SmallIntegerField(verbose_name="تعداد")
product = models.ForeignKey(ProductVariant, on_delete=models.PROTECT, verbose_name="محصول") product = models.ForeignKey(ProductVariant, on_delete=models.PROTECT, verbose_name="محصول")
class Meta: class Meta:
verbose_name = 'محصول خریداری شده' verbose_name = 'ایتم سبد خرید'
verbose_name_plural = 'محصولات خریداری شده' verbose_name_plural = 'ایتم های سبد خرید'
def total(self): def total(self):
return self.quantity * self.product.get_toman_price() return self.quantity * self.product.get_toman_price()
@@ -88,5 +88,5 @@ class OrderItemModel(models.Model):
def total_with_discount(self): def total_with_discount(self):
return self.quantity * self.product.get_toman_price_after_discount() return self.quantity * self.product.get_toman_price_after_discount()
def __str__(self): def __str__(self):
return f'ایتم سبد خرید محصول: {self.product} کاربر {self.order.user}' return f'({self.product}) - ({self.order.user})'
+5 -2
View File
@@ -1,8 +1,11 @@
from django.conf.urls.static import static from django.conf.urls.static import static
from django.contrib import admin from django.contrib import admin
from django.urls import path, include from django.urls import path, include
from .views import CartItemViews from .views import CartItemViews, CartView
urlpatterns = [ urlpatterns = [
path('cart/item/<int:pk>', CartItemViews.as_view(), name='add cart'), path('cart', CartView.as_view()),
path('cart/item/<int:pk>', CartItemViews.as_view(), name='change-item-cart'),
path('payment', CartView.as_view()),
path('', CartView.as_view()),
] ]
+4 -4
View File
@@ -44,7 +44,7 @@ class CartItemViews(APIView):
order_item.quantity = request.data.get('quantity', 1) order_item.quantity = request.data.get('quantity', 1)
order_item.save() order_item.save()
return Response({'detail': 'it did something'}, status=status.HTTP_201_CREATED) return Response({'detail': f'تعداد ایتم {product_variant.product.name} به {request.data.get('quantity', 1)} تغییر کرد'}, status=status.HTTP_202_ACCEPTED)
def delete(self, request, pk): def delete(self, request, pk):
product_variant = get_object_or_404(ProductVariant, pk=pk) product_variant = get_object_or_404(ProductVariant, pk=pk)
@@ -59,10 +59,10 @@ class CartItemViews(APIView):
# ) # )
order_item = get_object_or_404(OrderItemModel, order=cart_order, product=product_variant) order_item = get_object_or_404(OrderItemModel, order=cart_order, product=product_variant)
order_item.delete() order_item.delete()
return Response({'detail': 'it did something related to delete'}, status=status.HTTP_204_NO_CONTENT) return Response({'detail': f'محصول {product_variant.product.name} از سبد خرید پاک شد'}, status=status.HTTP_204_NO_CONTENT)
class CartViews(APIView): class CartView(APIView):
def get(self, request): def get(self, request):
pass return Response({'detail': 'این بخش در حال توسعه می باشد تا اماده شدن این بخش به نقاشی خود ادامه دهید'}, status=status.HTTP_404_NOT_FOUND)