permission.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. # coding=utf-8
  2. from rest_framework import permissions
  3. from apps.customer.models import Customer
  4. class IsCustomer(permissions.BasePermission):
  5. def has_permission(self, request, view):
  6. if not request.user or not request.user.is_authenticated:
  7. return False
  8. if not request.user.is_customer():
  9. return False
  10. customer = Customer.objects.filter(user_id=request.user.id).first()
  11. if not customer:
  12. return False
  13. request.customer = customer
  14. return True
  15. class IsEmployee(permissions.BasePermission):
  16. def has_permission(self, request, view):
  17. if not request.user or not request.user.is_authenticated:
  18. return False
  19. return request.user.is_employee()
  20. class AnyOne(permissions.BasePermission):
  21. '''都有权限,只是如果是customer的话可以获取到customer'''
  22. def has_permission(self, request, view):
  23. customer = None
  24. if request.user and request.user.is_authenticated and request.user.is_customer():
  25. customer = Customer.objects.filter(user_id=request.user.id).first()
  26. request.customer = customer
  27. return True