Slika 3: Savez 3 KPI (ukupna potpora, sportaša, dokumenata)

Endpoint:
- /api/v2/savez/{id}/kpi (ukupna_potpora, broj_sportasa, broj_klubova, najvisi_rang, broj_dokumenata, broj_manifestacija)

Frontend sport2.html:
- loadSavezKpi() function
- Auto-call after openSavez(id) panel render
This commit is contained in:
2026-05-05 18:24:05 +02:00
parent 7608839473
commit 8127e2ef22
3 changed files with 31 additions and 8 deletions
+7 -7
View File
@@ -5990,23 +5990,23 @@ def manifestacije_meta():
@router.get("/manifestacije")
def manifestacije_list(mjesto: str = None, razina: str = None, organizator: str = None, q: str = None, limit: int = 200):
"""Lista manifestacija s filterima."""
where = ["aktivna = true"]
where = ["m.aktivna = true"]
params = []
if mjesto:
where.append("mjesto = %s")
where.append("m.mjesto = %s")
params.append(mjesto)
if razina:
where.append("razina = %s")
where.append("m.razina = %s")
params.append(razina)
if organizator:
where.append("organizator ILIKE %s")
where.append("m.organizator ILIKE %s")
params.append(f"%{organizator}%")
if q:
where.append("(naziv ILIKE %s OR napomena ILIKE %s)")
where.append("(m.naziv ILIKE %s OR m.napomena ILIKE %s)")
params.extend([f"%{q}%", f"%{q}%"])
rows = db_query(f"""
SELECT m.id, m.naziv, m.mjesto, m.organizator, m.razina, m.broj_ucesnika,
SELECT m.id, m.naziv, m.mjesto, m.organizator, m.razina, m.broj_ucesnika,
m.godina_od, m.spol_kategorija, m.napomena, m.source_url,
s.naziv AS savez_naziv, s.id AS savez_id
FROM pgz_sport.manifestacije m