permissions.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # coding:utf-8
  2. from rest_framework.permissions import BasePermission
  3. from apps.Equipment.models import Device
  4. class RegisterViewPermission(BasePermission):
  5. def has_permission(self, request, view):
  6. try:
  7. user = request.user
  8. if user['username'] == "管理员":
  9. return True
  10. else:
  11. return False
  12. except:
  13. return False
  14. class ModulePermission(BasePermission):
  15. def has_permission(self, request, view):
  16. try:
  17. user = request.user
  18. user_modules = user.get("user_modules")
  19. path = request.path
  20. if path.startswith("/equipment") and user_modules == "1":
  21. return True
  22. else:
  23. return False
  24. except:
  25. return False
  26. class DeviceDetailPermission(BasePermission):
  27. def has_permission(self, request, view):
  28. try:
  29. user = request.user
  30. uid = user.get("uid")
  31. user_modules = user.get("user_modules")
  32. deviceId = request.data.get("device_id")
  33. device = Device.objects.filter(device_id=deviceId, owner_id=int(uid))
  34. if user_modules == "1" and device.exists():
  35. return True
  36. else:
  37. return False
  38. except:
  39. return False