Changed incorrect use of 404 status code in api to 400. Fixes issue #2498.

- Legacy-Id: 15044
This commit is contained in:
Henrik Levkowetz 2018-04-13 11:11:48 +00:00
parent 760a14ba73
commit a9fbea113b
5 changed files with 10 additions and 10 deletions

View file

@ -95,11 +95,11 @@ class CustomApiTestCase(TestCase):
r = self.client.post(url, {'apikey': apikey.hash(), 'meeting': '1', 'group': group.acronym,
'item': '1', 'url': video, })
self.assertContains(r, "No sessions found for meeting", status_code=404)
self.assertContains(r, "No sessions found for meeting", status_code=400)
r = self.client.post(url, {'apikey': apikey.hash(), 'meeting': meeting.number, 'group': 'bogous',
'item': '1', 'url': video, })
self.assertContains(r, "No sessions found in meeting '%s' for group 'bogous'"%meeting.number, status_code=404)
self.assertContains(r, "No sessions found in meeting '%s' for group 'bogous'"%meeting.number, status_code=400)
r = self.client.post(url, {'apikey': apikey.hash(), 'meeting': meeting.number, 'group': group.acronym,
'item': '1', 'url': "foobar", })

View file

@ -259,7 +259,7 @@ def api_set_position(request):
try:
doc = Document.objects.get(docalias__name=name)
except Document.DoesNotExist:
return err(404, "Document not found")
return err(400, "Document not found")
position_names = BallotPositionName.objects.values_list('slug', flat=True)
position = request.POST.get('position')
if not position:
@ -268,7 +268,7 @@ def api_set_position(request):
return err(400, "Bad position name, must be one of: %s " % ','.join(position_names))
ballot = doc.active_ballot()
if not ballot:
return err(404, "No open ballot found")
return err(400, "No open ballot found")
form = EditPositionForm(request.POST, ballot_type=ballot.ballot_type)
if form.is_valid():
save_position(form, doc, ballot, ad)

View file

@ -2205,11 +2205,11 @@ def api_set_session_video_url(request):
number = request.POST.get('meeting')
sessions = Session.objects.filter(meeting__number=number)
if not sessions.exists():
return err(404, "No sessions found for meeting '%s'" % (number, ))
return err(400, "No sessions found for meeting '%s'" % (number, ))
acronym = request.POST.get('group')
sessions = sessions.filter(group__acronym=acronym)
if not sessions.exists():
return err(404, "No sessions found in meeting '%s' for group '%s'" % (number, acronym))
return err(400, "No sessions found in meeting '%s' for group '%s'" % (number, acronym))
session_times = [ (s.official_timeslotassignment().timeslot.time, s) for s in sessions ]
session_times.sort()
item = request.POST.get('item')

View file

@ -1630,14 +1630,14 @@ class ApiSubmitTests(TestCase):
email='nonexistant.user@example.org'
r, author, name = self.post_submission('00', email=email)
expected = "No such user: %s" % email
self.assertContains(r, expected, status_code=404)
self.assertContains(r, expected, status_code=400)
def test_api_submit_no_person(self):
user = UserFactory()
email = user.username
r, author, name = self.post_submission('00', email=email)
expected = "No person with username %s" % email
self.assertContains(r, expected, status_code=404)
self.assertContains(r, expected, status_code=400)
def test_api_submit_wrong_revision(self):
r, author, name = self.post_submission('01')

View file

@ -92,12 +92,12 @@ def api_submit(request):
username = form.cleaned_data['user']
user = User.objects.filter(username=username)
if user.count() == 0:
return err(404, "No such user: %s" % username)
return err(400, "No such user: %s" % username)
if user.count() > 1:
return err(500, "Multiple matching accounts for %s" % username)
user = user.first()
if not hasattr(user, 'person'):
return err(404, "No person with username %s" % username)
return err(400, "No person with username %s" % username)
authors, abstract, file_name, file_size = get_draft_meta(form)
for a in authors: