fill basket item with details from request
This commit is contained in:
parent
b6f397d599
commit
961c3c2ac9
|
@ -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
|
||||
|
|
Reference in New Issue