Skip to content
Snippets Groups Projects
Commit 6c71a657 authored by Erwan Rouchet's avatar Erwan Rouchet Committed by Bastien Abadie
Browse files

Fix AttributeError on ListModelVersions in the browser

parent 5555c74c
No related branches found
No related tags found
1 merge request!2192Fix AttributeError on ListModelVersions in the browser
......@@ -81,20 +81,22 @@ class ModelVersionsList(ListCreateAPIView):
permission_classes = (IsVerified, )
serializer_class = ModelVersionSerializer
@cached_property
def model(self):
return get_object_or_404(Model.objects.using('default').all(), id=self.kwargs['pk'])
@cached_property
def access_level(self):
return get_max_level(self.request.user, self.model)
def get_queryset(self):
self.model = self.get_object()
self.check_object_permissions(self.request, self.model)
qs = self.model.versions.order_by('-created')
if self.access_level < Role.Contributor.value:
qs = qs.filter(tag__isnull=False, state=ModelVersionState.Available)
return qs
def get_object(self):
model = get_object_or_404(Model.objects.using('default').all(), id=self.kwargs['pk'])
self.check_object_permissions(self.request, model)
return model
def check_object_permissions(self, request, model):
self.access_level = get_max_level(self.request.user, model)
needed_level, error_msg = (
Role.Guest.value,
'You need a Guest access to list versions of a model.',
......@@ -117,7 +119,7 @@ class ModelVersionsList(ListCreateAPIView):
return context
def create(self, request, *args, **kwargs):
self.model = self.get_object()
self.check_object_permissions(self.request, self.model)
return super().create(request, *args, **kwargs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment