@@ -538,7 +538,9 @@ def get_similar_findings(self, request: HttpRequest, finding: Finding):
538538 finding_filter_class = SimilarFindingFilterWithoutObjectLookups if filter_string_matching else SimilarFindingFilter
539539 similar_findings_filter = finding_filter_class (
540540 request .GET ,
541- queryset = get_authorized_findings (Permissions .Finding_View ),
541+ queryset = get_authorized_findings (Permissions .Finding_View )
542+ .filter (test__engagement__product = finding .test .engagement .product )
543+ .exclude (id = finding .id ),
542544 user = request .user ,
543545 finding = finding ,
544546 )
@@ -2970,7 +2972,10 @@ def get_missing_mandatory_notetypes(finding):
29702972def mark_finding_duplicate (request , original_id , duplicate_id ):
29712973
29722974 original = get_object_or_404 (Finding , id = original_id )
2973- duplicate = get_object_or_404 (Finding , id = duplicate_id )
2975+ duplicate = get_object_or_404 (
2976+ Finding .objects .filter (test__engagement__product = original .test .engagement .product ),
2977+ id = duplicate_id ,
2978+ )
29742979
29752980 if original .test .engagement != duplicate .test .engagement :
29762981 if (original .test .engagement .deduplication_on_engagement
@@ -3055,7 +3060,10 @@ def reset_finding_duplicate_status(request, duplicate_id):
30553060
30563061def set_finding_as_original_internal (user , finding_id , new_original_id ):
30573062 finding = get_object_or_404 (Finding , id = finding_id )
3058- new_original = get_object_or_404 (Finding , id = new_original_id )
3063+ new_original = get_object_or_404 (
3064+ Finding .objects .filter (test__engagement__product = finding .test .engagement .product ),
3065+ id = new_original_id ,
3066+ )
30593067
30603068 if finding .test .engagement != new_original .test .engagement :
30613069 if (finding .test .engagement .deduplication_on_engagement
0 commit comments