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'),
|
label=_('Object type'),
|
||||||
queryset=ObjectType.objects.all()
|
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(
|
available_columns = SimpleArrayField(
|
||||||
base_field=forms.CharField(),
|
base_field=forms.CharField(),
|
||||||
required=False,
|
required=False,
|
||||||
@ -326,14 +333,6 @@ class TableConfigForm(forms.ModelForm):
|
|||||||
label=_('Selected Columns')
|
label=_('Selected Columns')
|
||||||
)
|
)
|
||||||
|
|
||||||
fieldsets = (
|
|
||||||
FieldSet(
|
|
||||||
'name', 'slug', 'object_type', 'table', 'description', 'weight', 'enabled', 'shared',
|
|
||||||
name=_('Table Config')
|
|
||||||
),
|
|
||||||
FieldSet('columns', 'ordering', name=_('Configuration')),
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = TableConfig
|
model = TableConfig
|
||||||
exclude = ('user',)
|
exclude = ('user',)
|
||||||
|
@ -599,6 +599,18 @@ class TableConfig(ChangeLoggedModel):
|
|||||||
def table_class(self):
|
def table_class(self):
|
||||||
return get_table_for_model(self.object_type.model_class(), name=self.table)
|
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):
|
class ImageAttachment(ChangeLoggedModel):
|
||||||
"""
|
"""
|
||||||
|
@ -353,6 +353,12 @@ class TableConfigListView(SharedObjectViewMixin, generic.ObjectListView):
|
|||||||
class TableConfigView(SharedObjectViewMixin, generic.ObjectView):
|
class TableConfigView(SharedObjectViewMixin, generic.ObjectView):
|
||||||
queryset = TableConfig.objects.all()
|
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, 'add', detail=False)
|
||||||
@register_model_view(TableConfig, 'edit')
|
@register_model_view(TableConfig, 'edit')
|
||||||
|
@ -47,24 +47,35 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col col-md-6">
|
<div class="col col-md-6">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h2 class="card-header">{% trans "Columns" %}</h2>
|
<h2 class="card-header">{% trans "Columns Displayed" %}</h2>
|
||||||
<div class="card-body">
|
<ul class="list-group list-group-flush" role="presentation">
|
||||||
<ul>
|
{% for name in object.columns %}
|
||||||
{% for column in object.columns %}
|
<li class="list-group-item list-group-item-action">
|
||||||
<li>{{ column }}</li>
|
{% with column=columns|get_key:name %}
|
||||||
{% endfor %}
|
{{ column.verbose_name }}
|
||||||
</ul>
|
{% endwith %}
|
||||||
</div>
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<h2 class="card-header">{% trans "Ordering" %}</h2>
|
<h2 class="card-header">{% trans "Ordering" %}</h2>
|
||||||
<div class="card-body">
|
<ul class="list-group list-group-flush" role="presentation">
|
||||||
<ul>
|
{% for column, ascending in object.ordering_items %}
|
||||||
{% for column in object.ordering %}
|
<li class="list-group-item">
|
||||||
<li>{{ column }}</li>
|
{% with column=columns|get_key:column %}
|
||||||
{% endfor %}
|
{% if ascending %}
|
||||||
</ul>
|
<i class="mdi mdi-arrow-down-thick"></i>
|
||||||
</div>
|
{% 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 %}
|
{% plugin_right_page object %}
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user