diff --git a/mayan/apps/common/api_views.py b/mayan/apps/common/api_views.py index ab762843a8..a5fcf2dc81 100644 --- a/mayan/apps/common/api_views.py +++ b/mayan/apps/common/api_views.py @@ -9,7 +9,7 @@ from .classes import Template from .serializers import ContentTypeSerializer, TemplateSerializer -class APIContentTypeViewSet(viewsets.ReadOnlyModelViewSet): +class ContentTypeAPIViewSet(viewsets.ReadOnlyModelViewSet): """ list: Return a list of all the available content types. @@ -17,13 +17,12 @@ class APIContentTypeViewSet(viewsets.ReadOnlyModelViewSet): retrieve: Return the given content type details. """ - lookup_field = 'pk' lookup_url_kwarg = 'content_type_id' queryset = ContentType.objects.order_by('app_label', 'model') serializer_class = ContentTypeSerializer -class APITemplateViewSet(viewsets.ReadOnlyModelViewSet): +class TemplateAPIViewSet(viewsets.ReadOnlyModelViewSet): """ list: Return a list of partial templates. @@ -31,12 +30,12 @@ class APITemplateViewSet(viewsets.ReadOnlyModelViewSet): retrieve: Return the given partial template details. """ - lookup_url_kwarg = 'name' + lookup_url_kwarg = 'template_name' permission_classes = (IsAuthenticated,) serializer_class = TemplateSerializer def get_object(self): - return Template.get(name=self.kwargs['name']).render( + return Template.get(name=self.kwargs['template_name']).render( request=self.request ) diff --git a/mayan/apps/common/classes.py b/mayan/apps/common/classes.py index 161def4408..bab726943c 100644 --- a/mayan/apps/common/classes.py +++ b/mayan/apps/common/classes.py @@ -292,7 +292,7 @@ class Template(object): def get_absolute_url(self): return reverse( - viewname='rest_api:template-detail', kwargs={'template_pk': self.name} + viewname='rest_api:template-detail', kwargs={'template_name': self.name} ) def render(self, request): diff --git a/mayan/apps/common/mixins.py b/mayan/apps/common/mixins.py index 26e9278a78..4e761bcd8e 100644 --- a/mayan/apps/common/mixins.py +++ b/mayan/apps/common/mixins.py @@ -13,7 +13,6 @@ from django.views.generic.detail import SingleObjectMixin from mayan.apps.acls.models import AccessControlList from mayan.apps.permissions import Permission -from .exceptions import ActionError from .forms import DynamicForm from .literals import ( PK_LIST_SEPARATOR, TEXT_CHOICE_ITEMS, TEXT_CHOICE_LIST, diff --git a/mayan/apps/common/serializers.py b/mayan/apps/common/serializers.py index 0983e55d9a..7ebe538487 100644 --- a/mayan/apps/common/serializers.py +++ b/mayan/apps/common/serializers.py @@ -9,8 +9,8 @@ class ContentTypeSerializer(serializers.HyperlinkedModelSerializer): class Meta: extra_kwargs = { 'url': { - 'lookup_field': 'pk', 'lookup_url_kwarg': 'content_type_id', - 'view_name': 'rest_api:content_type-detail' + 'lookup_url_kwarg': 'content_type_id', + 'view_name': 'rest_api:content-type-detail' } } fields = ('app_label', 'id', 'model', 'url') @@ -22,6 +22,6 @@ class TemplateSerializer(serializers.Serializer): name = serializers.CharField(read_only=True) html = serializers.CharField(read_only=True) url = serializers.HyperlinkedIdentityField( - lookup_field='name', lookup_url_kwarg='name', + lookup_field='name', lookup_url_kwarg='template_name', view_name='rest_api:template-detail' ) diff --git a/mayan/apps/common/tests/test_api.py b/mayan/apps/common/tests/test_api.py index a0111db300..3200e69b7d 100644 --- a/mayan/apps/common/tests/test_api.py +++ b/mayan/apps/common/tests/test_api.py @@ -1,7 +1,6 @@ from __future__ import unicode_literals from django.test import override_settings -from django.urls import reverse from mayan.apps.rest_api.tests import BaseAPITestCase @@ -11,23 +10,40 @@ TEST_TEMPLATE_RESULT = '