Skip to content
Snippets Groups Projects
Commit ee0d2d18 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

Merge branch 'SDC-512-consistent-filtering' into 'master'

SDC-512 - improving filter mechanism

See merge request !249
parents 04b5da72 91ba2f7a
No related branches found
No related tags found
2 merge requests!250Master,!249SDC-512 - improving filter mechanism
Pipeline #29452 passed
...@@ -401,6 +401,7 @@ class ShowFailuresPage(ListView): ...@@ -401,6 +401,7 @@ class ShowFailuresPage(ListView):
# this provides a broad range of filters for the search_box in the GUI # this provides a broad range of filters for the search_box in the GUI
def get_filtered_tasks(request, pre_filtered_tasks=None): def get_filtered_tasks(request, pre_filtered_tasks=None):
filtered_tasks=[] filtered_tasks=[]
filtered_tasks_as_list = None
try: try:
my_sort = request.session['sort'] my_sort = request.session['sort']
...@@ -408,7 +409,11 @@ def get_filtered_tasks(request, pre_filtered_tasks=None): ...@@ -408,7 +409,11 @@ def get_filtered_tasks(request, pre_filtered_tasks=None):
my_sort = '-creationTime' my_sort = '-creationTime'
# if there is already a 'filtered_tasks_as_list' on the session, then show that. # if there is already a 'filtered_tasks_as_list' on the session, then show that.
try:
filtered_tasks_as_list = request.session['filtered_tasks_as_list'] filtered_tasks_as_list = request.session['filtered_tasks_as_list']
except:
pass
if filtered_tasks_as_list: if filtered_tasks_as_list:
if pre_filtered_tasks: if pre_filtered_tasks:
filtered_tasks = pre_filtered_tasks.filter(id__in=filtered_tasks_as_list) filtered_tasks = pre_filtered_tasks.filter(id__in=filtered_tasks_as_list)
...@@ -421,17 +426,23 @@ def get_filtered_tasks(request, pre_filtered_tasks=None): ...@@ -421,17 +426,23 @@ def get_filtered_tasks(request, pre_filtered_tasks=None):
filtered_tasks = Task.objects.all() filtered_tasks = Task.objects.all()
# check if there is a status filter active # check if there is a status filter active
try:
status_filter = request.session['task_filter'] status_filter = request.session['task_filter']
if status_filter != 'all': if status_filter != 'all':
if type(status_filter) is list: if type(status_filter) is list:
filtered_tasks = filtered_tasks.filter(status__in=status_filter) filtered_tasks = filtered_tasks.filter(status__in=status_filter)
else: else:
filtered_tasks = filtered_tasks.filter(status__icontains=status_filter) filtered_tasks = filtered_tasks.filter(status__icontains=status_filter)
except:
pass
# check if the on_hold filter is active # check if the on_hold filter is active
try:
onhold = request.session['task_onhold_filter'] onhold = request.session['task_onhold_filter']
if onhold != None: if onhold != None:
filtered_tasks = filtered_tasks.filter(resume=not onhold) filtered_tasks = filtered_tasks.filter(resume=not onhold)
except:
pass
search = request.GET.get('search_box', None) search = request.GET.get('search_box', None)
if (search is not None): if (search is not None):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment