Remove last usage of .filter_by_access()

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-01-29 04:12:44 -04:00
parent fbb3a64bce
commit ef5e0c2d86
18 changed files with 27 additions and 35 deletions

View File

@@ -63,5 +63,5 @@ Changes needed:
the Role model's permissions many to many field. the Role model's permissions many to many field.
4. Update the ``AccessControlList`` models roles field to point to the group 4. Update the ``AccessControlList`` models roles field to point to the group
models. models.
5. Update the role checks in the ``check_access`` and ``filter_by_access`` 5. Update the role checks in the ``check_access`` and ``restrict_queryset``
``AccessControlList`` model manager methods. ``AccessControlList`` model manager methods.

View File

@@ -201,15 +201,6 @@ class AccessControlListManager(models.Manager):
return acl return acl
def filter_by_access(self, permission, queryset, user):
warnings.warn(
'filter_by_access() is deprecated, use restrict_queryset().',
InterfaceWarning
)
return self.restrict_queryset(
permission=permission, queryset=queryset, user=user
)
def restrict_queryset(self, permission, queryset, user): def restrict_queryset(self, permission, queryset, user):
# Check directly granted permission via a role # Check directly granted permission via a role
try: try:

View File

@@ -44,7 +44,7 @@ class PermissionTestCase(DocumentTestMixin, BaseTestCase):
def test_filtering_without_permissions(self): def test_filtering_without_permissions(self):
self.assertEqual( self.assertEqual(
AccessControlList.objects.filter_by_access( AccessControlList.objects.restrict_queryset(
permission=permission_document_view, permission=permission_document_view,
queryset=Document.objects.all(), user=self._test_case_user, queryset=Document.objects.all(), user=self._test_case_user,
).count(), 0 ).count(), 0
@@ -71,7 +71,7 @@ class PermissionTestCase(DocumentTestMixin, BaseTestCase):
acl.permissions.add(permission_document_view.stored_permission) acl.permissions.add(permission_document_view.stored_permission)
self.assertQuerysetEqual( self.assertQuerysetEqual(
AccessControlList.objects.filter_by_access( AccessControlList.objects.restrict_queryset(
permission=permission_document_view, permission=permission_document_view,
queryset=Document.objects.all(), user=self._test_case_user queryset=Document.objects.all(), user=self._test_case_user
), (repr(self.test_document_1),) ), (repr(self.test_document_1),)
@@ -116,7 +116,7 @@ class PermissionTestCase(DocumentTestMixin, BaseTestCase):
) )
acl.permissions.add(permission_document_view.stored_permission) acl.permissions.add(permission_document_view.stored_permission)
result = AccessControlList.objects.filter_by_access( result = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, queryset=Document.objects.all(), permission=permission_document_view, queryset=Document.objects.all(),
user=self._test_case_user user=self._test_case_user
) )
@@ -143,7 +143,7 @@ class PermissionTestCase(DocumentTestMixin, BaseTestCase):
) )
acl.permissions.add(permission_document_view.stored_permission) acl.permissions.add(permission_document_view.stored_permission)
result = AccessControlList.objects.filter_by_access( result = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, queryset=Document.objects.all(), permission=permission_document_view, queryset=Document.objects.all(),
user=self._test_case_user, user=self._test_case_user,
) )

View File

@@ -140,7 +140,7 @@ class APICabinetDocumentListView(generics.ListCreateAPIView):
def get_queryset(self): def get_queryset(self):
cabinet = self.get_cabinet() cabinet = self.get_cabinet()
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission_document_view, self.request.user, permission_document_view, self.request.user,
queryset=cabinet.documents.all() queryset=cabinet.documents.all()
) )

View File

@@ -73,7 +73,7 @@ class Cabinet(MPTTModel):
Provide a queryset of the documents in a cabinet. The queryset is Provide a queryset of the documents in a cabinet. The queryset is
filtered by access. filtered by access.
""" """
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission=permission_document_view, queryset=self.documents, permission=permission_document_view, queryset=self.documents,
user=user user=user
) )

View File

@@ -96,7 +96,7 @@ class CabinetDetailView(DocumentListView):
template_name = 'cabinets/cabinet_details.html' template_name = 'cabinets/cabinet_details.html'
def get_document_queryset(self): def get_document_queryset(self):
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, permission=permission_document_view,
queryset=self.get_object().documents.all(), queryset=self.get_object().documents.all(),
user=self.request.user user=self.request.user

View File

@@ -42,8 +42,9 @@ def widget_document_cabinets(document, user):
app_label='acls', model_name='AccessControlList' app_label='acls', model_name='AccessControlList'
) )
cabinets = AccessControlList.objects.filter_by_access( cabinets = AccessControlList.objects.restrict_queryset(
permission_cabinet_view, user, queryset=document.get_cabinets().all() queryset=document.get_cabinets().all(),
permission=permission_cabinet_view, user=user
) )
return format_html_join( return format_html_join(

View File

@@ -33,11 +33,11 @@ class APICheckedoutDocumentListView(generics.ListCreateAPIView):
return DocumentCheckoutSerializer return DocumentCheckoutSerializer
def get_queryset(self): def get_queryset(self):
filtered_documents = AccessControlList.objects.filter_by_access( filtered_documents = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, user=self.request.user, permission=permission_document_view, user=self.request.user,
queryset=DocumentCheckout.objects.checked_out_documents() queryset=DocumentCheckout.objects.checked_out_documents()
) )
filtered_documents = AccessControlList.objects.filter_by_access( filtered_documents = AccessControlList.objects.restrict_queryset(
permission=permission_document_checkout_detail_view, user=self.request.user, permission=permission_document_checkout_detail_view, user=self.request.user,
queryset=filtered_documents queryset=filtered_documents
) )
@@ -56,11 +56,11 @@ class APICheckedoutDocumentView(generics.RetrieveDestroyAPIView):
def get_queryset(self): def get_queryset(self):
if self.request.method == 'GET': if self.request.method == 'GET':
filtered_documents = AccessControlList.objects.filter_by_access( filtered_documents = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, user=self.request.user, permission=permission_document_view, user=self.request.user,
queryset=DocumentCheckout.objects.checked_out_documents() queryset=DocumentCheckout.objects.checked_out_documents()
) )
filtered_documents = AccessControlList.objects.filter_by_access( filtered_documents = AccessControlList.objects.restrict_queryset(
permission=permission_document_checkout_detail_view, user=self.request.user, permission=permission_document_checkout_detail_view, user=self.request.user,
queryset=filtered_documents queryset=filtered_documents
) )

View File

@@ -23,12 +23,12 @@ class DashboardWidgetTotalCheckouts(DashboardWidgetNumeric):
DocumentCheckout = apps.get_model( DocumentCheckout = apps.get_model(
app_label='checkouts', model_name='DocumentCheckout' app_label='checkouts', model_name='DocumentCheckout'
) )
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_document_checkout_detail_view, permission=permission_document_checkout_detail_view,
queryset=DocumentCheckout.objects.checked_out_documents(), queryset=DocumentCheckout.objects.checked_out_documents(),
user=request.user, user=request.user,
) )
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, queryset=queryset, permission=permission_document_view, queryset=queryset,
user=request.user user=request.user
) )

View File

@@ -82,7 +82,7 @@ class CheckoutDocumentView(SingleObjectCreateView):
class CheckoutListView(DocumentListView): class CheckoutListView(DocumentListView):
def get_document_queryset(self): def get_document_queryset(self):
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission=permission_document_checkout_detail_view, permission=permission_document_checkout_detail_view,
queryset=DocumentCheckout.objects.checked_out_documents(), queryset=DocumentCheckout.objects.checked_out_documents(),
user=self.request.user user=self.request.user

View File

@@ -248,7 +248,7 @@ class FilteredSelectionForm(forms.Form):
widget_class = opts.widget_class widget_class = opts.widget_class
if opts.permission: if opts.permission:
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=opts.permission, queryset=queryset, permission=opts.permission, queryset=queryset,
user=opts.user user=opts.user
) )

View File

@@ -22,7 +22,7 @@ class IndexListForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
user = kwargs.pop('user') user = kwargs.pop('user')
super(IndexListForm, self).__init__(*args, **kwargs) super(IndexListForm, self).__init__(*args, **kwargs)
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_document_indexing_rebuild, permission=permission_document_indexing_rebuild,
queryset=Index.objects.filter(enabled=True), queryset=Index.objects.filter(enabled=True),
user=user user=user

View File

@@ -366,7 +366,7 @@ class IndexInstanceNode(MPTTModel):
return self.get_descendants().count() return self.get_descendants().count()
def get_descendants_document_count(self, user): def get_descendants_document_count(self, user):
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission=permission_document_view, permission=permission_document_view,
queryset=Document.objects.filter( queryset=Document.objects.filter(
index_instance_nodes__in=self.get_descendants( index_instance_nodes__in=self.get_descendants(
@@ -387,7 +387,7 @@ class IndexInstanceNode(MPTTModel):
def get_item_count(self, user): def get_item_count(self, user):
if self.index_template_node.link_documents: if self.index_template_node.link_documents:
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_document_view, queryset=self.documents, permission=permission_document_view, queryset=self.documents,
user=user user=user
) )

View File

@@ -102,7 +102,7 @@ class SetupIndexDocumentTypesView(AssignRemoveView):
self.get_object().document_types.add(item) self.get_object().document_types.add(item)
def get_document_queryset(self): def get_document_queryset(self):
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission_document_view, queryset=DocumentType.objects.all(), permission_document_view, queryset=DocumentType.objects.all(),
user=self.request.user user=self.request.user
) )

View File

@@ -493,7 +493,7 @@ class WorkflowInstance(models.Model):
If not ACL access to the workflow, filter transition If not ACL access to the workflow, filter transition
options by each transition ACL access options by each transition ACL access
""" """
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_workflow_transition, permission=permission_workflow_transition,
user=_user, queryset=queryset user=_user, queryset=queryset
) )

View File

@@ -46,7 +46,7 @@ class DocumentMailForm(forms.Form):
'project_website': setting_project_url.value 'project_website': setting_project_url.value
} }
queryset = AccessControlList.objects.filter_by_access( queryset = AccessControlList.objects.restrict_queryset(
permission=permission_user_mailer_use, permission=permission_user_mailer_use,
queryset=UserMailer.objects.filter(enabled=True), user=user queryset=UserMailer.objects.filter(enabled=True), user=user
) )

View File

@@ -287,7 +287,7 @@ class UserMailerTestView(FormView):
) )
def get_queryset(self): def get_queryset(self):
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission=permission_user_mailer_use, permission=permission_user_mailer_use,
queryset=UserMailer.objects.all(), user=self.request.user queryset=UserMailer.objects.all(), user=self.request.user
) )

View File

@@ -733,7 +733,7 @@ class SetupDocumentTypeMetadataTypes(FormView):
def get_queryset(self): def get_queryset(self):
queryset = self.submodel.objects.all() queryset = self.submodel.objects.all()
return AccessControlList.objects.filter_by_access( return AccessControlList.objects.restrict_queryset(
permission=permission_document_type_edit, permission=permission_document_type_edit,
user=self.request.user, queryset=queryset user=self.request.user, queryset=queryset
) )