Skip to content
Snippets Groups Projects
Commit 451351f4 authored by Odin Johan Vatne's avatar Odin Johan Vatne
Browse files

Fix security of update_priorities endpoint

parent 45c53f2c
No related branches found
No related tags found
No related merge requests found
......@@ -267,23 +267,33 @@ def update_priorities(request):
'''
if request.method == 'POST':
post_request = request.POST
errors = []
for field in post_request:
if field.startswith("priority"):
application_id = post_request[field]
priority = int(field.replace("priority", "", 1))
application = None
if application_id != '':
application = Application.objects.get(pk=application_id)
if application.student != request.user:
errors.append(f"Application with priority {priority} did not belong to you.")
continue
duplicate_priority_applications = Application.objects.filter(
priority=priority)
student=request.user, priority=priority)
for application in duplicate_priority_applications:
application.priority = None
application.save()
if application_id == '':
continue
application = Application.objects.get(pk=application_id)
if application is not None:
application.priority = priority
application.save()
if errors:
return HttpResponseForbidden("\n".join(errors))
return redirect("/applications/")
else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment