Skip to content

Commit 00c1c38

Browse files
committed
Add validation for member_id in invoice preview view
1 parent d659013 commit 00c1c38

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

invoicing/views.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from django.core.exceptions import PermissionDenied
66
from django.db.models import Max, Sum
7-
from django.http import HttpResponse
7+
from django.http import HttpResponse, HttpResponseBadRequest
88
from django.shortcuts import render, redirect
99
from django.utils import timezone
1010

@@ -97,14 +97,18 @@ def preview(request):
9797
elif request.method == 'GET':
9898
member_id = request.GET.get('member_id', None)
9999

100-
if not member_id:
101-
return render(request, 'preview_invoice.html', {'choice_member': choice_member})
100+
if member_id:
101+
if not choice_member.filter(pk=member_id).exists():
102+
return HttpResponseBadRequest('Invalid member_id or not usages for this member')
102103

103-
else:
104104
result = prepare_invoice(member_id)
105105
result['choice_member'] = choice_member
106106
return render(request, 'preview_invoice.html', result)
107107

108+
else:
109+
return render(request, 'preview_invoice.html', {'choice_member': choice_member})
110+
111+
108112

109113
def create(request):
110114
if not request.user.is_staff:

0 commit comments

Comments
 (0)