feat: Kundenauswahl vereinheitlicht und Job manuell beenden mit Leistungs-/Routenerfassung

- Kunden-Repository liefert auch Legacy-Dokumente ohne internal-Flag ($ne: true)
- Auftraggeber- und Abholadress-Labels über neuen CustomerAddressLabelHelper, zeigen nur Firmenname bzw. Vor-/Nachname ohne Adresszusatz
- Pickup-Dialog: E-Mail ist kein Pflichtfeld mehr
- JobManualCompleteView erhält Route-/Leistungen-/Zusammenfassung-/Bemerkung-Block mit Vorbelegung aus dem Auftrag; bei fehlenden Routendaten manuelle Eingabe von Entfernung und Dauer, die in die Preisermittlung einfliessen

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 17:11:08 +02:00
parent 069b829294
commit 5ac629c23d
20 changed files with 987 additions and 277 deletions

View File

@@ -428,9 +428,9 @@ messages.sender.unknown=Bilinmeyen G\u00f6nderici
# Add Job
addjob.title=Yeni \u0130\u015f Olu\u015ftur
addjob.customer.label=M\u00fc\u015fteri
addjob.customer.placeholder=M\u00fc\u015fteri Se\u00e7in
addjob.customer.unnamed=\u0130simsiz M\u00fc\u015fteri
addjob.customer.label=Sipari\u015f veren
addjob.customer.placeholder=Sipari\u015f vereni se\u00e7
addjob.customer.unnamed=\u0130simsiz sipari\u015f veren
addjob.button.clearfields=Alanlar\u0131 Temizle
addjob.button.submit=\u0130\u015f Olu\u015ftur
addjob.address.salutation=Hitap
@@ -439,6 +439,10 @@ addjob.salutation.mr=Bay
addjob.salutation.ms=Bayan
addjob.salutation.other=Di\u011fer
addjob.address.company.placeholder=\u015eirketi girin
addjob.address.pickup.label=Al\u0131m adresi
addjob.address.pickup.placeholder=Al\u0131m adresi se\u00e7in veya girin
addjob.address.delivery.label=Teslimat adresi
addjob.address.delivery.placeholder=Teslimat adresi se\u00e7in veya girin
addjob.address.street.placeholder=Soka\u011f\u0131 girin
addjob.address.housenumber=Kap\u0131 Numaras\u0131
addjob.address.addition.placeholder=Adres eki
@@ -459,6 +463,8 @@ addjob.station.max.reached=Maksimum 25 teslimat istasyonu s\u0131n\u0131r\u0131n
addjob.station.unused=Kullan\u0131lm\u0131yor
addjob.appointment.delivery.info=Teslimat tarihleri do\u011frudan teslimat istasyonlar\u0131nda belirlenir.
addjob.tab.addresses=M\u00fc\u015fteri & Adresler
addjob.tab.pickup.address=Sipari\u015f veren ve al\u0131m adresi
addjob.tab.delivery.address=Teslimat adresi
addjob.tab.appointments=Randevular & \u0130\u015fleme
addjob.tab.cargo=Kargo
addjob.tab.tasks=G\u00f6revler
@@ -620,6 +626,9 @@ jobsummary.dialog.manualcomplete.reason.required=Lütfen bir gerekçe girin
jobsummary.dialog.manualcomplete.cancel=İptal
jobsummary.dialog.manualcomplete.confirm=Kabul et
jobsummary.history.manualcomplete.reason=Manuel olarak tamamlandı
jobmanualcomplete.route.hours=Saat
jobmanualcomplete.route.minutes=Dakika
jobmanualcomplete.route.manual.hint=Rota verisi mevcut değil lütfen mesafeyi ve süreyi elle girin.
# Jobs
jobs.title=\u0130\u015fler