Remove last usage of .filter_by_access()
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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()
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -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
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user