diff --git a/python/nav/web/status2/forms.py b/python/nav/web/status2/forms.py index e41fb8f70c..a180679a19 100644 --- a/python/nav/web/status2/forms.py +++ b/python/nav/web/status2/forms.py @@ -20,14 +20,6 @@ from django import forms from django.forms.utils import pretty_name -from crispy_forms.helper import FormHelper -from crispy_forms_foundation.layout import ( - Layout, - Row, - Column, - Field, - Submit, -) from nav.models.event import EventType, AlertType from nav.models.manage import Organization, Category, NetboxGroup, Location @@ -37,6 +29,7 @@ FormRow, FormColumn, FlatFieldset, + SubmitField, ) from . import STATELESS_THRESHOLD @@ -201,72 +194,110 @@ class StatusWidgetForm(StatusPanelForm): def __init__(self, *args, **kwargs): super(StatusWidgetForm, self).__init__(*args, **kwargs) + for field_name in ( + "event_type", + "not_event_type", + "category", + "not_category", + "alert_type", + "not_alert_type", + "organization", + "not_organization", + "device_group", + "not_device_group", + "location", + "not_location", + "severity", + "not_severity", + ): + self.fields[field_name].widget.attrs.update({'class': 'select2'}) + column_class = 'medium-6' - self.helper = FormHelper() - self.helper.form_tag = False - self.helper.layout = Layout( - Row( - Column( - Field('event_type', css_class='select2'), css_class=column_class - ), - Column( - Field('not_event_type', css_class='select2'), css_class=column_class - ), - ), - Row( - Column(Field('category', css_class='select2'), css_class=column_class), - Column( - Field('not_category', css_class='select2'), css_class=column_class - ), - ), - Row( - Column( - Field('alert_type', css_class='select2'), css_class=column_class - ), - Column( - Field('not_alert_type', css_class='select2'), css_class=column_class + + self.attrs = set_flat_form_attributes( + form_fields=[ + FormRow( + fields=[ + FormColumn( + fields=[self["event_type"]], css_classes=column_class + ), + FormColumn( + fields=[self["not_event_type"]], css_classes=column_class + ), + ] ), - ), - Row( - Column( - Field('organization', css_class='select2'), css_class=column_class + FormRow( + fields=[ + FormColumn(fields=[self["category"]], css_classes=column_class), + FormColumn( + fields=[self["not_category"]], css_classes=column_class + ), + ] ), - Column( - Field('not_organization', css_class='select2'), - css_class=column_class, + FormRow( + fields=[ + FormColumn( + fields=[self["alert_type"]], css_classes=column_class + ), + FormColumn( + fields=[self["not_alert_type"]], css_classes=column_class + ), + ] ), - ), - Row( - Column( - Field('device_group', css_class='select2'), css_class=column_class + FormRow( + fields=[ + FormColumn( + fields=[self["organization"]], css_classes=column_class + ), + FormColumn( + fields=[self["not_organization"]], css_classes=column_class + ), + ] ), - Column( - Field('not_device_group', css_class='select2'), - css_class=column_class, + FormRow( + fields=[ + FormColumn( + fields=[self["device_group"]], css_classes=column_class + ), + FormColumn( + fields=[self["not_device_group"]], css_classes=column_class + ), + ] ), - ), - Row( - Column(Field('location', css_class='select2'), css_class=column_class), - Column( - Field('not_location', css_class='select2'), css_class=column_class + FormRow( + fields=[ + FormColumn(fields=[self["location"]], css_classes=column_class), + FormColumn( + fields=[self["not_location"]], css_classes=column_class + ), + ] ), - ), - Row( - Column(Field('severity', css_class='select2'), css_class=column_class), - Column( - Field('not_severity', css_class='select2'), css_class=column_class + FormRow( + fields=[ + FormColumn(fields=[self["severity"]], css_classes=column_class), + FormColumn( + fields=[self["not_severity"]], css_classes=column_class + ), + ] ), - ), - Row( - Column('stateless', 'stateless_threshold', css_class=column_class), - Column( - 'acknowledged', - 'on_maintenance', - 'extra_columns', - css_class=column_class, + FormRow( + fields=[ + FormColumn( + fields=[self["stateless"], self["stateless_threshold"]], + css_classes=column_class, + ), + FormColumn( + fields=[ + self["acknowledged"], + self["on_maintenance"], + self["extra_columns"], + ], + css_classes=column_class, + ), + ] ), - ), - Submit('submit', 'Save'), + ], + submit_field=SubmitField(value="Save"), ) diff --git a/python/nav/web/templates/navlets/status2_edit.html b/python/nav/web/templates/navlets/status2_edit.html index f6a934cfc1..12ee904c2c 100644 --- a/python/nav/web/templates/navlets/status2_edit.html +++ b/python/nav/web/templates/navlets/status2_edit.html @@ -1,5 +1,4 @@ {% extends 'navlets/base.html' %} -{% load crispy_forms_tags %} {% block navlet-content %} @@ -8,7 +7,11 @@ Refresh interval (seconds) - {% crispy form %} + {% if form.attrs %} + {% include 'custom_crispy_templates/_form_content.html' %} + {% else %} + {{ form }} + {% endif %}