Skip to content
Snippets Groups Projects
Commit 537dbeec authored by Julian's avatar Julian
Browse files

Add basic item search

parent ddd02484
No related branches found
No related tags found
No related merge requests found
...@@ -99,7 +99,15 @@ def logout(): ...@@ -99,7 +99,15 @@ def logout():
@app.route('/items/') @app.route('/items/')
def item_list(): def item_list():
return render_template('item/list.html', page=Item.query.order_by('name').paginate(per_page=10)) query = Item.query
if 'search' in request.values:
item = Item.query.get(request.values['search'].strip().upper())
if item:
return redirect(url_for('item_view', item_id=item.id))
keywords = request.values['search'].strip().split()
for keyword in keywords:
query = query.filter(db.or_(Item.name.contains(keyword), Item.description.contains(keyword)))
return render_template('item/list.html', page=query.order_by('name').paginate(per_page=10))
@app.route('/items/add', methods=['GET', 'POST']) @app.route('/items/add', methods=['GET', 'POST'])
def item_add(): def item_add():
......
{% extends 'layout.html' %} {% extends 'layout.html' %}
{% block body %} {% block body %}
<div class="btn-toolbar float-end" role="toolbar"> <div class="d-flex justify-content-between gap-1">
<form class="form-inline">
<div class="input-group">
<input type="text" class="form-control" name="search" value="{{ request.args.search }}" placeholder="Search" autofocus>
<button class="btn btn-outline-secondary" type="submit">Search</button>
</div>
</form>
<a href="{{ url_for('item_add') }}" class="btn btn-primary">Add</a> <a href="{{ url_for('item_add') }}" class="btn btn-primary">Add</a>
</div> </div>
<table class="table table-hover"> <table class="table table-hover">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment