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),
|
||||
tier: str = Query(None), etat: str = Query(None),
|
||||
os: str = Query(None), owner: str = Query(None),
|
||||
zone: str = Query(None), licence: str = Query(None),
|
||||
search: str = Query(None)):
|
||||
user = get_current_user(request)
|
||||
if not user:
|
||||
return RedirectResponse(url="/login")
|
||||
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")
|
||||
output = io.StringIO()
|
||||
w = csv.writer(output, delimiter=";")
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
{% block title %}Serveurs{% endblock %}
|
||||
|
||||
{% 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 %}
|
||||
|
||||
{% macro sort_icon(col) -%}
|
||||
@ -10,14 +10,14 @@
|
||||
{%- endmacro %}
|
||||
|
||||
{% 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 %}
|
||||
|
||||
{% block content %}
|
||||
<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>
|
||||
<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>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user