Esempio n. 1
0
File: views.py Progetto: m3wolf/ert
 def post(self, request):
     is_valid = True
     # Validation on the submitted request
     if len(request.DATA['order_items']) == 0:
         # Failed due to empty order
         is_valid = False
         response_data = {
             'status': 'failed',
             'reason': 'order_items cannot be empty'
         }
     if is_valid:
         order = Order(**request.DATA['order_data'])
         order.save()
         # Create OrderItem instances from the submitted order
         order_items = request.DATA['order_items']
         for item in order_items:
             new_item = OrderItem()
             new_item.beer = Beer.objects.get(pk=item['beer']['id'])
             new_item.quantity = item['quantity']
             new_item.order = order
             new_item.save()
         # Send relevant emails
         order.notify_ert()
         order.send_confirmation()
         # Send API response
         response_data = {
             'status': 'success',
             'order_id': order.id
         }
         response = Response(response_data)
     else:
         response = Response(response_data,
                             status=status.HTTP_400_BAD_REQUEST)
     return response
Esempio n. 2
0
 def post(self, request):
     is_valid = True
     # Validation on the submitted request
     if len(request.DATA['order_items']) == 0:
         # Failed due to empty order
         is_valid = False
         response_data = {
             'status': 'failed',
             'reason': 'order_items cannot be empty'
         }
     if is_valid:
         order = Order(**request.DATA['order_data'])
         order.save()
         # Create OrderItem instances from the submitted order
         order_items = request.DATA['order_items']
         for item in order_items:
             new_item = OrderItem()
             new_item.beer = Beer.objects.get(pk=item['beer']['id'])
             new_item.quantity = item['quantity']
             new_item.order = order
             new_item.save()
         # Send relevant emails
         order.notify_ert()
         order.send_confirmation()
         # Send API response
         response_data = {'status': 'success', 'order_id': order.id}
         response = Response(response_data)
     else:
         response = Response(response_data,
                             status=status.HTTP_400_BAD_REQUEST)
     return response