map marker legibility, PDF export blueprint fix, asset list type search

This commit is contained in:
2026-07-31 09:06:22 -04:00
parent a595eaffd5
commit 59578e1c5b
13 changed files with 458 additions and 60 deletions

View File

@@ -201,14 +201,24 @@ def list_network_devices():
if exactassetnumber := request.args.get('assetnumber'):
query = query.filter(Asset.assetnumber == exactassetnumber)
# Search filter
# Search filter. Type and vendor are columns in the list, so both must be
# searchable. Outer joins so a device missing either still matches on its
# own fields.
if search := request.args.get('search'):
query = query.filter(
pattern = f'%{search}%'
query = query.outerjoin(
NetworkDeviceType,
NetworkDevice.networkdevicetypeid == NetworkDeviceType.networkdevicetypeid
).outerjoin(
Vendor, NetworkDevice.vendorid == Vendor.vendorid
).filter(
db.or_(
Asset.assetnumber.ilike(f'%{search}%'),
Asset.name.ilike(f'%{search}%'),
Asset.serialnumber.ilike(f'%{search}%'),
NetworkDevice.hostname.ilike(f'%{search}%')
Asset.assetnumber.ilike(pattern),
Asset.name.ilike(pattern),
Asset.serialnumber.ilike(pattern),
NetworkDevice.hostname.ilike(pattern),
NetworkDeviceType.networkdevicetype.ilike(pattern),
Vendor.vendor.ilike(pattern)
)
)