lingo: fix add basket item view when display_name is missing (#42621)

This commit is contained in:
Lauréline Guérin 2020-05-11 10:04:59 +02:00
parent 35c8d05564
commit ee1b833ef4
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 13 additions and 1 deletions

View File

@ -141,6 +141,9 @@ class AddBasketItemApiView(View):
not 'amount' in extra:
return HttpResponseBadRequest('missing amount parameter')
if 'display_name' not in request_body:
return HttpResponseBadRequest('missing display_name parameter')
item = BasketItem(amount=0)
try:
item.amount = self.get_amount(request.GET.getlist('amount'))
@ -197,7 +200,7 @@ class AddBasketItemApiView(View):
if request.GET.get('cancellable') == 'no':
item.user_cancellable = False
item.subject = request_body.get('display_name')
item.subject = request_body['display_name']
item.source_url = request_body.get('url') or ''
if 'capture_date' in request_body:

View File

@ -410,6 +410,15 @@ def test_add_basket_item_with_remote_regie(app, user, remote_regie):
assert 'Can not add a basket item to a remote regie.' in resp.text
def test_add_basket_item_without_display_name(app, user, regie):
data = {'amount': '42',
'url': 'http://example.com'}
url = '%s?email=%s&orig=wcs' % (reverse('api-add-basket-item'), user.email)
url = sign_url(url, settings.LINGO_API_SIGN_KEY)
resp = app.post_json(url, params=data, status=400)
assert 'missing display_name parameter' in resp.text
def test_cant_pay_if_different_capture_date(app, basket_page, regie, user):
capture1 = (timezone.now() + timedelta(days=1)).date()
capture2 = (timezone.now() + timedelta(days=2)).date()