diff --git a/lute/templates/term/index.html b/lute/templates/term/index.html
index 710c35931..34257be35 100644
--- a/lute/templates/term/index.html
+++ b/lute/templates/term/index.html
@@ -38,23 +38,23 @@
Status range |
to
|
@@ -344,9 +344,6 @@
store = JSON.parse(fs);
$('#filterControls').css('display', store.filtDisplay);
- if (store.filtDisplay == 'none')
- return;
-
$('#showHideFilters').prop('src', "{{ url_for('static', filename='icn/minus-button.png') }}");
$('#filtLanguage').val(parseInt(store.filtLanguage ?? '0'));
$('#filtParentsOnly').prop('checked', store.filtParentsOnly ?? false);
@@ -354,8 +351,8 @@
$('#filtAgeMin').val(parseInt(store.filtAgeMin));
if ((store.filtAgeMax ?? '') != '')
$('#filtAgeMax').val(parseInt(store.filtAgeMax));
- $('#filtStatusMin').val(parseInt(store.filtStatusMin));
- $('#filtStatusMax').val(parseInt(store.filtStatusMax));
+ $('#filtStatusMin').val(parseInt(store.filtStatusMin ?? '1'));
+ $('#filtStatusMax').val(parseInt(store.filtStatusMax ?? '99'));
$('#filtIncludeIgnored').prop('checked', store.filtIncludeIgnored);
};
@@ -364,8 +361,7 @@
const is_hidden = (fc.css('display') == 'none');
const new_src = is_hidden ? "{{ url_for('static', filename='icn/minus-button.png') }}" : "{{ url_for('static', filename='icn/plus-button.png') }}";
$('#showHideFilters').prop('src', new_src);
- if (! is_hidden)
- handle_clear_filters();
+ handle_clear_filters();
fc.css('display', is_hidden ? 'block' : 'none');
handle_filter_update();
};
@@ -375,8 +371,8 @@
$('#filtParentsOnly').prop('checked', false);
$('#filtAgeMin').val('');
$('#filtAgeMax').val('');
- $('#filtStatusMin').val(0);
- $('#filtStatusMax').val(0);
+ $('#filtStatusMin').val(1);
+ $('#filtStatusMax').val(99);
$('#filtIncludeIgnored').prop('checked', false);
handle_filter_update();
};
diff --git a/lute/term/datatables.py b/lute/term/datatables.py
index 36b82161f..09bc48ed6 100644
--- a/lute/term/datatables.py
+++ b/lute/term/datatables.py
@@ -78,17 +78,15 @@ def get_data_tables_list(parameters, session):
if age_max:
wheres.append(f"{sql_age_calc} <= {int(age_max)}")
- status_wheres = ["StID not in (0, 98)"]
- status_min = int(parameters["filtStatusMin"])
- status_max = int(parameters["filtStatusMax"])
- if status_min > 0:
- status_wheres.append(f"StID >= {status_min}")
- if status_max > 0:
- status_wheres.append(f"StID <= {status_max}")
- status_wheres = " AND ".join(status_wheres)
+ st_range = ["StID != 98"]
+ status_min = int(parameters.get("filtStatusMin", "0"))
+ status_max = int(parameters.get("filtStatusMax", "99"))
+ st_range.append(f"StID >= {status_min}")
+ st_range.append(f"StID <= {status_max}")
+ st_where = " AND ".join(st_range)
if parameters["filtIncludeIgnored"] == "true":
- status_wheres = f"({status_wheres} OR StID = 98)"
- wheres.append(status_wheres)
+ st_where = f"({st_where} OR StID = 98)"
+ wheres.append(st_where)
# Phew.
return DataTablesSqliteQuery.get_data(
diff --git a/tests/acceptance/lute_test_client.py b/tests/acceptance/lute_test_client.py
index f1f16d68a..7ac148174 100644
--- a/tests/acceptance/lute_test_client.py
+++ b/tests/acceptance/lute_test_client.py
@@ -259,7 +259,9 @@ def get_term_table_content(self):
self.visit("/")
self.browser.find_by_css("#menu_terms").mouse_over()
self.browser.find_by_id("term_index").first.click()
- css = "#termtable tbody tr"
+
+ # clear any filters!
+ self.browser.find_by_id("showHideFilters").first.click()
# The last column of the table is the "date added", but that's
# a hassle to check, so ignore it.
@@ -271,8 +273,10 @@ def _to_string(row):
return ret
return "; ".join(rowtext[:-1]).strip()
+ css = "#termtable tbody tr"
rows = list(self.browser.find_by_css(css))
- return "\n".join([_to_string(row) for row in rows])
+ rowstring = [_to_string(row) for row in rows]
+ return "\n".join(rowstring)
################################3
# Reading/rendering