mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-26 18:38:38 -06:00
Clean up template
This commit is contained in:
parent
a1f0c3a37d
commit
e128198ec4
@ -310,6 +310,13 @@ class TableConfigForm(forms.ModelForm):
|
||||
label=_('Object type'),
|
||||
queryset=ObjectType.objects.all()
|
||||
)
|
||||
ordering = SimpleArrayField(
|
||||
base_field=forms.CharField(),
|
||||
label=_('Ordering'),
|
||||
help_text=_(
|
||||
"Enter a comma-separated list of column names. Prepend a name with a hyphen to reverse the order."
|
||||
)
|
||||
)
|
||||
available_columns = SimpleArrayField(
|
||||
base_field=forms.CharField(),
|
||||
required=False,
|
||||
@ -326,14 +333,6 @@ class TableConfigForm(forms.ModelForm):
|
||||
label=_('Selected Columns')
|
||||
)
|
||||
|
||||
fieldsets = (
|
||||
FieldSet(
|
||||
'name', 'slug', 'object_type', 'table', 'description', 'weight', 'enabled', 'shared',
|
||||
name=_('Table Config')
|
||||
),
|
||||
FieldSet('columns', 'ordering', name=_('Configuration')),
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = TableConfig
|
||||
exclude = ('user',)
|
||||
|
@ -599,6 +599,18 @@ class TableConfig(ChangeLoggedModel):
|
||||
def table_class(self):
|
||||
return get_table_for_model(self.object_type.model_class(), name=self.table)
|
||||
|
||||
@property
|
||||
def ordering_items(self):
|
||||
items = []
|
||||
for col in self.ordering or []:
|
||||
if col.startswith('-'):
|
||||
ascending = False
|
||||
col = col[1:]
|
||||
else:
|
||||
ascending = True
|
||||
items.append((col, ascending))
|
||||
return items
|
||||
|
||||
|
||||
class ImageAttachment(ChangeLoggedModel):
|
||||
"""
|
||||
|
@ -353,6 +353,12 @@ class TableConfigListView(SharedObjectViewMixin, generic.ObjectListView):
|
||||
class TableConfigView(SharedObjectViewMixin, generic.ObjectView):
|
||||
queryset = TableConfig.objects.all()
|
||||
|
||||
def get_extra_context(self, request, instance):
|
||||
table = instance.table_class([])
|
||||
return {
|
||||
'columns': dict(table.columns.items()),
|
||||
}
|
||||
|
||||
|
||||
@register_model_view(TableConfig, 'add', detail=False)
|
||||
@register_model_view(TableConfig, 'edit')
|
||||
|
@ -47,25 +47,36 @@
|
||||
</div>
|
||||
<div class="col col-md-6">
|
||||
<div class="card">
|
||||
<h2 class="card-header">{% trans "Columns" %}</h2>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
{% for column in object.columns %}
|
||||
<li>{{ column }}</li>
|
||||
<h2 class="card-header">{% trans "Columns Displayed" %}</h2>
|
||||
<ul class="list-group list-group-flush" role="presentation">
|
||||
{% for name in object.columns %}
|
||||
<li class="list-group-item list-group-item-action">
|
||||
{% with column=columns|get_key:name %}
|
||||
{{ column.verbose_name }}
|
||||
{% endwith %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h2 class="card-header">{% trans "Ordering" %}</h2>
|
||||
<div class="card-body">
|
||||
<ul>
|
||||
{% for column in object.ordering %}
|
||||
<li>{{ column }}</li>
|
||||
<ul class="list-group list-group-flush" role="presentation">
|
||||
{% for column, ascending in object.ordering_items %}
|
||||
<li class="list-group-item">
|
||||
{% with column=columns|get_key:column %}
|
||||
{% if ascending %}
|
||||
<i class="mdi mdi-arrow-down-thick"></i>
|
||||
{% else %}
|
||||
<i class="mdi mdi-arrow-up-thick"></i>
|
||||
{% endif %}
|
||||
{{ column.verbose_name }}
|
||||
{% endwith %}
|
||||
</li>
|
||||
{% empty %}
|
||||
<li class="list-group-item text-muted">{% trans "Default" %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% plugin_right_page object %}
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user