fill basket item with details from request

This commit is contained in:
Frédéric Péters 2015-03-05 16:02:32 +01:00
parent b6f397d599
commit 961c3c2ac9
1 changed files with 25 additions and 5 deletions

View File

@ -45,16 +45,36 @@ class AddBasketItemApiView(View):
return super(AddBasketItemApiView, self).dispatch(*args, **kwargs)
def post(self, request, *args, **kwargs):
# XXX: check request signature
request_body = json.loads(self.request.body)
item = BasketItem()
item.amount = Decimal(request.GET.get('amount'))
# XXX: fill with real values
item.user = User.objects.all()[0]
item.regie = Regie.objects.all()[0]
item.subject = 'foo'
item.source_url = 'http://www.example.net'
try:
if request.GET.get('NameId'):
user = User.objects.get(username=request.GET.get('NameId'))
elif request.GET.get('email'):
user = User.objects.get(email=request.GET.get('email'))
else:
raise Exception('no user specified')
except User.DoesNotExist:
raise Exception('unknown user')
item.user = user
if request.GET.get('regie_id'):
item.regie = Regie.objects.get(id=request.GET.get('regie_id'))
else:
# if there's no regie specified, use the first one we get from the
# database...
item.regie = Regie.objects.all()[0]
item.subject = request_body.get('display_name')
item.source_url = request_body.get('url')
item.save()
response = HttpResponse(content_type='application/json')
response.write(json.dumps({'result': 'success'}))
return response