27
27
ClosedFingingSuperFilter , TemplateFindingFilter
28
28
from dojo .forms import NoteForm , CloseFindingForm , FindingForm , PromoteFindingForm , FindingTemplateForm , \
29
29
DeleteFindingTemplateForm , FindingImageFormSet , JIRAFindingForm , ReviewFindingForm , ClearFindingReviewForm , \
30
- DefectFindingForm , StubFindingForm , ApplyFindingTemplateForm
30
+ DefectFindingForm , StubFindingForm , DeleteFindingForm , DeleteStubFindingForm , ApplyFindingTemplateForm
31
31
from dojo .models import Product_Type , Finding , Notes , \
32
32
Risk_Acceptance , BurpRawRequestResponse , Stub_Finding , Endpoint , Finding_Template , FindingImage , \
33
33
FindingImageAccessToken , JIRA_Issue , JIRA_PKey , JIRA_Conf , Dojo_User , Cred_User , Cred_Mapping , Test
@@ -322,19 +322,30 @@ def reopen_finding(request, fid):
322
322
extra_tags = 'alert-success' )
323
323
return HttpResponseRedirect (reverse ('view_finding' , args = (finding .id ,)))
324
324
325
-
326
325
@user_passes_test (lambda u : u .is_staff )
327
326
def delete_finding (request , fid ):
328
327
finding = get_object_or_404 (Finding , id = fid )
329
- tid = finding .test .id
330
- del finding .tags
331
- finding .delete ()
332
- messages .add_message (request ,
333
- messages .SUCCESS ,
334
- 'Finding deleted successfully.' ,
335
- extra_tags = 'alert-success' )
336
- return HttpResponseRedirect (reverse ('view_test' , args = (tid ,)))
337
328
329
+ form = DeleteFindingForm (instance = finding )
330
+
331
+ if request .method == 'POST' :
332
+ form = DeleteFindingForm (request .POST , instance = finding )
333
+ if form .is_valid ():
334
+ tid = finding .test .id
335
+ del finding .tags
336
+ finding .delete ()
337
+ messages .add_message (request ,
338
+ messages .SUCCESS ,
339
+ 'Finding deleted successfully.' ,
340
+ extra_tags = 'alert-success' )
341
+ return HttpResponseRedirect (reverse ('view_test' , args = (tid ,)))
342
+ else :
343
+ messages .add_message (request ,
344
+ messages .ERROR ,
345
+ 'Unable to delete finding, please try again.' ,
346
+ extra_tags = 'alert-danger' )
347
+ else :
348
+ return HttpResponseForbidden ()
338
349
339
350
@user_passes_test (lambda u : u .is_staff )
340
351
def edit_finding (request , fid ):
@@ -697,20 +708,30 @@ def add_stub_finding(request, tid):
697
708
add_breadcrumb (title = "Add Stub Finding" , top_level = False , request = request )
698
709
return HttpResponseRedirect (reverse ('view_test' , args = (tid ,)))
699
710
700
-
701
711
@user_passes_test (lambda u : u .is_staff )
702
712
def delete_stub_finding (request , fid ):
703
713
finding = get_object_or_404 (Stub_Finding , id = fid )
704
- tid = finding .test .id
705
- if hasattr (finding , 'tags' ):
706
- del finding .tags
707
- finding .delete ()
708
- messages .add_message (request ,
709
- messages .SUCCESS ,
710
- 'Potential Finding deleted successfully.' ,
711
- extra_tags = 'alert-success' )
712
- return HttpResponseRedirect (reverse ('view_test' , args = (tid ,)))
714
+ form = DeleteStubFindingForm (instance = finding )
713
715
716
+ if request .method == 'POST' :
717
+ form = DeleteStubFindingForm (request .POST , instance = finding )
718
+ if form .is_valid ():
719
+ tid = finding .test .id
720
+ if hasattr (finding , 'tags' ):
721
+ del finding .tags
722
+ finding .delete ()
723
+ messages .add_message (request ,
724
+ messages .SUCCESS ,
725
+ 'Potential Finding deleted successfully.' ,
726
+ extra_tags = 'alert-success' )
727
+ return HttpResponseRedirect (reverse ('view_test' , args = (tid ,)))
728
+ else :
729
+ messages .add_message (request ,
730
+ messages .ERROR ,
731
+ 'Unable to delete potential finding, please try again.' ,
732
+ extra_tags = 'alert-danger' )
733
+ else :
734
+ return HttpResponseForbidden ()
714
735
715
736
@user_passes_test (lambda u : u .is_staff )
716
737
def promote_to_finding (request , fid ):
@@ -725,7 +746,7 @@ def promote_to_finding(request, fid):
725
746
jira_available = True
726
747
else :
727
748
jform = None
728
-
749
+
729
750
form = PromoteFindingForm (initial = {'title' : finding .title ,
730
751
'date' : finding .date ,
731
752
'severity' : finding .severity ,
0 commit comments