Add the feature to delete all the entries from a travel diary

This commit is contained in:
Gustavo Henrique Santos Souza de Miranda 2025-07-23 08:45:50 -03:00
parent ed89669431
commit c5edb835b6
1 changed files with 16 additions and 3 deletions

View File

@ -3,6 +3,7 @@ from textual.widgets import Button
from textual import on from textual import on
from pilgrim.ui.screens.modals.delete_yes_confirmation_modal import DeleteYesConfirmationModal from pilgrim.ui.screens.modals.delete_yes_confirmation_modal import DeleteYesConfirmationModal
@ -10,11 +11,23 @@ class DeleteAllEntriesModal(DeleteYesConfirmationModal):
def __init__(self,diary_id:int): def __init__(self,diary_id:int):
super().__init__(diary_id) super().__init__(diary_id)
self.head_text.update("Are you sure you want to delete all entries from this diary?") 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): 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")