diff --git a/changelog.d/+shrink-stored-filter-widget.changed.md b/changelog.d/+shrink-stored-filter-widget.changed.md new file mode 100644 index 000000000..bb7a0b14e --- /dev/null +++ b/changelog.d/+shrink-stored-filter-widget.changed.md @@ -0,0 +1 @@ +Made the controls for storing filters take up less horizontal space. diff --git a/src/argus/htmx/incident/filter.py b/src/argus/htmx/incident/filter.py index c7f06753c..dfb94d21c 100644 --- a/src/argus/htmx/incident/filter.py +++ b/src/argus/htmx/incident/filter.py @@ -15,6 +15,9 @@ QuerySetFilter = filter_backend.QuerySetFilter LOG = logging.getLogger(__name__) +MIN_LEVEL = min(Level).value +MAX_LEVEL = max(Level).value + class RangeInput(forms.NumberInput): template_name = "django/forms/widgets/range.html" @@ -78,9 +81,9 @@ class IncidentFilterForm(TagFieldMixin, forms.Form): help_text='Press "Enter" after each completed tag', ) maxlevel = forms.IntegerField( - widget=RangeInput(attrs={"step": "1", "min": min(Level).value, "max": max(Level).value}), + widget=RangeInput(attrs={"step": "1", "min": MIN_LEVEL, "max": MAX_LEVEL}), label="Level <=", - initial=max(Level).value, + initial=MAX_LEVEL, required=False, ) @@ -90,7 +93,7 @@ class IncidentFilterForm(TagFieldMixin, forms.Form): "sourceSystemIds": [], "source_types": [], "tags": [], - "maxlevel": max(Level).value, + "maxlevel": MAX_LEVEL, } def __init__(self, *args, **kwargs): @@ -148,8 +151,13 @@ def to_filterblob(self): filterblob = {} - filterblob["open"] = self._open_tristate() - filterblob["acked"] = self._acked_tristate() + open = self._open_tristate() + if open is not None: + filterblob["open"] = open + + acked = self._acked_tristate() + if acked is not None: + filterblob["acked"] = acked sourceSystemIds = self.cleaned_data.get("sourceSystemIds", []) if sourceSystemIds: @@ -190,44 +198,54 @@ def get_success_url(self): return reverse("htmx:filter-list") +# Not a view! def incident_list_filter(request, qs, use_empty_filter=False): LOG = logging.getLogger(__name__ + ".incident_list_filter") - LOG.debug("GET at start: %s", request.GET) - filter_pk, filter_obj = request.session.get("selected_filter", None), None + LOG.debug("<<<