From c5edb835b656f0f398e21de21ac844eb4d993783 Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Wed, 23 Jul 2025 08:45:50 -0300 Subject: [PATCH] Add the feature to delete all the entries from a travel diary --- .../delete_all_entries_from_diary_modal.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/pilgrim/ui/screens/modals/delete_all_entries_from_diary_modal.py b/src/pilgrim/ui/screens/modals/delete_all_entries_from_diary_modal.py index ec5d5ad..b03db96 100644 --- a/src/pilgrim/ui/screens/modals/delete_all_entries_from_diary_modal.py +++ b/src/pilgrim/ui/screens/modals/delete_all_entries_from_diary_modal.py @@ -3,6 +3,7 @@ from textual.widgets import Button from textual import on + from pilgrim.ui.screens.modals.delete_yes_confirmation_modal import DeleteYesConfirmationModal @@ -10,11 +11,23 @@ class DeleteAllEntriesModal(DeleteYesConfirmationModal): def __init__(self,diary_id:int): super().__init__(diary_id) self.head_text.update("Are you sure you want to delete all entries from this diary?") + self.delete_button.add_class("DeleteDiaryModal-DeleteButton") - @on(Button.Pressed, "#DeleteDiaryModal-DeleteButton") + @on(Button.Pressed, ".DeleteDiaryModal-DeleteButton") def on_delete_button_pressed(self, event): - self.result = True - self.dismiss() + from pilgrim.ui.screens.diary_list_screen import DiaryListScreen + + self.result = True + self._delete_entries() + self.dismiss() + self.app.push_screen(DiaryListScreen()) + + def _delete_entries(self): + diary = self.app.service_manager.get_travel_diary_service().read_by_id(self.diary_id) + if self.app.service_manager.get_travel_diary_service().delete_all_entries(diary): + self.notify("All entries deleted successfully") + else: + self.notify("Failed to delete all entries")