From 06f658ccf14f8f0d3d38fac13d2b868c2c9ae7e6 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Wed, 28 Jan 2026 22:18:39 +0100 Subject: [PATCH] Suivi des filtres comme des recherches, avec page source --- src/pages/acheteur.py | 4 ++-- src/pages/tableau.py | 4 ++-- src/pages/titulaire.py | 10 ++++++++-- src/utils.py | 5 +++-- 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/pages/acheteur.py b/src/pages/acheteur.py index f3ae843..1577d5e 100644 --- a/src/pages/acheteur.py +++ b/src/pages/acheteur.py @@ -260,7 +260,7 @@ def get_last_marches_data( data, page_current, page_size, filter_query, sort_by, data_timestamp ) -> tuple: return prepare_table_data( - data, data_timestamp, filter_query, page_current, page_size, sort_by + data, data_timestamp, filter_query, page_current, page_size, sort_by, "acheteur" ) @@ -319,7 +319,7 @@ def download_filtered_acheteur_data( lff = lff.drop(hidden_columns) if filter_query: - lff = filter_table_data(lff, filter_query) + lff = filter_table_data(lff, filter_query, "ach download") if len(sort_by) > 0: lff = sort_table_data(lff, sort_by) diff --git a/src/pages/tableau.py b/src/pages/tableau.py index 1569e02..75ece57 100644 --- a/src/pages/tableau.py +++ b/src/pages/tableau.py @@ -233,7 +233,7 @@ def update_table(page_current, page_size, filter_query, sort_by, data_timestamp) # else: # search_params = urllib.parse.parse_qs(search_params.lstrip("?")) return prepare_table_data( - None, data_timestamp, filter_query, page_current, page_size, sort_by + None, data_timestamp, filter_query, page_current, page_size, sort_by, "tableau" ) @@ -253,7 +253,7 @@ def download_data(n_clicks, filter_query, sort_by, hidden_columns: list = None): lff = lff.drop(hidden_columns) if filter_query: - lff = filter_table_data(lff, filter_query) + lff = filter_table_data(lff, filter_query, "tab download") if len(sort_by) > 0: lff = sort_table_data(lff, sort_by) diff --git a/src/pages/titulaire.py b/src/pages/titulaire.py index 60fdc2b..656df3d 100644 --- a/src/pages/titulaire.py +++ b/src/pages/titulaire.py @@ -269,7 +269,13 @@ def get_last_marches_data( data, page_current, page_size, filter_query, sort_by, data_timestamp ) -> list[dict]: return prepare_table_data( - data, data_timestamp, filter_query, page_current, page_size, sort_by + data, + data_timestamp, + filter_query, + page_current, + page_size, + sort_by, + "titulaire", ) @@ -328,7 +334,7 @@ def download_filtered_titulaire_data( lff = lff.drop(hidden_columns) if filter_query: - lff = filter_table_data(lff, filter_query) + lff = filter_table_data(lff, filter_query, "titu download") if len(sort_by) > 0: lff = sort_table_data(lff, sort_by) diff --git a/src/utils.py b/src/utils.py index 05878d3..15e22a1 100644 --- a/src/utils.py +++ b/src/utils.py @@ -569,7 +569,7 @@ def search_org(dff: pl.DataFrame, query: str, org_type: str) -> pl.DataFrame: def prepare_table_data( - data, data_timestamp, filter_query, page_current, page_size, sort_by + data, data_timestamp, filter_query, page_current, page_size, sort_by, source_table ): """ Fonction de préparation des données pour les datatables, afin de permettre une gestion fine des logiques, @@ -580,6 +580,7 @@ def prepare_table_data( :param page_current: :param page_size: :param sort_by: + :param source_table: :return: """ @@ -594,7 +595,7 @@ def prepare_table_data( # Application des filtres if filter_query: - lff = filter_table_data(lff, filter_query) + lff = filter_table_data(lff, filter_query, source_table) # Application des tris if len(sort_by) > 0: