Compare commits

..

1 Commits

Author SHA1 Message Date
Gustavo Henrique Miranda 5c03823df6
Merge 83fdb885a9 into 08a5030846 2025-07-23 10:27:43 +00:00
4 changed files with 2 additions and 48 deletions

View File

@ -3,7 +3,6 @@ import re
import shutil import shutil
from pathlib import Path from pathlib import Path
from pilgrim.models.entry import Entry
from pilgrim.utils import DirectoryManager from pilgrim.utils import DirectoryManager
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
@ -148,14 +147,3 @@ class TravelDiaryService:
self.session.rollback() self.session.rollback()
raise ValueError(f"Could not delete diary: {str(e)}") raise ValueError(f"Could not delete diary: {str(e)}")
return None return None
def delete_all_entries(self,travel_diary: TravelDiary):
diary = self.read_by_id(travel_diary.id)
if diary is not None:
diary.entries = []
self.session.commit()
return True
return False

View File

@ -3,7 +3,6 @@ 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
@ -11,23 +10,11 @@ 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):
from pilgrim.ui.screens.diary_list_screen import DiaryListScreen
self.result = True self.result = True
self._delete_entries()
self.dismiss() 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")

View File

@ -5,8 +5,6 @@ from textual.binding import Binding
from textual import on from textual import on
class DeleteDiaryModal(Screen): class DeleteDiaryModal(Screen):
BINDINGS = [ BINDINGS = [
@ -46,19 +44,11 @@ class DeleteDiaryModal(Screen):
else: else:
self.delete_button.disabled = True self.delete_button.disabled = True
@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.result = True
self._delete_diary()
self.dismiss() self.dismiss()
from pilgrim.ui.screens.diary_list_screen import DiaryListScreen
self.app.push_screen(DiaryListScreen())
@on(Button.Pressed,"#DeleteDiaryModal-CancelButton") @on(Button.Pressed,"#DeleteDiaryModal-CancelButton")
def on_cancel_button_pressed(self, event): def on_cancel_button_pressed(self, event):
@ -67,11 +57,3 @@ class DeleteDiaryModal(Screen):
def action_cancel(self): def action_cancel(self):
self.dismiss() self.dismiss()
def _delete_diary(self):
diary = self.app.service_manager.get_travel_diary_service().read_by_id(self.diary_id)
self.app.service_manager.get_travel_diary_service().delete(diary)
if self.app.config_manager.get_auto_open_diary() == self.diary_name:
self.app.config_manager.set_auto_open_diary(None)
self.app.config_manager.save_config()

View File

@ -5,8 +5,6 @@ from textual.binding import Binding
from textual import on from textual import on
class DeleteYesConfirmationModal(Screen): class DeleteYesConfirmationModal(Screen):
BINDINGS = [ BINDINGS = [
Binding("escape", "cancel", "Cancel"), Binding("escape", "cancel", "Cancel"),
@ -47,9 +45,8 @@ class DeleteYesConfirmationModal(Screen):
self.action_cancel() self.action_cancel()
def action_cancel(self): def action_cancel(self):
from pilgrim.ui.screens.diary_settings_screen import SettingsScreen
self.dismiss() self.dismiss()
self.app.push_screen(SettingsScreen(self.diary_id)) self.app.push_screen(SettingsScreen(diary=travel_diary[0]))
def compose(self): def compose(self):
yield Header() yield Header()