From 24c63c4f3859aa39fa05940f1f8d32c86378c297 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 6 Aug 2015 14:45:27 -0400 Subject: [PATCH] Make API endpoints clickable. --- mayan/apps/rest_api/classes.py | 5 ++--- mayan/apps/rest_api/serializers.py | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/mayan/apps/rest_api/classes.py b/mayan/apps/rest_api/classes.py index 95f919fa44..b8983abfa4 100644 --- a/mayan/apps/rest_api/classes.py +++ b/mayan/apps/rest_api/classes.py @@ -41,9 +41,8 @@ class APIEndPoint(object): self.__class__._registry[app.name] = self - @property - def url(self): - return reverse('rest_api:api-version-1-app', args=[self.app.name]) + def get_absolute_url(self): + return reverse('rest_api:api-version-1-app', args=(self.app.name,)) @property def app_name(self): diff --git a/mayan/apps/rest_api/serializers.py b/mayan/apps/rest_api/serializers.py index 168a59ec5f..b6201486a7 100644 --- a/mayan/apps/rest_api/serializers.py +++ b/mayan/apps/rest_api/serializers.py @@ -1,14 +1,27 @@ from __future__ import unicode_literals from rest_framework import serializers +from rest_framework.reverse import reverse class APIVersionSerializer(serializers.Serializer): - url = serializers.URLField() + url = serializers.SerializerMethodField() version_string = serializers.CharField() + def get_url(self, instance): + return reverse( + 'rest_api:api-version-1', format=self.context['format'], + request=self.context['request'] + ) + class APIAppSerializer(serializers.Serializer): app_name = serializers.CharField() - url = serializers.URLField() + url = serializers.SerializerMethodField() version_string = serializers.CharField() + + def get_url(self, instance): + return reverse( + 'rest_api:api-version-1-app', args=(instance.app.name,), + format=self.context['format'], request=self.context['request'] + )