|
17 | 17 | PROJECT_STATUS_CHOICES, |
18 | 18 | Project, |
19 | 19 | ) |
20 | | -from .models.report import Report |
21 | 20 |
|
22 | 21 | User = get_user_model() |
23 | 22 |
|
@@ -78,51 +77,3 @@ def filter_reporting(self, queryset, name, value): |
78 | 77 | Q(outstanding_reports__lt=1) | Q(outstanding_reports__isnull=True), |
79 | 78 | status__in=(INVOICING_AND_REPORTING, CLOSING), |
80 | 79 | ) |
81 | | - |
82 | | - |
83 | | -class DateRangeInputWidget(filters.widgets.SuffixedMultiWidget): |
84 | | - template_name = "application_projects/filters/widgets/date_range_input_widget.html" |
85 | | - suffixes = ["after", "before"] |
86 | | - |
87 | | - def __init__(self, attrs=None): |
88 | | - widgets = (forms.DateInput, forms.DateInput) |
89 | | - super().__init__(widgets, attrs) |
90 | | - |
91 | | - def decompress(self, value): |
92 | | - if value: |
93 | | - return [value.start, value.stop] |
94 | | - return [None, None] |
95 | | - |
96 | | - |
97 | | -class ReportingFilter(filters.FilterSet): |
98 | | - current_report_status = MultipleChoiceFilter( |
99 | | - label=_("Status"), |
100 | | - choices=[ |
101 | | - ("Not started", "Not started"), |
102 | | - ("In progress", "In progress"), |
103 | | - ("Submitted", "Submitted"), |
104 | | - ], |
105 | | - ) |
106 | | - |
107 | | - |
108 | | -class ReportListFilter(filters.FilterSet): |
109 | | - reporting_period = filters.DateFromToRangeFilter( |
110 | | - label=_("Reporting Period"), |
111 | | - method="filter_reporting_period", |
112 | | - widget=DateRangeInputWidget, |
113 | | - ) |
114 | | - submitted = filters.DateFromToRangeFilter(widget=DateRangeInputWidget) |
115 | | - |
116 | | - class Meta: |
117 | | - model = Report |
118 | | - fields = ["submitted"] |
119 | | - |
120 | | - def filter_reporting_period(self, queryset, name, value): |
121 | | - after, before = value.start, value.stop |
122 | | - q = {} |
123 | | - if after: |
124 | | - q["start__gte"] = after |
125 | | - if before: |
126 | | - q["end_date__lte"] = before |
127 | | - |
128 | | - return queryset.filter(**q) |
0 commit comments