feat: make site prefix column sortable
Clicking the Prefix column header sorts device and rack lists by site name, which starts with the prefix. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -43,7 +43,7 @@ beziehungsweise dem globalen Mandantenfilter vorbelegt.
|
|||||||
|
|
||||||
Ab Version `0.14.0` enthält das Plugin die Prefix-Spalte des bisherigen
|
Ab Version `0.14.0` enthält das Plugin die Prefix-Spalte des bisherigen
|
||||||
Plugins NetBox Site Prefix. Geräte- und Rack-Listen lassen sich zusätzlich
|
Plugins NetBox Site Prefix. Geräte- und Rack-Listen lassen sich zusätzlich
|
||||||
nach diesem Prefix filtern.
|
nach diesem Prefix sortieren und filtern.
|
||||||
|
|
||||||
## Kompatibilität
|
## Kompatibilität
|
||||||
|
|
||||||
@@ -275,6 +275,10 @@ Datenspalte. Der Wert ist das erste Wort des Standortnamens, z. B. `Berlin`
|
|||||||
für `Berlin Campus West` oder `DC01` für `DC01 Frankfurt`; ohne Standort
|
für `Berlin Campus West` oder `DC01` für `DC01 Frankfurt`; ohne Standort
|
||||||
bleibt die Zelle leer.
|
bleibt die Zelle leer.
|
||||||
|
|
||||||
|
Ein Klick auf die Spaltenüberschrift **Prefix** sortiert die Liste auf- bzw.
|
||||||
|
absteigend, wie bei **Name**. Sortiert wird nach dem Standortnamen, der mit
|
||||||
|
dem Prefix beginnt.
|
||||||
|
|
||||||
Hat ein Benutzer bereits eine eigene Spaltenauswahl gespeichert, hat diese
|
Hat ein Benutzer bereits eine eigene Spaltenauswahl gespeichert, hat diese
|
||||||
Vorrang. Dann unter **Spalten konfigurieren** die Spalte **Prefix** auswählen
|
Vorrang. Dann unter **Spalten konfigurieren** die Spalte **Prefix** auswählen
|
||||||
und nach vorne schieben oder die Tabellenkonfiguration zurücksetzen.
|
und nach vorne schieben oder die Tabellenkonfiguration zurücksetzen.
|
||||||
|
|||||||
@@ -104,7 +104,8 @@ def install_site_prefix_column():
|
|||||||
accessor=tables.A("site"),
|
accessor=tables.A("site"),
|
||||||
verbose_name="Prefix",
|
verbose_name="Prefix",
|
||||||
empty_values=(),
|
empty_values=(),
|
||||||
orderable=False,
|
# Der Standortname beginnt mit dem Prefix, sortiert also in derselben Reihenfolge.
|
||||||
|
order_by=("site__name",),
|
||||||
)
|
)
|
||||||
register_table_column(column, COLUMN_NAME, DeviceTable, RackTable)
|
register_table_column(column, COLUMN_NAME, DeviceTable, RackTable)
|
||||||
prepend_to_default_columns(DeviceTable)
|
prepend_to_default_columns(DeviceTable)
|
||||||
|
|||||||
@@ -74,5 +74,9 @@ class SitePrefixTest(SimpleTestCase):
|
|||||||
|
|
||||||
self.assertIn(COLUMN_NAME, DeviceTable.base_columns)
|
self.assertIn(COLUMN_NAME, DeviceTable.base_columns)
|
||||||
self.assertIn(COLUMN_NAME, RackTable.base_columns)
|
self.assertIn(COLUMN_NAME, RackTable.base_columns)
|
||||||
|
for table in (DeviceTable, RackTable):
|
||||||
|
column = table.base_columns[COLUMN_NAME]
|
||||||
|
self.assertTrue(column.orderable)
|
||||||
|
self.assertEqual(tuple(column.order_by), ("site__name",))
|
||||||
self.assertEqual(DeviceTable.Meta.default_columns[:2], ("pk", COLUMN_NAME))
|
self.assertEqual(DeviceTable.Meta.default_columns[:2], ("pk", COLUMN_NAME))
|
||||||
self.assertEqual(RackTable.Meta.default_columns[:2], ("pk", COLUMN_NAME))
|
self.assertEqual(RackTable.Meta.default_columns[:2], ("pk", COLUMN_NAME))
|
||||||
|
|||||||
Reference in New Issue
Block a user