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
|
||||
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
|
||||
|
||||
@@ -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
|
||||
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
|
||||
Vorrang. Dann unter **Spalten konfigurieren** die Spalte **Prefix** auswählen
|
||||
und nach vorne schieben oder die Tabellenkonfiguration zurücksetzen.
|
||||
|
||||
@@ -104,7 +104,8 @@ def install_site_prefix_column():
|
||||
accessor=tables.A("site"),
|
||||
verbose_name="Prefix",
|
||||
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)
|
||||
prepend_to_default_columns(DeviceTable)
|
||||
|
||||
@@ -74,5 +74,9 @@ class SitePrefixTest(SimpleTestCase):
|
||||
|
||||
self.assertIn(COLUMN_NAME, DeviceTable.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(RackTable.Meta.default_columns[:2], ("pk", COLUMN_NAME))
|
||||
|
||||
Reference in New Issue
Block a user