Départements sous forme de liste, ajout des titulaires par département #66
This commit is contained in:
+2
-1
@@ -135,7 +135,8 @@ navbar = dbc.Navbar(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
for page in page_registry.values()
|
for page in page_registry.values()
|
||||||
if page["name"] not in ["Acheteur", "Titulaire", "Marché"]
|
if page["name"]
|
||||||
|
in ["Recherche", "À propos", "Tableau", "Statistiques"]
|
||||||
],
|
],
|
||||||
className="ms-auto",
|
className="ms-auto",
|
||||||
navbar=True,
|
navbar=True,
|
||||||
|
|||||||
+40
-23
@@ -1,7 +1,7 @@
|
|||||||
import polars as pl
|
import polars as pl
|
||||||
from dash import Input, Output, callback, dcc, html, register_page
|
from dash import Input, Output, callback, dcc, html, register_page
|
||||||
|
|
||||||
from src.utils import departements, df_acheteurs_departement
|
from src.utils import departements, df_acheteurs_departement, df_titulaires_departement
|
||||||
|
|
||||||
name = "Département"
|
name = "Département"
|
||||||
|
|
||||||
@@ -37,25 +37,42 @@ layout = html.Div(
|
|||||||
)
|
)
|
||||||
def departement_marches(url):
|
def departement_marches(url):
|
||||||
departement = url.split("/")[-1]
|
departement = url.split("/")[-1]
|
||||||
acheteurs = []
|
|
||||||
df = df_acheteurs_departement.filter(
|
def make_link_list(org_type) -> list:
|
||||||
pl.col("acheteur_departement_code") == departement
|
link_list = []
|
||||||
)
|
if org_type == "acheteur":
|
||||||
for row in df.iter_rows(named=True):
|
df = df_acheteurs_departement
|
||||||
p = html.P(
|
elif org_type == "titulaire":
|
||||||
[
|
df = df_titulaires_departement
|
||||||
dcc.Link(
|
else:
|
||||||
row["acheteur_nom"],
|
raise ValueError
|
||||||
href=url + f"/{row['acheteur_id']}",
|
|
||||||
title=f"Marchés publics de {row['acheteur_nom']}",
|
df = df.filter(pl.col(f"{org_type}_departement_code") == departement)
|
||||||
),
|
|
||||||
" ",
|
for row in df.iter_rows(named=True):
|
||||||
dcc.Link(
|
li = html.Li(
|
||||||
"(page dédiée)",
|
[
|
||||||
href=f"/acheteurs/{row['acheteur_id']}",
|
dcc.Link(
|
||||||
title=f"Page dédiée aux marchés publics de {row['acheteur_nom']}",
|
row[f"{org_type}_nom"],
|
||||||
),
|
href=url + f"/{row[f'{org_type}_id']}",
|
||||||
]
|
title=f"Marchés publics de {row[f'{org_type}_nom']}",
|
||||||
)
|
),
|
||||||
acheteurs.append(p)
|
" ",
|
||||||
return acheteurs
|
dcc.Link(
|
||||||
|
"(page dédiée)",
|
||||||
|
href=f"/{org_type}s/{row[f'{org_type}_id']}",
|
||||||
|
title=f"Page dédiée aux marchés publics de {row[f'{org_type}_nom']}",
|
||||||
|
),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
link_list.append(li)
|
||||||
|
return link_list
|
||||||
|
|
||||||
|
content = [
|
||||||
|
html.H3("Acheteurs publics du département"),
|
||||||
|
html.Ul(make_link_list("acheteur")),
|
||||||
|
html.H3("Titulaires du département"),
|
||||||
|
html.Ul(make_link_list("titulaire")),
|
||||||
|
]
|
||||||
|
|
||||||
|
return content
|
||||||
|
|||||||
@@ -14,7 +14,12 @@ register_page(
|
|||||||
|
|
||||||
layout = html.Div(
|
layout = html.Div(
|
||||||
[
|
[
|
||||||
html.P(dcc.Link(d["departement"], href=f"/departements/{k}"))
|
html.H3("Départements"),
|
||||||
for k, d in departements.items()
|
html.Ul(
|
||||||
|
[
|
||||||
|
html.Li(dcc.Link(d["departement"], href=f"/departements/{k}"))
|
||||||
|
for k, d in departements.items()
|
||||||
|
]
|
||||||
|
),
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user