diff --git a/backend/order/admin.py b/backend/order/admin.py index 44ceae5..2977048 100644 --- a/backend/order/admin.py +++ b/backend/order/admin.py @@ -27,6 +27,19 @@ class OrderItemModelInline(StackedInline): +@admin.register(OrderItemModel) +class OrderItemAdmin(ModelAdmin): + def has_view_permission(self, request, obj=None): + if request.user.is_superuser or obj == None: + return True + + if not hasattr(request.user, 'shop'): + return False + print(obj.product.product.shop) + print(request.user.shop) + return request.user.shop == obj.product.product.shop + + @admin.register(DiscountCode) class DiscountCodeAdmin(ModelAdmin, ImportExportModelAdmin): import_form_class = ImportForm @@ -67,6 +80,15 @@ class ShopOrderInline(StackedInline): max_num = 0 tab = True + def has_view_permission(self, request, obj=None): + if request.user.is_superuser or obj == None: + return True + + if not hasattr(request.user, 'shop'): + return False + + return request.user.shop == obj.shop + class ShopOrderItemInline(NonrelatedTabularInline): # NonrelatedStackedInline is available as well model = ShopOrderItem @@ -89,6 +111,15 @@ class ShopOrderItemInline(NonrelatedTabularInline): # NonrelatedStackedInline i """ pass + def has_view_permission(self, request, obj=None): + if request.user.is_superuser or obj == None: + return True + + if not hasattr(request.user, 'shop'): + return False + + return request.user.shop == obj.shop + from .models import ShopDailyReport, ShopOrderModel @@ -124,7 +155,14 @@ class ShopOrderItemInline(StackedInline): tab = True - + def has_view_permission(self, request, obj=None): + if request.user.is_superuser or obj == None: + return True + + if not hasattr(request.user, 'shop'): + return False + + return request.user.shop == obj.shop @admin.register(ShopOrderModel) @@ -180,7 +218,7 @@ class OrderAdmin(ModelAdmin, ImportExportModelAdmin): inlines = [OrderItemModelInline, BankRecordInline] def order_id(self, obj): - return f"سفارش {obj.pk + 1000}" + return f"سفارش {obj.pk}" order_id.short_description = "شماره سفارش" def download_invoice_button(self, obj):