Coverage for dashboard\custom_modules\permissions.py: 44%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

9 statements  

1from rest_framework.permissions import BasePermission, IsAuthenticated, SAFE_METHODS 

2from dashboard.models import ( 

3 DataPair, 

4 Dataset, 

5 SetToUser 

6) 

7 

8class UsersDataPermission(BasePermission): 

9 

10 def has_permission(self, request, view): 

11 if SetToUser.objects.filter(user=request.user, dataset=request.dataset, can_read=True).exists() and request.method in SAFE_METHODS: 

12 return True 

13 elif SetToUser.objects.filter(user=request.user, dataset=request.dataset, can_write=True).exists(): 

14 return True 

15 else: 

16 return False 

17