order urls fix intendent and order item verbose name udpate
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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})'
|
||||||
|
|
||||||
|
|||||||
@@ -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()),
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user