Update ExternalObjectMixin

Call ModelPermission to select the proper manager for the queryset
when specifying just the model.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-08-05 00:23:45 -04:00
parent eb1fb8511b
commit 3428c6aa20

View File

@@ -8,6 +8,7 @@ from django.urls import reverse
from django.utils.translation import ungettext, ugettext_lazy as _
from django.views.generic.detail import SingleObjectMixin
from mayan.apps.acls.classes import ModelPermission
from mayan.apps.acls.models import AccessControlList
from mayan.apps.permissions import Permission
@@ -103,7 +104,15 @@ class ExternalObjectMixin(object):
'get_external_object_queryset() method.'
)
return self.external_object_queryset or self.external_object_class.objects.all()
queryset = self.external_object_queryset
if not queryset:
manager = ModelPermission.get_manager(
model=self.external_object_class
)
queryset = manager.all()
return queryset
def get_external_object_queryset_filtered(self):
queryset = self.get_external_object_queryset()