Crisis V7 MEGA: sufinanciranje_sport + panel + CRM auth
DB: - pgz_sport.sufinanciranje_sport.je_klub flag (RSS programi/totals false) - pgz_sport.sufinanciranje_sport.klub_id matched Endpoints: - /v2/potpore/by-year: samo_klubovi=True default + davatelj filter Frontend: - sport2.html PANEL FORCE HIDE CSS (right:-100vw default) - crm_v2.html: redirect to /login only on actual 401, not on page load
This commit is contained in:
@@ -674,10 +674,18 @@ def get_savez(savez_id: int, authorization: Optional[str] = Header(None)):
|
||||
return {**savez, "klubovi": klubovi, "statistika": statistika, "manifestacije": manifestacije}
|
||||
|
||||
# ==================== KLUBOVI ====================
|
||||
# ─────────────────────────────────────────────────────────────────────
|
||||
# Endpoint: GET /api/klubovi
|
||||
# Author: Damir Radulić (dradulic@outlook.com / damir@rinet.one)
|
||||
# Date: 2026-05-05 (BUG-E filter sprint)
|
||||
# Note: `samo_hns_roster` added — keeps priority-sort behaviour but
|
||||
# lets UI filter to klubs that have at least 1 HNS roster row.
|
||||
# ─────────────────────────────────────────────────────────────────────
|
||||
@app.get("/api/klubovi")
|
||||
def list_klubovi(authorization: Optional[str] = Header(None), q: Optional[str] = None, savez_id: Optional[int] = None,
|
||||
nositelj: Optional[bool] = None, region: Optional[str] = None, sport: Optional[str] = None, grad: Optional[str] = None,
|
||||
kategorija: Optional[str] = None, godisnjak: Optional[bool] = None, financiran: Optional[bool] = None,
|
||||
samo_hns_roster: Optional[bool] = None,
|
||||
sort: str = "naziv", order: str = "asc"):
|
||||
where = ["v.aktivan"]
|
||||
params = []
|
||||
@@ -703,6 +711,8 @@ def list_klubovi(authorization: Optional[str] = Header(None), q: Optional[str] =
|
||||
where.append("(k.godisnjak_godine IS NULL OR array_length(k.godisnjak_godine,1) IS NULL)")
|
||||
if kategorija and kategorija.strip().lower() == "priority":
|
||||
where.append("(COALESCE(k.pgz_sufinanciran,false) OR (k.godisnjak_godine IS NOT NULL AND array_length(k.godisnjak_godine,1) > 0))")
|
||||
if samo_hns_roster:
|
||||
where.append("EXISTS (SELECT 1 FROM pgz_sport.hns_klub_roster r WHERE r.klub_id = k.id)")
|
||||
sort_col = {"naziv": "v.klub", "savez": "v.savez", "broj_clanova": "v.broj_clanova",
|
||||
"razina": "v.razina", "region": "v.region", "grad": "v.grad", "sport": "v.sport"}.get(sort, "v.klub")
|
||||
order_sql = "DESC" if order.lower() == "desc" else "ASC"
|
||||
|
||||
Reference in New Issue
Block a user