+
+
diff --git a/src/argus/htmx/templates/htmx/user/preference_form/_incident_table_form.html b/src/argus/htmx/templates/htmx/user/preference_form/_incident_table_form.html
new file mode 100644
index 000000000..315279798
--- /dev/null
+++ b/src/argus/htmx/templates/htmx/user/preference_form/_incident_table_form.html
@@ -0,0 +1,10 @@
+{% extends "htmx/user/preference_form/_base_form.html" %}
+{% block section_id %}
+ user-settings
+{% endblock section_id %}
+{% block section_title %}
+ Incident Table
+{% endblock section_title %}
+{% block section_forms %}
+ {% for form in incident_forms %}{{ form }}{% endfor %}
+{% endblock section_forms %}
diff --git a/src/argus/htmx/templates/htmx/user/preference_form/_preference_form_script.html b/src/argus/htmx/templates/htmx/user/preference_form/_preference_form_script.html
new file mode 100644
index 000000000..4fb7e8fa7
--- /dev/null
+++ b/src/argus/htmx/templates/htmx/user/preference_form/_preference_form_script.html
@@ -0,0 +1,26 @@
+
diff --git a/src/argus/htmx/templates/htmx/user/preference_form/_theme_and_format_form.html b/src/argus/htmx/templates/htmx/user/preference_form/_theme_and_format_form.html
new file mode 100644
index 000000000..8ebcba682
--- /dev/null
+++ b/src/argus/htmx/templates/htmx/user/preference_form/_theme_and_format_form.html
@@ -0,0 +1,10 @@
+{% extends "htmx/user/preference_form/_base_form.html" %}
+{% block section_id %}
+ theme-settings
+{% endblock section_id %}
+{% block section_title %}
+ Theme and Format
+{% endblock section_title %}
+{% block section_forms %}
+ {% for form in theme_forms %}{{ form }}{% endfor %}
+{% endblock section_forms %}
diff --git a/src/argus/htmx/templates/htmx/user/preferences_list.html b/src/argus/htmx/templates/htmx/user/preferences_list.html
index 0f330dfb3..e24bba503 100644
--- a/src/argus/htmx/templates/htmx/user/preferences_list.html
+++ b/src/argus/htmx/templates/htmx/user/preferences_list.html
@@ -2,13 +2,11 @@
{% extends "htmx/base.html" %}
{% block main %}
-
{{ page_title }}
-
-
- {% block preferences %}
- {% for form in forms.values %}{{ form }}{% endfor %}
- {% endblock preferences %}
-
-
+ {% include "htmx/components/_page_title.html" %}
+ {% block preferences %}
+ {% include "htmx/user/preference_form/_theme_and_format_form.html" %}
+ {% include "htmx/user/preference_form/_incident_table_form.html" %}
+ {% include "htmx/user/preference_form/_preference_form_script.html" %}
+ {% endblock preferences %}
{% endblock main %}
diff --git a/src/argus/htmx/templates/htmx/user/radio_option.html b/src/argus/htmx/templates/htmx/user/radio_option.html
index 3e588a4de..d5339d41a 100644
--- a/src/argus/htmx/templates/htmx/user/radio_option.html
+++ b/src/argus/htmx/templates/htmx/user/radio_option.html
@@ -2,9 +2,7 @@
+ autocomplete="off" />
diff --git a/src/argus/htmx/user/views.py b/src/argus/htmx/user/views.py
index 998545919..fc21350f7 100644
--- a/src/argus/htmx/user/views.py
+++ b/src/argus/htmx/user/views.py
@@ -9,15 +9,21 @@
from argus.htmx.user.preferences.utils import setup_preference_forms
+THEME_PREFERENCES = ["theme", "datetime_format_name"]
+
+
@require_GET
def user_preferences(request) -> HttpResponse:
"""Renders the main preferences page for a user"""
forms = setup_preference_forms(request)
+ theme_forms = [form for name, form in forms.items() if name in THEME_PREFERENCES]
+ incident_forms = [form for name, form in forms.items() if name not in THEME_PREFERENCES]
context = {
"page_title": "User preferences",
- "forms": forms,
+ "theme_forms": theme_forms,
+ "incident_forms": incident_forms,
}
return render(request, "htmx/user/preferences_list.html", context=context)