Page marché : objet en H1, durée restante, catégorie titulaire, distance

This commit is contained in:
Colin Maudry
2026-01-24 14:42:45 +01:00
parent bd64c397dc
commit ae366bf014
+13 -3
View File
@@ -32,6 +32,7 @@ layout = [
dbc.Row( dbc.Row(
dbc.Col( dbc.Col(
[ [
html.H1(id="marche_objet", style={"fontSize": "1.5em"}),
html.P( html.P(
"Vous consultez un résumé des données de ce marché public" "Vous consultez un résumé des données de ce marché public"
), ),
@@ -94,6 +95,7 @@ def get_marche_data(url) -> tuple[dict, list]:
@callback( @callback(
Output("marche_objet", "children"),
Output("marche_infos_1", "children"), Output("marche_infos_1", "children"),
Output("marche_infos_2", "children"), Output("marche_infos_2", "children"),
Output("marche_infos_titulaires", "children"), Output("marche_infos_titulaires", "children"),
@@ -148,9 +150,10 @@ def update_marche_info(marche, titulaires):
param_content = html.P([column_name, " : ", html.Strong(value)]) param_content = html.P([column_name, " : ", html.Strong(value)])
return param_content return param_content
marche_objet = make_parameter("objet")
marche_infos = [ marche_infos = [
make_parameter("id"), make_parameter("id"),
make_parameter("objet"),
make_parameter("dateNotification"), # date make_parameter("dateNotification"), # date
make_parameter("nature"), make_parameter("nature"),
make_parameter("acheteur_nom"), # lien make_parameter("acheteur_nom"), # lien
@@ -159,6 +162,7 @@ def update_marche_info(marche, titulaires):
make_parameter("procedure"), make_parameter("procedure"),
make_parameter("techniques"), # list make_parameter("techniques"), # list
make_parameter("dureeMois"), make_parameter("dureeMois"),
make_parameter("dureeRestanteMois"),
make_parameter("offresRecues"), make_parameter("offresRecues"),
make_parameter("datePublicationDonnees"), # date make_parameter("datePublicationDonnees"), # date
make_parameter("formePrix"), make_parameter("formePrix"),
@@ -184,17 +188,23 @@ def update_marche_info(marche, titulaires):
titulaires_lines = [] titulaires_lines = []
for titulaire in titulaires: for titulaire in titulaires:
if titulaire["titulaire_typeIdentifiant"] == "SIRET": if titulaire["titulaire_typeIdentifiant"] == "SIRET":
categorie = titulaire.get("titulaire_categorie", "")
if titulaire.get("titulaire_categorie"):
distance = str(titulaire.get("titulaire_categorie")) + " km"
else:
distance = ""
content = html.Li( content = html.Li(
[ [
html.A( html.A(
href=f"/titulaires/{titulaire['titulaire_id']}", href=f"/titulaires/{titulaire['titulaire_id']}",
children=titulaire["titulaire_nom"], children=titulaire["titulaire_nom"],
), ),
f" ({titulaire['titulaire_categorie']}, {titulaire['titulaire_distance']} km)", f" ({categorie}, {distance})",
] ]
) )
else: else:
content = html.Li(titulaire["titulaire_nom"]) content = html.Li(titulaire["titulaire_nom"])
titulaires_lines.append(content) titulaires_lines.append(content)
return marche_infos[:half], marche_infos[half:], titulaires_lines return marche_objet, marche_infos[:half], marche_infos[half:], titulaires_lines