PEP8 cleanups

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2019-05-08 18:15:39 -04:00
parent e5c1aa5606
commit 1beb44d85d
12 changed files with 61 additions and 56 deletions

View File

@@ -62,7 +62,9 @@ class APIObjectACLListView(generics.ListCreateAPIView):
if not self.request:
return None
return super(APIObjectACLListView, self).get_serializer(*args, **kwargs)
return super(APIObjectACLListView, self).get_serializer(
*args, **kwargs
)
def get_serializer_class(self):
if self.request.method == 'GET':
@@ -152,7 +154,9 @@ class APIObjectACLPermissionListView(generics.ListCreateAPIView):
return WritableAccessControlListPermissionSerializer
def get_serializer_context(self):
context = super(APIObjectACLPermissionListView, self).get_serializer_context()
context = super(
APIObjectACLPermissionListView, self
).get_serializer_context()
if self.kwargs:
context.update(
{
@@ -202,7 +206,9 @@ class APIObjectACLPermissionView(generics.RetrieveDestroyAPIView):
return self.get_acl().permissions.all()
def get_serializer_context(self):
context = super(APIObjectACLPermissionView, self).get_serializer_context()
context = super(
APIObjectACLPermissionView, self
).get_serializer_context()
if self.kwargs:
context.update(
{

View File

@@ -3,7 +3,6 @@ from __future__ import absolute_import, unicode_literals
from functools import reduce
import logging
import operator
import warnings
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
@@ -17,7 +16,6 @@ from django.utils.translation import ugettext
from mayan.apps.common.utils import (
get_related_field, resolve_attribute, return_related
)
from mayan.apps.common.warnings import InterfaceWarning
from mayan.apps.permissions import Permission
from mayan.apps.permissions.models import StoredPermission
@@ -32,7 +30,9 @@ class AccessControlListManager(models.Manager):
Implement a 3 tier permission system, involving a permissions, an actor
and an object
"""
def _get_acl_filters(self, queryset, stored_permission, user, related_field_name=None):
def _get_acl_filters(
self, queryset, stored_permission, user, related_field_name=None
):
"""
This method does the bulk of the work. It generates filters for the
AccessControlList model to determine if there are ACL entries for the
@@ -113,17 +113,25 @@ class AccessControlListManager(models.Manager):
for related_field_model_related_field_name in related_field_model_related_fields:
related_field_name = '{}__{}'.format(related_field_name, related_field_model_related_field_name)
related_field_inherited_acl_queries = self._get_acl_filters(
queryset=queryset, stored_permission=stored_permission,
user=user, related_field_name=related_field_name
queryset=queryset,
stored_permission=stored_permission, user=user,
related_field_name=related_field_name
)
if related_field_inherited_acl_queries:
relation_result.append(reduce(operator.and_, related_field_inherited_acl_queries))
relation_result.append(
reduce(
operator.and_,
related_field_inherited_acl_queries
)
)
if relation_result:
result.append(reduce(operator.or_, relation_result))
else:
# Case 1: Original model, single ContentType, multiple object id
content_type = ContentType.objects.get_for_model(model=queryset.model)
content_type = ContentType.objects.get_for_model(
model=queryset.model
)
field_lookup = 'id__in'
acl_filter = self.filter(
content_type=content_type, permissions=stored_permission,
@@ -149,7 +157,9 @@ class AccessControlListManager(models.Manager):
related_field_name=related_field_name, user=user
)
if inherited_acl_queries:
relation_result.append(reduce(operator.and_, inherited_acl_queries))
relation_result.append(
reduce(operator.and_, inherited_acl_queries)
)
if relation_result:
result.append(reduce(operator.or_, relation_result))
@@ -285,7 +295,9 @@ class AccessControlListManager(models.Manager):
parent_object = return_related(
instance=obj, related_field=related_field
)
content_type = ContentType.objects.get_for_model(model=parent_object)
content_type = ContentType.objects.get_for_model(
model=parent_object
)
try:
queryset = queryset | self.get(
content_type=content_type, object_id=parent_object.pk,

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations

View File

@@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.11 on 2018-04-02 03:39
from __future__ import unicode_literals
from django.db import migrations
@@ -14,6 +12,9 @@ class Migration(migrations.Migration):
operations = [
migrations.AlterModelOptions(
name='accesscontrollist',
options={'ordering': ('pk',), 'verbose_name': 'Access entry', 'verbose_name_plural': 'Access entries'},
options={
'ordering': ('pk',), 'verbose_name': 'Access entry',
'verbose_name_plural': 'Access entries'
},
),
]

View File

@@ -12,7 +12,9 @@ from rest_framework.reverse import reverse
from mayan.apps.common.serializers import ContentTypeSerializer
from mayan.apps.permissions import Permission
from mayan.apps.permissions.models import Role, StoredPermission
from mayan.apps.permissions.serializers import PermissionSerializer, RoleSerializer
from mayan.apps.permissions.serializers import (
PermissionSerializer, RoleSerializer
)
from .models import AccessControlList
@@ -81,7 +83,9 @@ class AccessControlListPermissionSerializer(PermissionSerializer):
)
class WritableAccessControlListPermissionSerializer(AccessControlListPermissionSerializer):
class WritableAccessControlListPermissionSerializer(
AccessControlListPermissionSerializer
):
permission_pk = serializers.CharField(
help_text=_(
'Primary key of the new permission to grant to the access control '

View File

@@ -105,7 +105,8 @@ class PermissionTestCase(ACLTestMixin, BaseTestCase):
try:
AccessControlList.objects.check_access(
obj=self.test_object_child, permissions=(self.test_permission,),
obj=self.test_object_child,
permissions=(self.test_permission,),
user=self._test_case_user
)
except PermissionDenied:
@@ -123,7 +124,8 @@ class PermissionTestCase(ACLTestMixin, BaseTestCase):
try:
AccessControlList.objects.check_access(
obj=self.test_object_child, permissions=(self.test_permission,),
obj=self.test_object_child,
permissions=(self.test_permission,),
user=self._test_case_user
)
except PermissionDenied:
@@ -233,7 +235,9 @@ class InheritedPermissionTestCase(ACLTestMixin, BaseTestCase):
self.assertTrue(self.test_permission.stored_permission in queryset)
def test_retrieve_inherited_related_grandparent_parent_child_permission(self):
def test_retrieve_inherited_related_grandparent_parent_child_permission(
self
):
self._create_test_permission()
self._create_test_model(model_name='TestModelGrandParent')

View File

@@ -176,7 +176,8 @@ class ACLPermissionsView(AddRemoveView):
# Sort permissions by their translatable label
object_list = sorted(
queryset, key=lambda permission: permission.volatile_permission.label
queryset,
key=lambda permission: permission.volatile_permission.label
)
# Group permissions by namespace
@@ -185,7 +186,9 @@ class ACLPermissionsView(AddRemoveView):
permission.volatile_permission.namespace.label,
[]
)
namespaces_dictionary[permission.volatile_permission.namespace.label].append(
namespaces_dictionary[
permission.volatile_permission.namespace.label
].append(
(permission.pk, force_text(permission))
)

View File

@@ -98,7 +98,9 @@ class GrantAccessAction(WorkflowAction):
def get_form_schema(self, *args, **kwargs):
self.fields['content_type']['kwargs']['queryset'] = ModelPermission.get_classes(as_content_type=True)
self.fields['permissions']['kwargs']['choices'] = Permission.all(as_choices=True)
self.fields['permissions']['kwargs']['choices'] = Permission.all(
as_choices=True
)
return super(GrantAccessAction, self).get_form_schema(*args, **kwargs)
def get_execute_data(self):
@@ -113,7 +115,11 @@ class GrantAccessAction(WorkflowAction):
pk=self.form_data['object_id']
)
self.roles = Role.objects.filter(pk__in=self.form_data['roles'])
self.permissions = [Permission.get(pk=permission, proxy_only=True) for permission in self.form_data['permissions']]
self.permissions = [
Permission.get(
pk=permission, proxy_only=True
) for permission in self.form_data['permissions']
]
def execute(self, context):
self.get_execute_data()

Binary file not shown.

View File

@@ -3,7 +3,6 @@ from __future__ import unicode_literals
from django.utils.encoding import force_text
from mayan.apps.common.tests import GenericViewTestCase
from mayan.apps.documents.permissions import permission_document_view
from mayan.apps.documents.tests import GenericDocumentViewTestCase
from ..models import Tag
@@ -122,32 +121,6 @@ class TagViewTestCase(TagTestMixin, TagViewTestMixin, GenericViewTestCase):
class TagDocumentViewTestCase(TagTestMixin, TagViewTestMixin, GenericDocumentViewTestCase):
"""
def test_document_tags_widget_no_permissions(self):
self._create_test_tag()
self.test_tag.documents.add(self.test_document)
response = self._request_test_tag_document_list_view()
self.assertNotContains(
response=response, text=self.test_tag.label, status_code=200
)
def test_document_tags_widget_with_tag_access(self):
self._create_test_tag()
self.test_tag.documents.add(self.test_document)
self.grant_access(obj=self.test_tag, permission=permission_tag_view)
self.grant_access(
obj=self.test_document, permission=permission_document_view
)
response = self._request_test_tag_document_list_view()
self.assertContains(
response=response, text=self.test_tag.label, status_code=200
)
"""
def test_document_tags_list_no_permissions(self):
self._create_test_tag()
@@ -199,7 +172,6 @@ class TagDocumentViewTestCase(TagTestMixin, TagViewTestMixin, GenericDocumentVie
response=response, text=force_text(self.test_tag), status_code=200
)
def test_document_attach_tag_view_no_permission(self):
self._create_test_tag()

View File

@@ -3,7 +3,7 @@ from __future__ import absolute_import, unicode_literals
import logging
from django.contrib import messages
from django.shortcuts import get_object_or_404, reverse
from django.shortcuts import reverse
from django.template import RequestContext
from django.urls import reverse_lazy
from django.utils.translation import ugettext_lazy as _, ungettext
@@ -16,7 +16,6 @@ from mayan.apps.common.generics import (
from mayan.apps.common.mixins import ExternalObjectMixin
from mayan.apps.documents.models import Document
from mayan.apps.documents.views import DocumentListView
from mayan.apps.documents.permissions import permission_document_view
from .forms import TagMultipleSelectionForm
from .icons import (