Now users have better permissions management
parent
b3989298d4
commit
56df0634d6
|
@ -29,9 +29,15 @@ class MembersFilterBackend(BaseFilterBackend):
|
||||||
if project_id:
|
if project_id:
|
||||||
Project = get_model('projects', 'Project')
|
Project = get_model('projects', 'Project')
|
||||||
project = get_object_or_404(Project, pk=project_id)
|
project = get_object_or_404(Project, pk=project_id)
|
||||||
|
if project.memberships.filter(user=request.user).exists() or project.owner ==request.user:
|
||||||
return queryset.filter(Q(memberships__project=project) | Q(id=project.owner.id)).distinct()
|
return queryset.filter(Q(memberships__project=project) | Q(id=project.owner.id)).distinct()
|
||||||
else:
|
else:
|
||||||
|
raise exc.PermissionDenied(_("You don't have permisions to see this project users."))
|
||||||
|
else:
|
||||||
|
if request.user.is_superuser:
|
||||||
return queryset
|
return queryset
|
||||||
|
else:
|
||||||
|
raise exc.PermissionDenied(_("You don't have permisions to see all users."))
|
||||||
|
|
||||||
class PermissionsViewSet(ModelListViewSet):
|
class PermissionsViewSet(ModelListViewSet):
|
||||||
permission_classes = (IsAuthenticated,)
|
permission_classes = (IsAuthenticated,)
|
||||||
|
|
Loading…
Reference in New Issue