blob: 92db9c64218fec12cc851435efa5b85b19c6c710 [file] [log] [blame]
from django.contrib.auth.models import User, Group
from rest_framework import serializers
from trackers import models
from ..models import Product
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'email', 'is_staff')
class GroupSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Group
fields = ('url', 'name')
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = '__all__'
class TicketSerializer(serializers.ModelSerializer):
api_url = serializers.SerializerMethodField()
api_events_url = serializers.SerializerMethodField()
class Meta:
model = models.Ticket
fields = '__all__'
def get_api_url(self, obj):
return self.context['request'].build_absolute_uri(obj.api_url())
def get_api_events_url(self, obj):
return self.context['request'].build_absolute_uri(obj.api_events_url())
class TicketFieldSerializer(serializers.ModelSerializer):
api_url = serializers.SerializerMethodField()
class Meta:
model = models.TicketField
fields = '__all__'
def get_api_url(self, obj):
return self.context['request'].build_absolute_uri(obj.api_url())
class ChangeEventSerializer(serializers.ModelSerializer):
api_url = serializers.SerializerMethodField()
api_ticket_url = serializers.SerializerMethodField()
class Meta:
model = models.ChangeEvent
fields = '__all__'
def get_api_url(self, obj):
return self.context['request'].build_absolute_uri(obj.api_url())
def get_api_ticket_url(self, obj):
return self.context['request'].build_absolute_uri(obj.api_ticket_url())