Fix filtres zone/licence perdus lors tri/pagination/export CSV
Les macros sort_url et qs + le lien Export CSV ne propageaient pas les parametres zone/licence ajoutes recemment. Ajout dans: - servers.html (macros + export link) - servers.py (endpoint export-csv: signature + filters dict)
This commit is contained in:
parent
5883ba5cc4
commit
0be4849ef2
@ -65,12 +65,15 @@ async def servers_export_csv(request: Request, db=Depends(get_db),
|
|||||||
domain: str = Query(None), env: str = Query(None),
|
domain: str = Query(None), env: str = Query(None),
|
||||||
tier: str = Query(None), etat: str = Query(None),
|
tier: str = Query(None), etat: str = Query(None),
|
||||||
os: str = Query(None), owner: str = Query(None),
|
os: str = Query(None), owner: str = Query(None),
|
||||||
|
zone: str = Query(None), licence: str = Query(None),
|
||||||
search: str = Query(None)):
|
search: str = Query(None)):
|
||||||
user = get_current_user(request)
|
user = get_current_user(request)
|
||||||
if not user:
|
if not user:
|
||||||
return RedirectResponse(url="/login")
|
return RedirectResponse(url="/login")
|
||||||
import io, csv
|
import io, csv
|
||||||
filters = {"domain": domain, "env": env, "tier": tier, "etat": etat, "os": os, "owner": owner, "search": search}
|
filters = {"domain": domain, "env": env, "tier": tier, "etat": etat,
|
||||||
|
"os": os, "owner": owner, "zone": zone, "licence": licence,
|
||||||
|
"search": search}
|
||||||
servers, total = list_servers(db, filters, page=1, per_page=99999, sort="hostname", sort_dir="asc")
|
servers, total = list_servers(db, filters, page=1, per_page=99999, sort="hostname", sort_dir="asc")
|
||||||
output = io.StringIO()
|
output = io.StringIO()
|
||||||
w = csv.writer(output, delimiter=";")
|
w = csv.writer(output, delimiter=";")
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
{% block title %}Serveurs{% endblock %}
|
{% block title %}Serveurs{% endblock %}
|
||||||
|
|
||||||
{% macro sort_url(col) -%}
|
{% macro sort_url(col) -%}
|
||||||
?sort={{ col }}&sort_dir={% if sort == col and sort_dir == 'asc' %}desc{% else %}asc{% endif %}&search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}&page=1
|
?sort={{ col }}&sort_dir={% if sort == col and sort_dir == 'asc' %}desc{% else %}asc{% endif %}&search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}&zone={{ filters.zone or '' }}&licence={{ filters.licence or '' }}&page=1
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro sort_icon(col) -%}
|
{% macro sort_icon(col) -%}
|
||||||
@ -10,14 +10,14 @@
|
|||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% macro qs(p) -%}
|
{% macro qs(p) -%}
|
||||||
?page={{ p }}&search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}&sort={{ sort }}&sort_dir={{ sort_dir }}
|
?page={{ p }}&search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}&zone={{ filters.zone or '' }}&licence={{ filters.licence or '' }}&sort={{ sort }}&sort_dir={{ sort_dir }}
|
||||||
{%- endmacro %}
|
{%- endmacro %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="flex justify-between items-center mb-4">
|
<div class="flex justify-between items-center mb-4">
|
||||||
<h2 class="text-xl font-bold text-cyber-accent">Serveurs <span class="text-sm text-gray-500">({{ total }})</span></h2>
|
<h2 class="text-xl font-bold text-cyber-accent">Serveurs <span class="text-sm text-gray-500">({{ total }})</span></h2>
|
||||||
<div class="flex gap-2">
|
<div class="flex gap-2">
|
||||||
<a href="/servers/export-csv?search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}" class="btn-sm bg-cyber-green text-black">Export CSV</a>
|
<a href="/servers/export-csv?search={{ filters.search or '' }}&domain={{ filters.domain or '' }}&env={{ filters.env or '' }}&tier={{ filters.tier or '' }}&etat={{ filters.etat or '' }}&os={{ filters.os or '' }}&owner={{ filters.owner or '' }}&zone={{ filters.zone or '' }}&licence={{ filters.licence or '' }}" class="btn-sm bg-cyber-green text-black">Export CSV</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user