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

@@ -429,9 +429,9 @@ messages.sender.unknown=Unknown Sender
# Add Job
addjob.title=Create New Job
addjob.customer.label=Customer
addjob.customer.placeholder=Select Customer
addjob.customer.unnamed=Unnamed Customer
addjob.customer.label=Principal
addjob.customer.placeholder=Select principal
addjob.customer.unnamed=Unnamed principal
addjob.button.clearfields=Clear Fields
addjob.button.submit=Create Job
addjob.address.salutation=Salutation
@@ -440,6 +440,10 @@ addjob.salutation.mr=Mr
addjob.salutation.ms=Ms
addjob.salutation.other=Other
addjob.address.company.placeholder=Enter company
addjob.address.pickup.label=Pickup address
addjob.address.pickup.placeholder=Select or enter pickup address
addjob.address.delivery.label=Delivery address
addjob.address.delivery.placeholder=Select or enter delivery address
addjob.address.street.placeholder=Enter street
addjob.address.housenumber=House Number
addjob.address.addition.placeholder=Address suffix
@@ -460,6 +464,8 @@ addjob.station.max.reached=Maximum number of 25 delivery stations reached
addjob.station.unused=Not used
addjob.appointment.delivery.info=Delivery dates are set directly in the delivery stations.
addjob.tab.addresses=Client & Addresses
addjob.tab.pickup.address=Principal & Pickup Address
addjob.tab.delivery.address=Delivery Address
addjob.tab.appointments=Appointments & Processing
addjob.tab.cargo=Cargo
addjob.tab.tasks=Tasks
@@ -621,6 +627,9 @@ jobsummary.dialog.manualcomplete.reason.required=Please enter a reason
jobsummary.dialog.manualcomplete.cancel=Cancel
jobsummary.dialog.manualcomplete.confirm=Accept
jobsummary.history.manualcomplete.reason=Manually completed
jobmanualcomplete.route.hours=Hours
jobmanualcomplete.route.minutes=Minutes
jobmanualcomplete.route.manual.hint=No route data available please enter distance and duration manually.
# Jobs
jobs.title=Jobs