blob: a48abee4583f61dcba1d6adf84a3c71683f1429f [file] [log] [blame]
from django.contrib.auth.models import User, Group
from django.shortcuts import get_object_or_404
from rest_framework import serializers
from ..models import Product, Ticket
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):
class Meta:
model = Ticket
fields = (
'product_ticket_id',
'summary',
'description',
)
extra_kwargs = {'product_ticket_id': {'required': False}}
def create(self, validated_data):
if 'prefix' not in self.context['view'].kwargs.keys():
prefix = self.context['view'].kwargs['product_prefix']
product = get_object_or_404(Product.objects.all(), prefix=prefix)
validated_data['product'] = product
return super().create(validated_data)