mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Use render_fieldset() for bulk edit & filter forms
This commit is contained in:
@ -10,15 +10,8 @@
|
|||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|
||||||
{# Built-in preferences #}
|
{# Built-in preferences #}
|
||||||
{% for group, fields in form.fieldsets %}
|
{% for fieldset in form.fieldsets %}
|
||||||
<div class="field-group my-5">
|
{% render_fieldset form fieldset %}
|
||||||
<div class="row">
|
|
||||||
<h5 class="col-9 offset-3">{{ group }}</h5>
|
|
||||||
</div>
|
|
||||||
{% for name in fields %}
|
|
||||||
{% render_field form|getfield:name %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{# Plugin preferences #}
|
{# Plugin preferences #}
|
||||||
|
@ -50,26 +50,7 @@ Context:
|
|||||||
|
|
||||||
{# Render grouped fields according to declared fieldsets #}
|
{# Render grouped fields according to declared fieldsets #}
|
||||||
{% for fieldset in form.fieldsets %}
|
{% for fieldset in form.fieldsets %}
|
||||||
<div class="field-group mb-5">
|
{% render_fieldset form fieldset %}
|
||||||
<div class="row">
|
|
||||||
<h5 class="col-9 offset-3">
|
|
||||||
{% if fieldset.name %}
|
|
||||||
{{ fieldset.name }}
|
|
||||||
{% else %}
|
|
||||||
{{ model|meta:"verbose_name"|bettertitle }}
|
|
||||||
{% endif %}
|
|
||||||
</h5>
|
|
||||||
</div>
|
|
||||||
{% for name in fieldset.fields %}
|
|
||||||
{% with field=form|getfield:name %}
|
|
||||||
{% if field.name in form.nullable_fields %}
|
|
||||||
{% render_field field bulk_nullable=True %}
|
|
||||||
{% else %}
|
|
||||||
{% render_field field %}
|
|
||||||
{% endif %}
|
|
||||||
{% endwith %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{# Render tag add/remove fields #}
|
{# Render tag add/remove fields #}
|
||||||
|
@ -11,16 +11,7 @@
|
|||||||
{# List filters by group #}
|
{# List filters by group #}
|
||||||
{% for fieldset in filter_form.fieldsets %}
|
{% for fieldset in filter_form.fieldsets %}
|
||||||
<div class="col col-12">
|
<div class="col col-12">
|
||||||
{% if fieldset.name %}
|
{% render_fieldset filter_form fieldset %}
|
||||||
<div class="hr-text">
|
|
||||||
<span>{{ fieldset.name }}</span>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
{% for name in fieldset.fields %}
|
|
||||||
{% with field=filter_form|get_item:name %}
|
|
||||||
{% render_field field %}
|
|
||||||
{% endwith %}
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
</div>
|
||||||
{% empty %}
|
{% empty %}
|
||||||
{# List all non-customfield filters as declared in the form class #}
|
{# List all non-customfield filters as declared in the form class #}
|
||||||
|
@ -101,8 +101,12 @@ def render_fieldset(form, fieldset):
|
|||||||
|
|
||||||
# A single form field
|
# A single form field
|
||||||
elif item in form.fields:
|
elif item in form.fields:
|
||||||
|
field = form[item]
|
||||||
|
# Annotate nullability for bulk editing
|
||||||
|
if field.name in getattr(form, 'nullable_fields', []):
|
||||||
|
field._nullable = True
|
||||||
rows.append(
|
rows.append(
|
||||||
('field', None, [form[item]])
|
('field', None, [field])
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -119,7 +123,7 @@ def render_field(field, bulk_nullable=False, label=None):
|
|||||||
return {
|
return {
|
||||||
'field': field,
|
'field': field,
|
||||||
'label': label or field.label,
|
'label': label or field.label,
|
||||||
'bulk_nullable': bulk_nullable,
|
'bulk_nullable': bulk_nullable or getattr(field, '_nullable', False),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user