From 293dc4f20d7c0b7a7cfedb5ad7f37001de283a7b Mon Sep 17 00:00:00 2001 From: Simon Oliver Tveit Date: Thu, 10 Oct 2024 11:13:11 +0200 Subject: [PATCH 01/25] Uncrispify ErrorLogSearchForm --- python/nav/web/radius/forms.py | 32 ++++++++++++------- .../nav/web/templates/radius/error_log.html | 3 +- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/python/nav/web/radius/forms.py b/python/nav/web/radius/forms.py index a9f33e87d1..a284c1fc80 100644 --- a/python/nav/web/radius/forms.py +++ b/python/nav/web/radius/forms.py @@ -22,6 +22,12 @@ from crispy_forms.helper import FormHelper from crispy_forms_foundation.layout import Layout, Row, Column, Submit +from nav.web.crispyforms import ( + set_flat_form_attributes, + FormColumn, + FormRow, + SubmitField, +) from nav.util import is_valid_cidr @@ -146,17 +152,21 @@ class ErrorLogSearchForm(forms.Form): def __init__(self, *args, **kwargs): super(ErrorLogSearchForm, self).__init__(*args, **kwargs) css_class = 'medium-4' - self.helper = FormHelper() - self.helper.form_action = '' - self.helper.form_method = 'GET' - self.helper.form_class = 'custom' - self.helper.layout = Layout( - Row( - Column('query', css_class=css_class), - Column('log_entry_type', css_class=css_class), - Column('time', css_class=css_class), - ), - Submit('send', 'Search', css_class='small'), + self.attrs = set_flat_form_attributes( + form_method='get', + form_class='custom', + form_fields=[ + FormRow( + fields=[ + FormColumn(fields=[self['query']], css_classes=css_class), + FormColumn( + fields=[self['log_entry_type']], css_classes=css_class + ), + FormColumn(fields=[self['time']], css_classes=css_class), + ] + ), + SubmitField(name='send', value='Search', css_classes='small'), + ], ) diff --git a/python/nav/web/templates/radius/error_log.html b/python/nav/web/templates/radius/error_log.html index 41e8ac78c7..6e3c0f481f 100644 --- a/python/nav/web/templates/radius/error_log.html +++ b/python/nav/web/templates/radius/error_log.html @@ -1,5 +1,4 @@ {% extends "radius/base.html" %} -{% load crispy_forms_tags %} {% load report %} {% block content %} @@ -16,7 +15,7 @@

Search in radius error logs

- {% crispy form %} + {% include 'custom_crispy_templates/flat_form.html' %}
{% if form.is_bound %} From 880f172a81b5dfd0bce60a6cef0beda84de2259f Mon Sep 17 00:00:00 2001 From: Simon Oliver Tveit Date: Thu, 7 Nov 2024 09:51:40 +0100 Subject: [PATCH 02/25] Uncrispify QuarantineVlanForm --- python/nav/web/arnold/forms.py | 15 +++++++++------ .../nav/web/templates/arnold/quarantinevlans.html | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/python/nav/web/arnold/forms.py b/python/nav/web/arnold/forms.py index fe9de939d7..9b00811458 100644 --- a/python/nav/web/arnold/forms.py +++ b/python/nav/web/arnold/forms.py @@ -84,12 +84,15 @@ def __init__(self, *args, **kwargs): submit_value = 'Save changes' fieldset_legend = 'Edit vlan' - # Create helper for crispy layout - self.helper = FormHelper() - self.helper.form_action = 'arnold-quarantinevlans' - self.helper.layout = Layout( - Fieldset(fieldset_legend, 'vlan', 'description', 'qid'), - Submit('submit', submit_value, css_class='small'), + self.attrs = set_flat_form_attributes( + form_action='arnold-quarantinevlans', + form_fields=[ + FlatFieldset( + fieldset_legend, + fields=[self['vlan'], self['description'], self['qid']], + ) + ], + submit_field=SubmitField(value=submit_value, css_classes='small'), ) diff --git a/python/nav/web/templates/arnold/quarantinevlans.html b/python/nav/web/templates/arnold/quarantinevlans.html index 623a110117..cb75b19b8a 100644 --- a/python/nav/web/templates/arnold/quarantinevlans.html +++ b/python/nav/web/templates/arnold/quarantinevlans.html @@ -1,5 +1,4 @@ {% extends "arnold/tabs.html" %} -{% load crispy_forms_tags %} {% block tabcontent %} @@ -39,7 +38,7 @@ {% comment %} Display form for creating a new quarantine vlan {% endcomment %}
- {% crispy form %} + {% include 'custom_crispy_templates/flat_form.html' %}
From 5fde407ae004b35b9e8270b41de5383d1f2a5333 Mon Sep 17 00:00:00 2001 From: Simon Oliver Tveit Date: Thu, 7 Nov 2024 10:08:59 +0100 Subject: [PATCH 03/25] Uncrispify ManualDetentionTargetForm --- python/nav/web/arnold/forms.py | 8 ++++---- python/nav/web/templates/arnold/manualdetain.html | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/python/nav/web/arnold/forms.py b/python/nav/web/arnold/forms.py index fe9de939d7..88c06df10e 100644 --- a/python/nav/web/arnold/forms.py +++ b/python/nav/web/arnold/forms.py @@ -240,10 +240,10 @@ class ManualDetentionTargetForm(forms.Form): def __init__(self, *args, **kwargs): super(ManualDetentionTargetForm, self).__init__(*args, **kwargs) - self.helper = FormHelper() - self.helper.form_action = 'arnold-manual-detention' - self.helper.layout = Layout( - 'target', Submit('submit', 'Find', css_class='small') + self.attrs = set_flat_form_attributes( + form_action='arnold-manual-detention', + form_fields=[self['target']], + submit_field=SubmitField(value='Find', css_classes='small'), ) def clean_target(self): diff --git a/python/nav/web/templates/arnold/manualdetain.html b/python/nav/web/templates/arnold/manualdetain.html index f1deaaf5dc..8612654555 100644 --- a/python/nav/web/templates/arnold/manualdetain.html +++ b/python/nav/web/templates/arnold/manualdetain.html @@ -1,5 +1,4 @@ {% extends 'arnold/base.html' %} -{% load crispy_forms_tags %} {% block content %} @@ -13,7 +12,7 @@

Manual detention

- {% crispy form %} + {% include 'custom_crispy_templates/flat_form.html' %}
From 94c1deb14251779ae6cf97797ff23ef5e3910a22 Mon Sep 17 00:00:00 2001 From: Johanna England Date: Fri, 11 Oct 2024 15:30:41 +0200 Subject: [PATCH 04/25] Uncrispify AccountGroupForm in useradmin --- .../web/templates/useradmin/group_detail.html | 3 +-- python/nav/web/useradmin/forms.py | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/python/nav/web/templates/useradmin/group_detail.html b/python/nav/web/templates/useradmin/group_detail.html index 18e11dbca9..d161305e8b 100644 --- a/python/nav/web/templates/useradmin/group_detail.html +++ b/python/nav/web/templates/useradmin/group_detail.html @@ -1,5 +1,4 @@ {% extends "useradmin/base.html" %} -{% load crispy_forms_tags %} {% block base_header_additional_head %} {{ block.super }} @@ -41,7 +40,7 @@

Create new group

{# GROUP FORM #}
{% if group_form %} - {% crispy group_form %} + {% include 'custom_crispy_templates/flat_form.html' with form=group_form %} {% endif %}
diff --git a/python/nav/web/useradmin/forms.py b/python/nav/web/useradmin/forms.py index 2df2b785cd..b365a5ef7c 100644 --- a/python/nav/web/useradmin/forms.py +++ b/python/nav/web/useradmin/forms.py @@ -54,16 +54,22 @@ class AccountGroupForm(forms.ModelForm): def __init__(self, *args, **kwargs): super(AccountGroupForm, self).__init__(*args, **kwargs) - self.helper = FormHelper() - self.helper.form_action = '' - self.helper.form_method = 'post' - self.helper.layout = Layout( - Fieldset( - 'Group info', - 'name', - 'description', - Submit('submit_group', 'Save changes', css_class='small'), - ) + + self.attrs = set_flat_form_attributes( + form_fields=[ + FlatFieldset( + legend="Group info", + fields=[ + self["name"], + self["description"], + SubmitField( + name="submit_group", + value="Save changes", + css_classes="small", + ), + ], + ) + ] ) class Meta(object): From 7e69461d84b52be834a3f3a60c5d2c8ca028d644 Mon Sep 17 00:00:00 2001 From: Johanna England Date: Fri, 11 Oct 2024 13:31:26 +0200 Subject: [PATCH 05/25] Uncrispify StatusWidgetForm in navlets --- python/nav/web/status2/forms.py | 161 +++++++++++------- .../web/templates/navlets/status2_edit.html | 3 +- 2 files changed, 97 insertions(+), 67 deletions(-) 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..a2b2efe25a 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,7 @@ Refresh interval (seconds) - {% crispy form %} + {% include 'custom_crispy_templates/_form_content.html' %}