learn viedo delete and add permison
This commit is contained in:
+12
-2
@@ -10,6 +10,9 @@ from unfold.decorators import action, display
|
||||
from django.utils.html import format_html
|
||||
from unfold.decorators import display
|
||||
from utils.admin import ModelAdmin
|
||||
from unfold.contrib.filters.admin import ChoicesDropdownFilter
|
||||
|
||||
|
||||
@admin.register(ShowCaseSlider)
|
||||
class ShowCaseSliderAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
import_form_class = ImportForm
|
||||
@@ -28,16 +31,23 @@ class ShowCaseSliderAdmin(ModelAdmin, ImportExportModelAdmin):
|
||||
@admin.register(LearnVideoModel)
|
||||
class LearnVideoAdmin(UnfoldModelAdmin):
|
||||
list_display = ['title', 'section', 'display_viewd']
|
||||
search_fields = ['title', 'section']
|
||||
search_fields = ['title', 'section', 'content_type__app_label']
|
||||
# autocomplete_fields = ['section']
|
||||
compressed_fields = False
|
||||
list_filter = ['section']
|
||||
list_filter = ['viewd', 'section']
|
||||
warn_unsaved_form = True
|
||||
list_filter_submit = True
|
||||
change_form_template = 'video_change_form_after.html'
|
||||
formfield_overrides = {
|
||||
ArrayField: {
|
||||
"widget": ArrayWidget,
|
||||
}
|
||||
}
|
||||
def has_delete_permission(self, request, obj=None):
|
||||
return request.user.video_uploader
|
||||
|
||||
def has_add_permission(self, request, obj=None):
|
||||
return request.user.video_uploader
|
||||
|
||||
|
||||
@display(description='دیده شده')
|
||||
|
||||
+14
-13
@@ -29,22 +29,23 @@ class CartItemViews(APIView):
|
||||
serializer_class = OrderItemSerailzier
|
||||
def post(self, request, pk):
|
||||
product_variant = get_object_or_404(ProductVariant, pk=pk)
|
||||
response = 'محصول با موفقیت به سبد خرید اضافه شد'
|
||||
quantity = request.data.get('quantity', 1)
|
||||
if product_variant.in_stock < quantity:
|
||||
quantity = product_variant.in_stock
|
||||
response = 'تعداد درخواستی بیشتر از موجودی محصول میباشد'
|
||||
|
||||
cart_order, created = OrderModel.objects.get_or_create(
|
||||
user=request.user,
|
||||
status='CART'
|
||||
)
|
||||
order_item, created = OrderItemModel.objects.get_or_create(
|
||||
order=cart_order,
|
||||
product=product_variant,
|
||||
defaults={'quantity': request.data.get('quantity', 1)}
|
||||
)
|
||||
cart_order, created = OrderModel.objects.get_or_create(user=request.user, status='CART')
|
||||
order_item, created = OrderItemModel.objects.get_or_create(order=cart_order, product=product_variant, defaults={'quantity': quantity})
|
||||
|
||||
if not created:
|
||||
order_item.quantity = request.data.get('quantity', 1)
|
||||
if not created and order_item.quantity:
|
||||
order_item.quantity = quantity
|
||||
order_item.save()
|
||||
|
||||
return Response({'detail': f'تعداد ایتم {product_variant.product.name} به {request.data.get('quantity', 1)} تغییر کرد'}, status=status.HTTP_202_ACCEPTED)
|
||||
if not order_item.quantity:
|
||||
order_item.delete()
|
||||
return Response({'detail': response, 'count': quantity}, status=status.HTTP_202_ACCEPTED)
|
||||
|
||||
|
||||
def delete(self, request, pk):
|
||||
product_variant = get_object_or_404(ProductVariant, pk=pk)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user