From b2806d61768a51b25df630b1060d180cc15292b3 Mon Sep 17 00:00:00 2001 From: Colin Maudry Date: Mon, 29 Jun 2026 16:45:47 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20erreur=20rename=20dupliqu=C3=A9=20+=20fe?= =?UTF-8?q?edback=20modal=20visible=20#95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- src/pages/compte_vues.py | 5 ++++- src/pages/tableau.py | 10 +++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/pages/compte_vues.py b/src/pages/compte_vues.py index d14ee73..7cd23ce 100644 --- a/src/pages/compte_vues.py +++ b/src/pages/compte_vues.py @@ -98,6 +98,9 @@ def rename_view(_n, view_id, new_name): clean = saved_views_ui.clean_view_name(new_name) if not view_id or not clean: return no_update - saved_views_db.rename(int(view_id), current_user.id, clean) + try: + saved_views_db.rename(int(view_id), current_user.id, clean) + except Exception: + return no_update views = saved_views_db.list_views(current_user.id, "tableau") return saved_views_ui.views_table(views) diff --git a/src/pages/tableau.py b/src/pages/tableau.py index fca4835..6187949 100644 --- a/src/pages/tableau.py +++ b/src/pages/tableau.py @@ -598,15 +598,14 @@ def toggle_saved_views_bar(_pathname): @callback( Output("save-view-modal", "is_open"), Input("btn-save-view", "n_clicks"), - Input("btn-save-view-confirm", "n_clicks"), - State("save-view-modal", "is_open"), prevent_initial_call=True, ) -def toggle_save_view_modal(_open, _confirm, is_open): - return not is_open +def toggle_save_view_modal(_open): + return True @callback( + Output("save-view-modal", "is_open", allow_duplicate=True), Output("save-view-feedback", "children"), Output("saved-views-refresh", "data"), Input("btn-save-view-confirm", "n_clicks"), @@ -620,10 +619,11 @@ def save_view(_n, name, filter_query, sort_by, hidden_columns): has_sub = current_user_has_subscription() clean_name, error = saved_views_ui.prepare_view_to_save(has_sub, name) if error: - return html.Span(error, style={"color": "red"}), no_update + return True, html.Span(error, style={"color": "red"}), no_update query = build_view_query(filter_query, sort_by, hidden_columns) saved_views_db.upsert(current_user.id, "tableau", clean_name, query) return ( + False, html.Span(f"Vue « {clean_name} » enregistrée.", style={"color": "green"}), clean_name, )