map marker legibility, PDF export blueprint fix, asset list type search
This commit is contained in:
@@ -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)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user