diff --git a/dojo/api_v2/views.py b/dojo/api_v2/views.py index 9676983684d..384fc91c973 100644 --- a/dojo/api_v2/views.py +++ b/dojo/api_v2/views.py @@ -503,6 +503,10 @@ def notes(self, request, pk=None): new_note.errors, status=status.HTTP_400_BAD_REQUEST, ) + notes = engagement.notes.filter(note_type=note_type).first() + if notes and note_type and note_type.is_single: + return Response("Only one instance of this note_type allowed on an engagement.", status=status.HTTP_400_BAD_REQUEST) + author = request.user note = Notes( entry=entry, @@ -1078,6 +1082,11 @@ def notes(self, request, pk=None): new_note.errors, status=status.HTTP_400_BAD_REQUEST, ) + if finding.notes: + notes = finding.notes.filter(note_type=note_type).first() + if notes and note_type and note_type.is_single: + return Response("Only one instance of this note_type allowed on a finding.", status=status.HTTP_400_BAD_REQUEST) + author = request.user note = Notes( entry=entry, @@ -2131,6 +2140,10 @@ def notes(self, request, pk=None): new_note.errors, status=status.HTTP_400_BAD_REQUEST, ) + notes = test.notes.filter(note_type=note_type).first() + if notes and note_type and note_type.is_single: + return Response("Only one instance of this note_type allowed on a test.", status=status.HTTP_400_BAD_REQUEST) + author = request.user note = Notes( entry=entry,