コード例 #1
0
ファイル: customer_api.py プロジェクト: EpicCycles/epic
 def post(self, request, pk):
     customer = self.get_object(pk)
     serializer = CustomerSerializer(customer, data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
コード例 #2
0
ファイル: quote_api.py プロジェクト: EpicCycles/epic
    def get(self, request):

        quotes = self.get_queryset()
        full_quote_data = build_quotes_and_related_data(quotes)

        if quotes.first():
            full_quote_data['quoteId'] = quotes.first().id

            quote_customers = quotes.values_list('customer__id', flat=True)
            customers = Customer.objects.filter(id__in=quote_customers)
            customer_serializer = CustomerSerializer(customers, many=True)

            full_quote_data['customers'] = customer_serializer.data
        else:
            return Response(status=status.HTTP_204_NO_CONTENT)

        return Response(full_quote_data)
コード例 #3
0
 def test_add_duplicate_customer_fails(self):
     serializer = CustomerSerializer(data={
         'first_name': 'bod',
         'last_name': 'prince'
     })
     self.assertEqual(serializer.is_valid(), False)
     serializer = CustomerSerializer(data={
         'first_name': 'Fred',
         'last_name': 'Bloggs',
         'email': '*****@*****.**'
     })
     self.assertEqual(serializer.is_valid(), False)
コード例 #4
0
 def test_not_duplicate_when_id(self):
     serializer = CustomerSerializer(
         data={
             'id': self.customer_no_email.id,
             'first_name': self.customer_no_email.first_name,
             'last_name': self.customer_no_email.last_name
         })
     self.assertEqual(serializer.is_valid(), False)
     serializer = CustomerSerializer(
         data={
             'id': self.customer_with_email.id,
             'first_name': self.customer_with_email.first_name,
             'last_name': self.customer_with_email.last_name,
             'email': self.customer_with_email.email
         })
     self.assertEqual(serializer.is_valid(), False)
コード例 #5
0
ファイル: customer_api.py プロジェクト: EpicCycles/epic
    def get(self, request, pk):
        customer = self.get_object(pk)
        serializer = CustomerSerializer(customer)

        note_list = CustomerNote.objects.filter(customer=customer)
        quote_list = Quote.objects.filter(customer=customer)

        quote_bike_ids = quote_list.values_list('bike__id', flat=True)
        bikes = Bike.objects.filter(id__in=quote_bike_ids)
        bike_serializer = BikeSerializer(bikes, many=True)

        bike_frame_ids = bikes.values_list('frame__id', flat=True)
        frames = Frame.objects.filter(id__in=bike_frame_ids)
        frame_serializer = FrameSerializer(frames, many=True)

        return Response({
            'customer': serializer.data,
            'notes': CustomerNoteSerializer(note_list, many=True).data,
            'quotes': QuoteSerializer(quote_list, many=True).data,
            'frames': frame_serializer.data,
            'bikes': bike_serializer.data
        })
コード例 #6
0
 def test_missing_data_customer_create(self):
     serializer = CustomerSerializer(data={})
     self.assertEqual(serializer.is_valid(), False)
     serializer = CustomerSerializer(data={'first_name': 'Annd'})
     self.assertEqual(serializer.is_valid(), False)
     serializer = CustomerSerializer(data={'last_name': 'Annd'})
     self.assertEqual(serializer.is_valid(), False)
     serializer = CustomerSerializer(data={'last_name': ''})
     self.assertEqual(serializer.is_valid(), False)
コード例 #7
0
ファイル: customer_api.py プロジェクト: EpicCycles/epic
 def post(self, request):
     serializer = CustomerSerializer(data=request.data)
     if serializer.is_valid():
         serializer.save()
         return Response(serializer.data)
     return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)