Add filter on book index
This commit is contained in:
parent
e0ef3229ab
commit
673fd2c58a
4 changed files with 155 additions and 36 deletions
|
|
@ -6,6 +6,82 @@
|
|||
{% block main %}
|
||||
{{ typography::heading("All books") }}
|
||||
|
||||
|
||||
{% call cards::card() %}
|
||||
<form method="get">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<label for="title" class="form-label">Name</label>
|
||||
{% match query.title %}
|
||||
{% when Some with (value) %}
|
||||
<input type="text" name="title" value="{{ value }}" class="form-control" placeholder="Ex: La liberte ou rien">
|
||||
{% when None %}
|
||||
<input type="text" name="title" class="form-control" placeholder="Ex: La liberte ou rien">
|
||||
{% endmatch %}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<label for="authors" class="form-label">Authors</label>
|
||||
|
||||
{% match query.authors %}
|
||||
{% when Some with (value) %}
|
||||
<input type="text" name="authors" value="{{ value }}" class="form-control" placeholder="Ex: Emma Goldmann">
|
||||
{% when None %}
|
||||
<input type="text" name="authors" class="form-control" placeholder="Ex: Emma Goldmann">
|
||||
{% endmatch %}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<label for="owner_id" class="form-label">Owner</label>
|
||||
|
||||
<select name="owner_id" class="form-control">
|
||||
<option></option>
|
||||
{% match query.owner_id %}
|
||||
{% when Some with (owner_id) %}
|
||||
{% for user in users %}
|
||||
{% if *owner_id == user.id %}
|
||||
<option value="{{ user.id }}" selected>{{ user.name }}</option>
|
||||
{% else %}
|
||||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% when None %}
|
||||
{% for user in users %}
|
||||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||||
{% endfor %}
|
||||
{% endmatch %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
<label for="current_holder_id" class="form-label">Current Holder</label>
|
||||
|
||||
<select name="current_holder_id" class="form-control">
|
||||
<option></option>
|
||||
{% match query.current_holder_id %}
|
||||
{% when Some with (current_holder_id) %}
|
||||
{% for user in users %}
|
||||
{% if *current_holder_id == user.id %}
|
||||
<option value="{{ user.id }}" selected>{{ user.name }}</option>
|
||||
{% else %}
|
||||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% when None %}
|
||||
{% for user in users %}
|
||||
<option value="{{ user.id }}">{{ user.name }}</option>
|
||||
{% endfor %}
|
||||
{% endmatch %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-md-1 d-flex align-items-end">
|
||||
<input type="submit" value="Search" class="btn btn-info btn">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endcall %}
|
||||
|
||||
{% call cards::card() %}
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
|
|
@ -19,14 +95,14 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for book_with_user in books_with_user %}
|
||||
{% for book_user in books_with_user %}
|
||||
<tr>
|
||||
<th scope="row">{{ book_with_user.book.id }}</th>
|
||||
<td>{{ book_with_user.book.title }}</td>
|
||||
<td>{{ book_with_user.book.authors }}</td>
|
||||
<td>{{ book_with_user.owner.name }}</td>
|
||||
<th scope="row">{{ book_user.book.id }}</th>
|
||||
<td>{{ book_user.book.title }}</td>
|
||||
<td>{{ book_user.book.authors }}</td>
|
||||
<td>{{ book_user.owner.name }}</td>
|
||||
<td>
|
||||
{% match book_with_user.current_holder %}
|
||||
{% match book_user.current_holder %}
|
||||
{% when Some with (current_holder) %}
|
||||
{{ current_holder.name }}
|
||||
{% when None %}
|
||||
|
|
@ -34,7 +110,7 @@
|
|||
{% endmatch %}
|
||||
</td>
|
||||
<td>
|
||||
{{ dropdown::book_dropdown_button(book_with_user.book) }}
|
||||
{{ dropdown::book_dropdown_button(book_user.book) }}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
|
|
|||
Loading…
Reference in a new issue