@@ -162,39 +162,45 @@ def get_success_url(self):
162162 return reverse ("htmx:filter-list" )
163163
164164
165+ # Not a view!
165166def incident_list_filter (request , qs , use_empty_filter = False ):
166167 LOG = logging .getLogger (__name__ + ".incident_list_filter" )
167- LOG .debug ("GET at start: %s" , request .GET )
168- filter_pk , filter_obj = request .session .get ("selected_filter" , None ), None
168+ LOG .debug ("GET: %s" , request .GET )
169+
170+ filter_pk = request .session .get ("selected_filter_pk" , None )
171+ converted_filterblob = {}
169172 if filter_pk :
170173 filter_obj = Filter .objects .get (pk = filter_pk )
171- if filter_obj :
172- form = IncidentFilterForm (_convert_filterblob (filter_obj .filter ))
173- LOG .debug ("using stored filter: %s" , filter_obj .filter )
174- else :
175- if request .method == "POST" :
176- form = IncidentFilterForm (request .POST )
177- LOG .debug ("using POST: %s" , request .POST )
178- else :
179- if use_empty_filter :
180- filterblob = IncidentFilterForm .EMPTY_FILTERBLOB
181- form = IncidentFilterForm (filterblob )
182- LOG .debug ("using empty filter: %s" , filterblob )
183- else :
184- form = IncidentFilterForm (request .GET or None )
185- LOG .debug ("using GET: %s" , request .GET )
174+ LOG .debug ('found stored filter "%s": %s' , filter_obj .name , filter_obj .filter )
175+ converted_filterblob = _convert_filterblob (filter_obj .filter )
176+
177+ if converted_filterblob :
178+ form_data = converted_filterblob
179+ LOG .debug ("using converted stored filter: %s" , form_data )
180+ elif request .POST :
181+ form_data = request .POST
182+ LOG .debug ("using POST: %s" , form_data )
183+ elif use_empty_filter :
184+ form_data = IncidentFilterForm .EMPTY_FILTERBLOB
185+ LOG .debug ("using empty filter: %s" , form_data )
186+ else : # request.GET
187+ form_data = request .GET or None
188+ LOG .debug ("using GET: %s" , form_data )
189+
190+ form = IncidentFilterForm (form_data )
191+ form .is_valid () # fill cleaned_data
192+ if use_empty_filter :
193+ return form , qs
186194
187195 if form .is_valid ():
188- LOG .debug ("Cleaned data: %s" , form .cleaned_data )
196+ LOG .debug ("Cleaned data: %s, getting query set " , form .cleaned_data )
189197 filterblob = form .to_filterblob ()
198+ LOG .debug ("using filterblob: %s" , filterblob )
190199 qs = QuerySetFilter .filtered_incidents (filterblob , qs )
191200 else :
192- if not request .GET :
193- LOG .debug ("empty form" )
194- else :
195- LOG .debug ("Dirty form: %s" , form .errors )
196- for field , error_messages in form .errors .items ():
197- messages .error (request , f"{ field } : { ',' .join (error_messages )} " )
201+ LOG .debug ("Dirty form: %s" , form .errors )
202+ for field , error_messages in form .errors .items ():
203+ messages .error (request , f"{ field } : { ',' .join (error_messages )} " )
198204 return form , qs
199205
200206
0 commit comments