Author: gjm
Date: Sun Oct 14 00:23:31 2018
New Revision: 1843805

URL: http://svn.apache.org/viewvc?rev=1843805&view=rev
Log:
Attempt to add links to api output for ticket list

Modified:
    bloodhound/branches/bh_core_experimental/trackers/models.py
    bloodhound/branches/bh_core_experimental/trackers/serializers.py
    bloodhound/branches/bh_core_experimental/trackers/urls.py

Modified: bloodhound/branches/bh_core_experimental/trackers/models.py
URL: 
http://svn.apache.org/viewvc/bloodhound/branches/bh_core_experimental/trackers/models.py?rev=1843805&r1=1843804&r2=1843805&view=diff
==============================================================================
--- bloodhound/branches/bh_core_experimental/trackers/models.py (original)
+++ bloodhound/branches/bh_core_experimental/trackers/models.py Sun Oct 14 
00:23:31 2018
@@ -21,6 +21,7 @@ import logging
 import uuid
 
 from django.db import models
+from django.urls import reverse
 
 logger = logging.getLogger(__name__)
 
@@ -37,6 +38,9 @@ class Ticket(ModelCommon):
     title = models.CharField(max_length=200, null=True)
     description = models.TextField(null=True)
 
+    def api_url(self):
+        return reverse('ticket_view', args=(self.id,))
+
     def last_update(self):
         last_event = self.changeevent_set.order_by('created').last()
         return self.created if last_event is None else last_event.created

Modified: bloodhound/branches/bh_core_experimental/trackers/serializers.py
URL: 
http://svn.apache.org/viewvc/bloodhound/branches/bh_core_experimental/trackers/serializers.py?rev=1843805&r1=1843804&r2=1843805&view=diff
==============================================================================
--- bloodhound/branches/bh_core_experimental/trackers/serializers.py (original)
+++ bloodhound/branches/bh_core_experimental/trackers/serializers.py Sun Oct 14 
00:23:31 2018
@@ -1,20 +1,25 @@
 from rest_framework import serializers
-from trackers.models import Ticket, TicketField, ChangeEvent
+from trackers import models
 
 
 class TicketSerializer(serializers.ModelSerializer):
+    api_url = serializers.SerializerMethodField()
+
     class Meta:
-        model = Ticket
+        model = models.Ticket
         fields = '__all__'
 
+    def get_api_url(self, obj):
+        return self.context['request'].build_absolute_uri(obj.api_url())
+
 
 class TicketFieldSerializer(serializers.ModelSerializer):
     class Meta:
-        model = TicketField
+        model = models.TicketField
         fields = '__all__'
 
 
 class ChangeEventSerializer(serializers.ModelSerializer):
     class Meta:
-        model = ChangeEvent
+        model = models.ChangeEvent
         fields = '__all__'

Modified: bloodhound/branches/bh_core_experimental/trackers/urls.py
URL: 
http://svn.apache.org/viewvc/bloodhound/branches/bh_core_experimental/trackers/urls.py?rev=1843805&r1=1843804&r2=1843805&view=diff
==============================================================================
--- bloodhound/branches/bh_core_experimental/trackers/urls.py (original)
+++ bloodhound/branches/bh_core_experimental/trackers/urls.py Sun Oct 14 
00:23:31 2018
@@ -23,6 +23,6 @@ urlpatterns = [
     path('schema_view/', views.schema_view),
     path('field/', views.TicketFieldListCreate.as_view()),
     path('ticket/', views.TicketListCreate.as_view()),
-    path('ticket/<uuid:id>', views.TicketViewUpdate.as_view()),
+    path('ticket/<uuid:id>', views.TicketViewUpdate.as_view(), 
name='ticket_view'),
     path('ticket/<uuid:id>/event/', views.ChangeEventListCreate.as_view()),
 ]


Reply via email to