fix(bookings): the delete question for a booking with a linked expense says the expense is deleted too

Deleting a booking also deletes the expenses linked to it, but the
question only said the booking would be deleted. A booking with a linked
expense now says so in every place that asks: the bookings list and detail,
the transport and transit dialogs, and the phone's booking cards. The MCP
delete_reservation description names the linked expenses and the stay a
hotel booking created as well.

Refs #2604
This commit is contained in:
Maurice
2026-10-12 20:42:55 +02:00
parent 62a80f420c
commit d4f4ab3891
38 changed files with 94 additions and 13 deletions
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'هل تريد حذف الحجز "{name}"؟',
'reservations.confirm.deleteTitle': 'حذف الحجز؟',
'reservations.confirm.deleteBody': 'سيتم حذف "{name}" نهائيًا.',
'reservations.confirm.deleteBodyWithExpense': 'سيتم حذف "{name}" نهائيًا، مع التكاليف المرتبطة به.',
'reservations.toast.updated': 'تم تحديث الحجز',
'reservations.toast.removed': 'تم حذف الحجز',
'reservations.toast.fileUploaded': 'تم رفع الملف',
+1
View File
@@ -87,6 +87,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '“{name}” rezervasiyasını silmək istədiyinizə əminsiniz?',
'reservations.confirm.deleteTitle': 'Rezervasiya silinsin?',
'reservations.confirm.deleteBody': '“{name}” həmişəlik silinəcək.',
'reservations.confirm.deleteBodyWithExpense': '“{name}” və ona bağlı xərclər həmişəlik silinəcək.',
'reservations.toast.updated': 'Rezervasiya yeniləndi',
'reservations.toast.removed': 'Rezervasiya silindi',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Tem certeza de que deseja excluir a reserva "{name}"?',
'reservations.confirm.deleteTitle': 'Excluir reserva?',
'reservations.confirm.deleteBody': '"{name}" será excluído permanentemente.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" e os custos vinculados serão excluídos permanentemente.',
'reservations.toast.updated': 'Reserva atualizada',
'reservations.toast.removed': 'Reserva excluída',
'reservations.toast.fileUploaded': 'Arquivo enviado',
+1
View File
@@ -43,6 +43,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Segur que vols eliminar la reserva "{name}"?',
'reservations.confirm.deleteTitle': 'Vols eliminar la reserva?',
'reservations.confirm.deleteBody': "« {name} » s'eliminarà permanentment.",
'reservations.confirm.deleteBodyWithExpense': "« {name} » i els costos vinculats s'eliminaran permanentment.",
'reservations.toast.updated': 'Reserva actualitzada',
'reservations.toast.removed': 'Reserva eliminada',
'reservations.toast.fileUploaded': 'Fitxer pujat',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Opravdu chcete smazat rezervaci „{name}”?',
'reservations.confirm.deleteTitle': 'Smazat rezervaci?',
'reservations.confirm.deleteBody': '„{name}” bude trvale smazána.',
'reservations.confirm.deleteBodyWithExpense': '„{name}” bude trvale smazána i s propojenými náklady.',
'reservations.toast.updated': 'Rezervace aktualizována',
'reservations.toast.removed': 'Rezervace smazána',
'reservations.toast.fileUploaded': 'Soubor byl nahrán',
+1
View File
@@ -77,6 +77,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Möchtest du die Reservierung "{name}" wirklich löschen?',
'reservations.confirm.deleteTitle': 'Buchung löschen?',
'reservations.confirm.deleteBody': '"{name}" wird unwiderruflich gelöscht.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" wird zusammen mit den verknüpften Kosten unwiderruflich gelöscht.',
'reservations.toast.updated': 'Reservierung aktualisiert',
'reservations.toast.removed': 'Reservierung gelöscht',
'reservations.toast.saveError': 'Fehler beim Speichern',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Are you sure you want to delete the reservation "{name}"?',
'reservations.confirm.deleteTitle': 'Delete booking?',
'reservations.confirm.deleteBody': '"{name}" will be permanently deleted.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" will be permanently deleted, along with its linked costs.',
'reservations.toast.updated': 'Reservation updated',
'reservations.toast.removed': 'Reservation deleted',
'reservations.toast.fileUploaded': 'File uploaded',
+1
View File
@@ -43,6 +43,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '¿Seguro que quieres eliminar la reserva "{name}"?',
'reservations.confirm.deleteTitle': '¿Eliminar reserva?',
'reservations.confirm.deleteBody': '« {name} » se eliminará permanentemente.',
'reservations.confirm.deleteBodyWithExpense': '« {name} » y sus costes vinculados se eliminarán permanentemente.',
'reservations.toast.updated': 'Reserva actualizada',
'reservations.toast.removed': 'Reserva eliminada',
'reservations.toast.fileUploaded': 'Archivo subido',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Kas soovid kindlasti kustutada broneeringu "{name}"?',
'reservations.confirm.deleteTitle': 'Kas kustutada broneering?',
'reservations.confirm.deleteBody': '"{name}" kustutatakse jäädavalt.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" kustutatakse jäädavalt koos sellega seotud kuludega.',
'reservations.toast.updated': 'Broneering uuendatud',
'reservations.toast.removed': 'Broneering kustutatud',
'reservations.toast.fileUploaded': 'Fail üles laaditud',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Voulez-vous vraiment supprimer la réservation « {name} » ?',
'reservations.confirm.deleteTitle': 'Supprimer la réservation ?',
'reservations.confirm.deleteBody': '« {name} » sera définitivement supprimé.',
'reservations.confirm.deleteBodyWithExpense': '« {name} » et ses coûts liés seront définitivement supprimés.',
'reservations.toast.updated': 'Réservation mise à jour',
'reservations.toast.removed': 'Réservation supprimée',
'reservations.toast.fileUploaded': 'Fichier importé',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Είστε σίγουροι ότι θέλετε να διαγράψετε την κράτηση "{name}";',
'reservations.confirm.deleteTitle': 'Διαγραφή κράτησης;',
'reservations.confirm.deleteBody': 'Η κράτηση "{name}" θα διαγραφεί οριστικά.',
'reservations.confirm.deleteBodyWithExpense': 'Η κράτηση "{name}" θα διαγραφεί οριστικά μαζί με τα συνδεδεμένα έξοδα.',
'reservations.toast.updated': 'Η κράτηση ενημερώθηκε',
'reservations.toast.removed': 'Η κράτηση διαγράφηκε',
'reservations.toast.fileUploaded': 'Το αρχείο μεταφορτώθηκε',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Biztosan törölni szeretnéd a(z) "{name}" foglalást?',
'reservations.confirm.deleteTitle': 'Foglalás törlése?',
'reservations.confirm.deleteBody': '"{name}" véglegesen törlődik.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" a hozzá kapcsolt költségekkel együtt véglegesen törlődik.',
'reservations.toast.updated': 'Foglalás frissítve',
'reservations.toast.removed': 'Foglalás törölve',
'reservations.toast.fileUploaded': 'Fájl feltöltve',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Yakin ingin menghapus reservasi "{name}"?',
'reservations.confirm.deleteTitle': 'Hapus pemesanan?',
'reservations.confirm.deleteBody': '"{name}" akan dihapus permanen.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" beserta biaya yang terkait akan dihapus permanen.',
'reservations.toast.updated': 'Reservasi diperbarui',
'reservations.toast.removed': 'Reservasi dihapus',
'reservations.toast.fileUploaded': 'File diunggah',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Sei sicuro di voler eliminare la prenotazione "{name}"?',
'reservations.confirm.deleteTitle': 'Eliminare la prenotazione?',
'reservations.confirm.deleteBody': '"{name}" verrà eliminato in modo permanente.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" e i costi collegati verranno eliminati in modo permanente.',
'reservations.toast.updated': 'Prenotazione aggiornata',
'reservations.toast.removed': 'Prenotazione eliminata',
'reservations.toast.fileUploaded': 'File caricato',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '予約「{name}」を削除しますか?',
'reservations.confirm.deleteTitle': '予約を削除しますか?',
'reservations.confirm.deleteBody': '「{name}」は完全に削除されます。',
'reservations.confirm.deleteBodyWithExpense': '「{name}」と紐づいた費用は完全に削除されます。',
'reservations.toast.updated': '予約を更新しました',
'reservations.toast.removed': '予約を削除しました',
'reservations.toast.fileUploaded': 'ファイルをアップロードしました',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '예약 "{name}"을(를) 삭제할까요?',
'reservations.confirm.deleteTitle': '예약을 삭제할까요?',
'reservations.confirm.deleteBody': '"{name}"이(가) 영구 삭제됩니다.',
'reservations.confirm.deleteBodyWithExpense': '"{name}"과(와) 연결된 비용이 영구 삭제됩니다.',
'reservations.toast.updated': '예약이 업데이트되었습니다',
'reservations.toast.removed': '예약이 삭제되었습니다',
'reservations.toast.fileUploaded': '파일이 업로드되었습니다',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Weet je zeker dat je de reservering "{name}" wilt verwijderen?',
'reservations.confirm.deleteTitle': 'Boeking verwijderen?',
'reservations.confirm.deleteBody': '"{name}" wordt permanent verwijderd.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" en de gekoppelde kosten worden permanent verwijderd.',
'reservations.toast.updated': 'Reservering bijgewerkt',
'reservations.toast.removed': 'Reservering verwijderd',
'reservations.toast.fileUploaded': 'Bestand geüpload',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Czy na pewno chcesz usunąć rezerwację "{name}"?',
'reservations.confirm.deleteTitle': 'Usunąć rezerwację?',
'reservations.confirm.deleteBody': 'Rezerwacja "{name}" zostanie trwale usunięta.',
'reservations.confirm.deleteBodyWithExpense': 'Rezerwacja "{name}" zostanie trwale usunięta wraz z powiązanymi kosztami.',
'reservations.toast.updated': 'Rezerwacja została zaktualizowana',
'reservations.toast.removed': 'Rezerwacja została usunięta',
'reservations.toast.fileUploaded': 'Plik został przesłany',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Вы уверены, что хотите удалить бронирование «{name}»?',
'reservations.confirm.deleteTitle': 'Удалить бронирование?',
'reservations.confirm.deleteBody': '«{name}» будет удалено навсегда.',
'reservations.confirm.deleteBodyWithExpense': '«{name}» и связанные с ним расходы будут удалены навсегда.',
'reservations.toast.updated': 'Бронирование обновлено',
'reservations.toast.removed': 'Бронирование удалено',
'reservations.toast.fileUploaded': 'Файл загружен',
+1
View File
@@ -77,6 +77,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Naozaj chcete odstrániť rezerváciu „{name}“?',
'reservations.confirm.deleteTitle': 'Odstrániť rezerváciu?',
'reservations.confirm.deleteBody': '„{name}“ bude natrvalo odstránená.',
'reservations.confirm.deleteBodyWithExpense': '„{name}“ bude natrvalo odstránená spolu s prepojenými nákladmi.',
'reservations.toast.updated': 'Rezervácia aktualizovaná',
'reservations.toast.removed': 'Rezervácia odstránená',
'reservations.toast.fileUploaded': 'Súbor bol nahraný',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Är du säker på att du vill ta bort bokningen "{name}"?',
'reservations.confirm.deleteTitle': 'Ta bort bokningen?',
'reservations.confirm.deleteBody': '"{name}" kommer att raderas permanent.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" och de kopplade kostnaderna kommer att raderas permanent.',
'reservations.toast.updated': 'Bokning uppdaterad',
'reservations.toast.removed': 'Bokning borttagen',
'reservations.toast.fileUploaded': 'Fil uppladdad',
+1
View File
@@ -76,6 +76,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'คุณแน่ใจหรือไม่ว่าต้องการลบการจอง "{name}"',
'reservations.confirm.deleteTitle': 'ลบการจองใช่ไหม',
'reservations.confirm.deleteBody': '"{name}" จะถูกลบอย่างถาวร',
'reservations.confirm.deleteBodyWithExpense': '"{name}" และค่าใช้จ่ายที่เชื่อมโยงไว้จะถูกลบอย่างถาวร',
'reservations.toast.updated': 'อัพเดตการจองแล้ว',
'reservations.toast.removed': 'ลบการจองแล้ว',
'reservations.toast.fileUploaded': 'อัปโหลดไฟล์แล้ว',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '"{name}" rezervasyonunu silmek istediğinizden emin misiniz?',
'reservations.confirm.deleteTitle': 'Rezervasyon silinsin mi?',
'reservations.confirm.deleteBody': '"{name}" kalıcı olarak silinecek.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" ve bağlı maliyetleri kalıcı olarak silinecek.',
'reservations.toast.updated': 'Rezervasyon güncellendi',
'reservations.toast.removed': 'Rezervasyon silindi',
'reservations.toast.fileUploaded': 'Dosya yüklendi',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Ви впевнені, що хочете видалити бронювання «{name}»?',
'reservations.confirm.deleteTitle': 'Видалити бронювання?',
'reservations.confirm.deleteBody': '«{name}» буде видалено назавжди.',
'reservations.confirm.deleteBodyWithExpense': '«{name}» і пов’язані з ним витрати буде видалено назавжди.',
'reservations.toast.updated': 'Бронювання оновлено',
'reservations.toast.removed': 'Бронювання видалено',
'reservations.toast.fileUploaded': 'Файл завантажено',
+1
View File
@@ -75,6 +75,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': 'Bạn có chắc chắn muốn xóa đặt chỗ "{name}" không?',
'reservations.confirm.deleteTitle': 'Xóa đặt chỗ?',
'reservations.confirm.deleteBody': '"{name}" sẽ bị xóa vĩnh viễn.',
'reservations.confirm.deleteBodyWithExpense': '"{name}" và các chi phí liên kết sẽ bị xóa vĩnh viễn.',
'reservations.toast.updated': 'Đã cập nhật đặt chỗ',
'reservations.toast.removed': 'Đã xóa đặt chỗ',
'reservations.toast.fileUploaded': 'Tệp đã được tải lên',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '確定要刪除預訂「{name}」嗎?',
'reservations.confirm.deleteTitle': '刪除預訂?',
'reservations.confirm.deleteBody': '"{name}" 將被永久刪除。',
'reservations.confirm.deleteBodyWithExpense': '"{name}" 及其關聯的費用將被永久刪除。',
'reservations.toast.updated': '預訂已更新',
'reservations.toast.removed': '預訂已刪除',
'reservations.toast.fileUploaded': '檔案已上傳',
+1
View File
@@ -74,6 +74,7 @@ const reservations: TranslationStrings = {
'reservations.confirm.delete': '确定要删除预订「{name}」吗?',
'reservations.confirm.deleteTitle': '删除预订?',
'reservations.confirm.deleteBody': '"{name}" 将被永久删除。',
'reservations.confirm.deleteBodyWithExpense': '"{name}" 及其关联的费用将被永久删除。',
'reservations.toast.updated': '预订已更新',
'reservations.toast.removed': '预订已删除',
'reservations.toast.fileUploaded': '文件已上传',