1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Improve preferences form rendering

This commit is contained in:
jeremystretch
2021-12-22 09:35:29 -05:00
parent 1aafcf241f
commit 7926225e9b
2 changed files with 28 additions and 4 deletions

View File

@ -8,7 +8,6 @@
<form method="post" action="" id="preferences-update">
{% csrf_token %}
{% comment %}
{% for group, fields in form.Meta.fieldsets %}
<div class="field-group my-5">
<div class="row mb-2">
@ -19,9 +18,19 @@
{% endfor %}
</div>
{% endfor %}
{% endcomment %}
{% render_form form %}
{% with plugin_fields=form.plugin_fields %}
{% if plugin_fields %}
<div class="field-group my-5">
<div class="row mb-2">
<h5 class="offset-sm-3">Plugins</h5>
</div>
{% for name in plugin_fields %}
{% render_field form|getfield:name %}
{% endfor %}
</div>
{% endif %}
{% endwith %}
<div class="text-end my-3">
<a class="btn btn-outline-secondary" href="{% url 'user:preferences' %}">Cancel</a>

View File

@ -44,6 +44,15 @@ class UserConfigForm(BootstrapMixin, forms.ModelForm, metaclass=UserConfigFormMe
class Meta:
model = UserConfig
fields = ()
fieldsets = (
('User Interface', (
'pagination.per_page',
'ui.colormode',
)),
('Miscellaneous', (
'data_format',
)),
)
def __init__(self, *args, instance=None, **kwargs):
@ -61,6 +70,12 @@ class UserConfigForm(BootstrapMixin, forms.ModelForm, metaclass=UserConfigFormMe
return super().save(*args, **kwargs)
@property
def plugin_fields(self):
return [
name for name in self.fields.keys() if name.startswith('plugins.')
]
class TokenForm(BootstrapMixin, forms.ModelForm):
key = forms.CharField(