More work on the new people search
This commit is contained in:
parent
9cd17bd8e6
commit
9a41a5f8aa
6 changed files with 337 additions and 121 deletions
|
|
@ -25,7 +25,7 @@
|
|||
<i class="bi-plus-lg"></i>
|
||||
Ajouter
|
||||
</a>
|
||||
<a class="btn btn-outline-primary" href="/members/export?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}">
|
||||
<a class="btn btn-outline-primary" href="/members/export?s={{ SearchJSON|urlencode }}">
|
||||
<i class="bi-filetype-csv"></i>
|
||||
Exporter
|
||||
</a>
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
<i class="bi-plus-lg"></i>
|
||||
Ajouter
|
||||
</a>
|
||||
<a class="btn btn-outline-primary" href="/contacts/export?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}">
|
||||
<a class="btn btn-outline-primary" href="/contacts/export?s={{ SearchJSON|urlencode }}">
|
||||
<i class="bi-filetype-csv"></i>
|
||||
Exporter
|
||||
</a>
|
||||
|
|
@ -44,106 +44,124 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="mt-3 row">
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label for="name" class="form-label">
|
||||
Nom
|
||||
</label>
|
||||
<input type="text" class="form-control" id="name" data-search-field="name" data-search-advanced="false" name="name">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-3 mb-3">
|
||||
|
||||
<label for="section" class="form-label">
|
||||
Section
|
||||
</label>
|
||||
<select class="form-select" id="section" data-search-field="section" data-search-advanced="false" name="section">
|
||||
<option value="">Choisir...</option>
|
||||
{% for Section in Sections %}
|
||||
<option value="{{ Section.ID }}">
|
||||
{{ Section.Name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6 col-lg-3 mb-2">
|
||||
|
||||
<label class="form-label">
|
||||
Status
|
||||
</label>
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" role="switch" data-search-field="archive" data-search-advanced="false" id="archive">
|
||||
<label class="form-check-label" for="archive">Archivé</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 d-none" id="advanced-section">
|
||||
<div class="h-100 p-4 mb-3 bg-body-tertiary border rounded-3">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label for="email" class="form-label">
|
||||
Email
|
||||
</label>
|
||||
<input type="text" class="form-control" id="email" data-search-field="email" data-search-advanced="true" name="email">
|
||||
<label for="name" class="form-label">Nom et prénom</label>
|
||||
<input type="text" class="form-control" id="name" data-search-field="name" data-search-advanced="false" name="name">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-6 mb-3">
|
||||
<div class="col-sm-6 col-lg-3 mb-3">
|
||||
|
||||
<label for="phone" class="form-label">
|
||||
Téléphone
|
||||
</label>
|
||||
<input type="text" class="form-control" id="phone" data-search-field="phone" data-search-advanced="true" name="phone">
|
||||
<label for="section" class="form-label">Section</label>
|
||||
<select class="form-select" id="section" data-search-field="section" data-search-advanced="false" name="section">
|
||||
<option value=""></option>
|
||||
{% for Section in Sections %}
|
||||
<option value="{{ Section.ID }}">
|
||||
{{ Section.Name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-6 mb-3">
|
||||
<div class="col-sm-6 col-lg-3 mb-3 pt-3">
|
||||
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" role="switch" data-search-field="active" data-search-advanced="false" id="active" checked>
|
||||
{% if MembersPage %}
|
||||
<label class="form-check-label" for="active">Afficher membres actifs</label>
|
||||
{% else %}
|
||||
<label class="form-check-label" for="active">Afficher contactss actifs</label>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<label for="address" class="form-label">
|
||||
Adresse
|
||||
</label>
|
||||
<input type="text" class="form-control" id="address" data-search-field="address" data-search-advanced="true" name="address">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-4 col-lg-2 mb-3">
|
||||
|
||||
<label for="postal_code" class="form-label">
|
||||
Code postal
|
||||
</label>
|
||||
<input type="text" class="form-control" id="postal_code" data-search-field="postal_code" data-search-advanced="true" name="postal_code">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-8 col-lg-4 mb-3">
|
||||
|
||||
<label for="city" class="form-label">
|
||||
Lieu
|
||||
</label>
|
||||
<input type="text" class="form-control" id="city" data-search-field="city" data-search-advanced="true" name="city">
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" role="switch" data-search-field="archive" data-search-advanced="false" id="archive">
|
||||
{% if MembersPage %}
|
||||
<label class="form-check-label" for="archive">Afficher membres archivés</label>
|
||||
{% else %}
|
||||
<label class="form-check-label" for="archive">Afficher contacts archivés</label>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-none" id="advanced-section">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label for="email" class="form-label">Email</label>
|
||||
<input type="text" class="form-control" id="email" data-search-field="email" data-search-advanced="true" name="email">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label for="phone" class="form-label">Téléphone</label>
|
||||
<input type="text" class="form-control" id="phone" data-search-field="phone" data-search-advanced="true" name="phone">
|
||||
|
||||
</div>
|
||||
<div class="col-lg-6 mb-3">
|
||||
|
||||
<label for="address" class="form-label">Adresse</label>
|
||||
<input type="text" class="form-control" id="address" data-search-field="address" data-search-advanced="true" name="address">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-4 col-lg-2 mb-3">
|
||||
|
||||
<label for="postal_code" class="form-label">Code postal</label>
|
||||
<input type="text" class="form-control" id="postal_code" data-search-field="postal_code" data-search-advanced="true" name="postal_code">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-8 col-lg-4 mb-3">
|
||||
|
||||
<label for="city" class="form-label">Lieu</label>
|
||||
<input type="text" class="form-control" id="city" data-search-field="city" data-search-advanced="true" name="city">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="search-fields-model" class="row d-none">
|
||||
<div class="start-col col-lg-6 mb-3">
|
||||
<label class="form-label">Champ supplémentaire</label>
|
||||
<select class="form-select field-select" data-last-field="">
|
||||
<option value=""></option>
|
||||
{% for Field in Fields %}
|
||||
<option value="{{ Field.ID }}">
|
||||
{{ Field.Name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="end-col col-lg-6 mb-3">
|
||||
<label class="form-label">Valeur</label>
|
||||
<input type="text" class="form-control" disabled>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="search-fields" class="mb-3"></div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-2">
|
||||
<div class="col-6">
|
||||
<button class="btn btn-outline-primary" id="advanced" data-state="false" type="button">
|
||||
<i class="bi-arrow-down me-1"></i> Avancé
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-6 text-end">
|
||||
<button class="btn btn-outline-success" id="search" type="button">
|
||||
<i class="bi-search me-1"></i> Recherche
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="search-form" method="get" class="d-none">
|
||||
<input type="hidden" name="p" value="{{ Pagination.CurrentPage }}">
|
||||
<input type="hidden" id="search-json" name="s" value="{{ SearchJSON }}">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-6">
|
||||
<button class="btn btn-outline-primary btn-sm" id="advanced" data-state="false" type="button">
|
||||
<i class="bi-chevron-double-down me-1"></i> Avancé
|
||||
</button>
|
||||
</div>
|
||||
<div class="col-6 text-end">
|
||||
<button class="btn btn-outline-success btn-sm" id="search" type="button">
|
||||
<i class="bi-search me-1"></i> Recherche
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form id="search-form" method="get" class="my-3 d-none">
|
||||
<input type="hidden" name="p" value="{{ Pagination.CurrentPage }}">
|
||||
<input type="hidden" id="search-json" name="s" value="{{ FilterSearch }}">
|
||||
</form>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
|
@ -203,7 +221,7 @@
|
|||
<li class="page-item">
|
||||
<a
|
||||
class="page-link"
|
||||
href="?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}&p=1"
|
||||
href="?p=1&s={{ SearchJSON|urlencode }}"
|
||||
>
|
||||
<i class="bi-rewind"></i>
|
||||
</a>
|
||||
|
|
@ -211,7 +229,7 @@
|
|||
<li class="page-item">
|
||||
<a
|
||||
class="page-link"
|
||||
href="?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}&p={{ Pagination.CurrentPage - 1 }}"
|
||||
href="?&p={{ Pagination.CurrentPage - 1 }}&s={{ SearchJSON|urlencode }}"
|
||||
>
|
||||
<i class="bi-caret-left"></i>
|
||||
</a>
|
||||
|
|
@ -227,7 +245,7 @@
|
|||
class="page-link"
|
||||
{% endif %}
|
||||
|
||||
href="?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}&p={{ i }}"
|
||||
href="?&p={{ i }}&s={{ SearchJSON|urlencode }}"
|
||||
>
|
||||
{{ i }}
|
||||
</a>
|
||||
|
|
@ -249,7 +267,7 @@
|
|||
<li class="page-item">
|
||||
<a
|
||||
class="page-link"
|
||||
href="?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}&p={{ Pagination.CurrentPage + 1 }}"
|
||||
href="?&p={{ Pagination.CurrentPage + 1 }}&s={{ SearchJSON|urlencode }}"
|
||||
>
|
||||
<i class="bi-caret-right"></i>
|
||||
</a>
|
||||
|
|
@ -257,7 +275,7 @@
|
|||
<li class="page-item">
|
||||
<a
|
||||
class="page-link"
|
||||
href="?se={{ FilterSection }}&s={{ FilterSearch|urlencode }}&a={{ FilterArchive }}&p={{ Pagination.MaxPages }}"
|
||||
href="?p={{ Pagination.MaxPages }}&s={{ SearchJSON|urlencode }}"
|
||||
>
|
||||
<i class="bi-fast-forward"></i>
|
||||
</a>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue