Checking for access also checks for permission. Remove reduntant check.
Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
committed by
Roberto Rosario
parent
0c4a52558b
commit
c69147bdc5
@@ -1,13 +1,10 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.core.exceptions import PermissionDenied
|
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
|
||||||
from rest_framework import generics
|
from rest_framework import generics
|
||||||
|
|
||||||
from permissions import Permission
|
|
||||||
|
|
||||||
from .models import AccessControlList
|
from .models import AccessControlList
|
||||||
from .permissions import permission_acl_edit, permission_acl_view
|
from .permissions import permission_acl_edit, permission_acl_view
|
||||||
from .serializers import (
|
from .serializers import (
|
||||||
@@ -37,14 +34,10 @@ class APIObjectACLListView(generics.ListCreateAPIView):
|
|||||||
else:
|
else:
|
||||||
permission_required = permission_acl_edit
|
permission_required = permission_acl_edit
|
||||||
|
|
||||||
try:
|
AccessControlList.objects.check_access(
|
||||||
Permission.check_permissions(
|
permissions=permission_required, user=self.request.user,
|
||||||
self.request.user, permissions=(permission_required,)
|
obj=content_object
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
|
||||||
AccessControlList.objects.check_access(
|
|
||||||
permission_required, self.request.user, content_object
|
|
||||||
)
|
|
||||||
|
|
||||||
return content_object
|
return content_object
|
||||||
|
|
||||||
@@ -100,14 +93,10 @@ class APIObjectACLView(generics.RetrieveDestroyAPIView):
|
|||||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
AccessControlList.objects.check_access(
|
||||||
Permission.check_permissions(
|
permissions=permission_required, user=self.request.user,
|
||||||
self.request.user, permissions=(permission_required,)
|
obj=content_object
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
|
||||||
AccessControlList.objects.check_access(
|
|
||||||
permission_required, self.request.user, content_object
|
|
||||||
)
|
|
||||||
|
|
||||||
return content_object
|
return content_object
|
||||||
|
|
||||||
@@ -135,14 +124,10 @@ class APIObjectACLPermissionListView(generics.ListCreateAPIView):
|
|||||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
AccessControlList.objects.check_access(
|
||||||
Permission.check_permissions(
|
permissions=permission_acl_view, user=self.request.user,
|
||||||
self.request.user, permissions=(permission_acl_view,)
|
obj=content_object
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
|
||||||
AccessControlList.objects.check_access(
|
|
||||||
permission_acl_view, self.request.user, content_object
|
|
||||||
)
|
|
||||||
|
|
||||||
return content_object
|
return content_object
|
||||||
|
|
||||||
@@ -196,14 +181,10 @@ class APIObjectACLPermissionView(generics.RetrieveDestroyAPIView):
|
|||||||
content_type.model_class(), pk=self.kwargs['object_pk']
|
content_type.model_class(), pk=self.kwargs['object_pk']
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
AccessControlList.objects.check_access(
|
||||||
Permission.check_permissions(
|
permissions=permission_acl_view, user=self.request.user,
|
||||||
self.request.user, permissions=(permission_acl_view,)
|
obj=content_object
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
|
||||||
AccessControlList.objects.check_access(
|
|
||||||
permission_acl_view, self.request.user, content_object
|
|
||||||
)
|
|
||||||
|
|
||||||
return content_object
|
return content_object
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
from __future__ import absolute_import, unicode_literals
|
from __future__ import absolute_import, unicode_literals
|
||||||
|
|
||||||
from django.core.exceptions import PermissionDenied
|
|
||||||
from django.shortcuts import get_object_or_404
|
from django.shortcuts import get_object_or_404
|
||||||
|
|
||||||
from rest_framework import generics
|
from rest_framework import generics
|
||||||
|
|
||||||
from acls.models import AccessControlList
|
from acls.models import AccessControlList
|
||||||
from documents.models import Document
|
from documents.models import Document
|
||||||
from permissions import Permission
|
|
||||||
|
|
||||||
from .permissions import (
|
from .permissions import (
|
||||||
permission_comment_create, permission_comment_delete,
|
permission_comment_create, permission_comment_delete,
|
||||||
@@ -82,14 +80,10 @@ class APICommentView(generics.RetrieveDestroyAPIView):
|
|||||||
|
|
||||||
document = get_object_or_404(Document, pk=self.kwargs['document_pk'])
|
document = get_object_or_404(Document, pk=self.kwargs['document_pk'])
|
||||||
|
|
||||||
try:
|
AccessControlList.objects.check_access(
|
||||||
Permission.check_permissions(
|
permissions=permission_required, user=self.request.user,
|
||||||
self.request.user, (permission_required,)
|
obj=document
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
|
||||||
AccessControlList.objects.check_access(
|
|
||||||
permission_required, self.request.user, document
|
|
||||||
)
|
|
||||||
|
|
||||||
return document
|
return document
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ from acls.models import AccessControlList
|
|||||||
from common.validators import validate_internal_name
|
from common.validators import validate_internal_name
|
||||||
from documents.models import Document, DocumentType
|
from documents.models import Document, DocumentType
|
||||||
from events.models import StoredEventType
|
from events.models import StoredEventType
|
||||||
from permissions import Permission
|
|
||||||
|
|
||||||
from .error_logs import error_log_state_actions
|
from .error_logs import error_log_state_actions
|
||||||
from .literals import (
|
from .literals import (
|
||||||
@@ -389,32 +388,23 @@ class WorkflowInstance(models.Model):
|
|||||||
|
|
||||||
if _user:
|
if _user:
|
||||||
try:
|
try:
|
||||||
Permission.check_permissions(
|
"""
|
||||||
requester=_user, permissions=(
|
Check for ACL access to the workflow, if true, allow
|
||||||
permission_workflow_transition,
|
all transition options.
|
||||||
)
|
"""
|
||||||
|
AccessControlList.objects.check_access(
|
||||||
|
permissions=permission_workflow_transition,
|
||||||
|
user=_user, obj=self.workflow
|
||||||
)
|
)
|
||||||
except PermissionDenied:
|
except PermissionDenied:
|
||||||
try:
|
"""
|
||||||
"""
|
If not ACL access to the workflow, filter transition
|
||||||
Check for ACL access to the workflow, if true, allow
|
options by each transition ACL access
|
||||||
all transition options.
|
"""
|
||||||
"""
|
queryset = AccessControlList.objects.filter_by_access(
|
||||||
|
permission=permission_workflow_transition,
|
||||||
AccessControlList.objects.check_access(
|
user=_user, queryset=queryset
|
||||||
permissions=permission_workflow_transition,
|
)
|
||||||
user=_user, obj=self.workflow
|
|
||||||
)
|
|
||||||
except PermissionDenied:
|
|
||||||
"""
|
|
||||||
If not ACL access to the workflow, filter transition
|
|
||||||
options by each transition ACL access
|
|
||||||
"""
|
|
||||||
|
|
||||||
queryset = AccessControlList.objects.filter_by_access(
|
|
||||||
permission=permission_workflow_transition,
|
|
||||||
user=_user, queryset=queryset
|
|
||||||
)
|
|
||||||
return queryset
|
return queryset
|
||||||
else:
|
else:
|
||||||
"""
|
"""
|
||||||
@@ -422,7 +412,6 @@ class WorkflowInstance(models.Model):
|
|||||||
whose document type has this workflow is created. We return an
|
whose document type has this workflow is created. We return an
|
||||||
empty transition queryset.
|
empty transition queryset.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
return WorkflowTransition.objects.none()
|
return WorkflowTransition.objects.none()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,9 @@ class MayanPermission(BasePermission):
|
|||||||
|
|
||||||
if required_permission:
|
if required_permission:
|
||||||
try:
|
try:
|
||||||
Permission.check_permissions(request.user, required_permission)
|
Permission.check_permissions(
|
||||||
|
requester=request.user, permissions=required_permission
|
||||||
|
)
|
||||||
except PermissionDenied:
|
except PermissionDenied:
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user