186 lines
5.2 KiB
Python
186 lines
5.2 KiB
Python
|
|
|
|
|
|
|
|
class ProductDetailCategoryPermission:
|
|
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_permission(self, request, obj=None):
|
|
return True
|
|
|
|
def has_delete_permission(self, request, obj=None):
|
|
return False
|
|
|
|
def has_view_permission(self, request, obj=None):
|
|
return True
|
|
|
|
class ProductAdminPermission:
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_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
|
|
|
|
def has_delete_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
|
|
|
|
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
|
|
|
|
def get_queryset(self, request):
|
|
from product.models import ProductModel
|
|
if request.user.is_superuser:
|
|
|
|
return ProductModel.objects.all()
|
|
|
|
if not hasattr(request.user, 'shop'):
|
|
return ProductModel.objects.none()
|
|
|
|
return ProductModel.objects.filter(shop=request.user.shop)
|
|
|
|
|
|
class ProductVariantAdminPermission:
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_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.product.shop
|
|
|
|
def has_delete_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.product.shop
|
|
|
|
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.product.shop
|
|
|
|
def get_queryset(self, request):
|
|
from product.models import ProductVariant
|
|
if request.user.is_superuser:
|
|
|
|
return ProductVariant.objects.all()
|
|
|
|
if not hasattr(request.user, 'shop'):
|
|
return ProductVariant.objects.none()
|
|
|
|
return ProductVariant.objects.filter(product__shop=request.user.shop)
|
|
|
|
|
|
|
|
class ProductVariantInlineAdminPermission:
|
|
|
|
# def has_add_permission(self, request, obj):
|
|
# return True
|
|
|
|
def has_change_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
|
|
|
|
def has_delete_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
|
|
|
|
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
|
|
|
|
def get_queryset(self, request):
|
|
from product.models import ProductVariant
|
|
if request.user.is_superuser:
|
|
|
|
return ProductVariant.objects.all()
|
|
|
|
if not hasattr(request.user, 'shop'):
|
|
return ProductVariant.objects.none()
|
|
|
|
return ProductVariant.objects.filter(product__shop=request.user.shop)
|
|
class InPackItemsAdminPermission:
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_delete_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_view_permission(self, request, obj = ...):
|
|
return True
|
|
|
|
class AttributeTypeAdminPermission:
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_delete_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_view_permission(self, request, obj = ...):
|
|
return True
|
|
|
|
|
|
class AttributeValueAdminPermission:
|
|
def has_add_permission(self, request):
|
|
return True
|
|
|
|
def has_change_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_delete_permission(self, request, obj = ...):
|
|
return False
|
|
|
|
def has_view_permission(self, request, obj = ...):
|
|
return True |