map marker legibility, PDF export blueprint fix, asset list type search
This commit is contained in:
@@ -168,11 +168,18 @@ def list_tools():
|
||||
# Exact-match natural-key lookup for idempotent import (asset number).
|
||||
if exactassetnumber := request.args.get('assetnumber'):
|
||||
query = query.filter(Asset.assetnumber == exactassetnumber)
|
||||
# Type is a column in the list, so it has to be searchable. Outer join so a
|
||||
# tool with no type still matches on its own fields.
|
||||
if search := request.args.get('search'):
|
||||
query = query.filter(db.or_(
|
||||
Asset.assetnumber.ilike(f'%{search}%'),
|
||||
Asset.name.ilike(f'%{search}%'),
|
||||
Asset.serialnumber.ilike(f'%{search}%'),
|
||||
pattern = f'%{search}%'
|
||||
query = query.outerjoin(
|
||||
MeasuringToolType,
|
||||
MeasuringTool.measuringtooltypeid == MeasuringToolType.measuringtooltypeid
|
||||
).filter(db.or_(
|
||||
Asset.assetnumber.ilike(pattern),
|
||||
Asset.name.ilike(pattern),
|
||||
Asset.serialnumber.ilike(pattern),
|
||||
MeasuringToolType.name.ilike(pattern),
|
||||
))
|
||||
if type_id := request.args.get('typeid', type=int):
|
||||
query = query.filter(MeasuringTool.measuringtooltypeid == type_id)
|
||||
|
||||
Reference in New Issue
Block a user