3030 RangeFilter ,
3131)
3232from django_filters import rest_framework as filters
33- from django_filters .filters import ChoiceFilter , _truncate
33+ from django_filters .filters import ChoiceFilter
3434from drf_spectacular .types import OpenApiTypes
3535from drf_spectacular .utils import extend_schema_field
3636from polymorphic .base import ManagerInheritanceWarning
9292from dojo .risk_acceptance .queries import get_authorized_risk_acceptances
9393from dojo .test .queries import get_authorized_tests
9494from dojo .user .queries import get_authorized_users
95- from dojo .utils import get_system_setting , is_finding_groups_enabled
95+ from dojo .utils import get_system_setting , is_finding_groups_enabled , truncate_timezone_aware
9696
9797logger = logging .getLogger (__name__ )
9898
@@ -194,8 +194,8 @@ def filter(self, qs, value):
194194 if earliest_finding is not None :
195195 start_date = datetime .combine (
196196 earliest_finding .date , datetime .min .time ()).replace (tzinfo = tzinfo ())
197- self .start_date = _truncate (start_date - timedelta (days = 1 ))
198- self .end_date = _truncate (now () + timedelta (days = 1 ))
197+ self .start_date = truncate_timezone_aware (start_date - timedelta (days = 1 ))
198+ self .end_date = truncate_timezone_aware (now () + timedelta (days = 1 ))
199199 try :
200200 value = int (value )
201201 except (ValueError , TypeError ):
@@ -654,16 +654,16 @@ class DateRangeFilter(ChoiceFilter):
654654 f"{ name } __day" : now ().day ,
655655 })),
656656 2 : (_ ("Past 7 days" ), lambda qs , name : qs .filter (** {
657- f"{ name } __gte" : _truncate (now () - timedelta (days = 7 )),
658- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
657+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 7 )),
658+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
659659 })),
660660 3 : (_ ("Past 30 days" ), lambda qs , name : qs .filter (** {
661- f"{ name } __gte" : _truncate (now () - timedelta (days = 30 )),
662- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
661+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 30 )),
662+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
663663 })),
664664 4 : (_ ("Past 90 days" ), lambda qs , name : qs .filter (** {
665- f"{ name } __gte" : _truncate (now () - timedelta (days = 90 )),
666- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
665+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 90 )),
666+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
667667 })),
668668 5 : (_ ("Current month" ), lambda qs , name : qs .filter (** {
669669 f"{ name } __year" : now ().year ,
@@ -673,8 +673,8 @@ class DateRangeFilter(ChoiceFilter):
673673 f"{ name } __year" : now ().year ,
674674 })),
675675 7 : (_ ("Past year" ), lambda qs , name : qs .filter (** {
676- f"{ name } __gte" : _truncate (now () - timedelta (days = 365 )),
677- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
676+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 365 )),
677+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
678678 })),
679679 }
680680
@@ -700,43 +700,43 @@ class DateRangeOmniFilter(ChoiceFilter):
700700 f"{ name } __day" : now ().day ,
701701 })),
702702 2 : (_ ("Next 7 days" ), lambda qs , name : qs .filter (** {
703- f"{ name } __gte" : _truncate (now () + timedelta (days = 1 )),
704- f"{ name } __lt" : _truncate (now () + timedelta (days = 7 )),
703+ f"{ name } __gte" : truncate_timezone_aware (now () + timedelta (days = 1 )),
704+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 7 )),
705705 })),
706706 3 : (_ ("Next 30 days" ), lambda qs , name : qs .filter (** {
707- f"{ name } __gte" : _truncate (now () + timedelta (days = 1 )),
708- f"{ name } __lt" : _truncate (now () + timedelta (days = 30 )),
707+ f"{ name } __gte" : truncate_timezone_aware (now () + timedelta (days = 1 )),
708+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 30 )),
709709 })),
710710 4 : (_ ("Next 90 days" ), lambda qs , name : qs .filter (** {
711- f"{ name } __gte" : _truncate (now () + timedelta (days = 1 )),
712- f"{ name } __lt" : _truncate (now () + timedelta (days = 90 )),
711+ f"{ name } __gte" : truncate_timezone_aware (now () + timedelta (days = 1 )),
712+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 90 )),
713713 })),
714714 5 : (_ ("Past 7 days" ), lambda qs , name : qs .filter (** {
715- f"{ name } __gte" : _truncate (now () - timedelta (days = 7 )),
716- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
715+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 7 )),
716+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
717717 })),
718718 6 : (_ ("Past 30 days" ), lambda qs , name : qs .filter (** {
719- f"{ name } __gte" : _truncate (now () - timedelta (days = 30 )),
720- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
719+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 30 )),
720+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
721721 })),
722722 7 : (_ ("Past 90 days" ), lambda qs , name : qs .filter (** {
723- f"{ name } __gte" : _truncate (now () - timedelta (days = 90 )),
724- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
723+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 90 )),
724+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
725725 })),
726726 8 : (_ ("Current month" ), lambda qs , name : qs .filter (** {
727727 f"{ name } __year" : now ().year ,
728728 f"{ name } __month" : now ().month ,
729729 })),
730730 9 : (_ ("Past year" ), lambda qs , name : qs .filter (** {
731- f"{ name } __gte" : _truncate (now () - timedelta (days = 365 )),
732- f"{ name } __lt" : _truncate (now () + timedelta (days = 1 )),
731+ f"{ name } __gte" : truncate_timezone_aware (now () - timedelta (days = 365 )),
732+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 1 )),
733733 })),
734734 10 : (_ ("Current year" ), lambda qs , name : qs .filter (** {
735735 f"{ name } __year" : now ().year ,
736736 })),
737737 11 : (_ ("Next year" ), lambda qs , name : qs .filter (** {
738- f"{ name } __gte" : _truncate (now () + timedelta (days = 1 )),
739- f"{ name } __lt" : _truncate (now () + timedelta (days = 365 )),
738+ f"{ name } __gte" : truncate_timezone_aware (now () + timedelta (days = 1 )),
739+ f"{ name } __lt" : truncate_timezone_aware (now () + timedelta (days = 365 )),
740740 })),
741741 }
742742
@@ -818,8 +818,8 @@ def any(self, qs, name):
818818 if earliest_finding is not None :
819819 start_date = datetime .combine (
820820 earliest_finding .date , datetime .min .time ()).replace (tzinfo = tzinfo ())
821- self .start_date = _truncate (start_date - timedelta (days = 1 ))
822- self .end_date = _truncate (now () + timedelta (days = 1 ))
821+ self .start_date = truncate_timezone_aware (start_date - timedelta (days = 1 ))
822+ self .end_date = truncate_timezone_aware (now () + timedelta (days = 1 ))
823823 return qs .all ()
824824 return None
825825
@@ -839,8 +839,8 @@ def current_year(self, qs, name):
839839 })
840840
841841 def past_x_days (self , qs , name , days ):
842- self .start_date = _truncate (now () - timedelta (days = days ))
843- self .end_date = _truncate (now () + timedelta (days = 1 ))
842+ self .start_date = truncate_timezone_aware (now () - timedelta (days = days ))
843+ self .end_date = truncate_timezone_aware (now () + timedelta (days = 1 ))
844844 return qs .filter (** {
845845 f"{ name } __gte" : self .start_date ,
846846 f"{ name } __lt" : self .end_date ,
@@ -884,8 +884,8 @@ def filter(self, qs, value):
884884 if earliest_finding is not None :
885885 start_date = datetime .combine (
886886 earliest_finding .date , datetime .min .time ()).replace (tzinfo = tzinfo ())
887- self .start_date = _truncate (start_date - timedelta (days = 1 ))
888- self .end_date = _truncate (now () + timedelta (days = 1 ))
887+ self .start_date = truncate_timezone_aware (start_date - timedelta (days = 1 ))
888+ self .end_date = truncate_timezone_aware (now () + timedelta (days = 1 ))
889889 try :
890890 value = int (value )
891891 except (ValueError , TypeError ):
0 commit comments