fix: Stationsabschluss absichern und Kundenformulare anpassen

Sperrt nachträgliche Aufgabenabschlüsse in App und Backend und zeigt erledigte Aufträge trotz offener optionaler Aufgaben grün an. Ergänzt Regressionstests, die Anredeauswahl und optionale Steuerangaben für Kunden. Enthält App-Version 0.9.25, Backend-Version 0.9.26 und das aktualisierte Frontend-Bundle.
This commit is contained in:
Sven committed 2026-10-06 15:09:51 +02:00
1 parent 8758c53e5b
commit 5e6044e4b1
16 files changed
+638 -69

No files matched your search

+10
View File
@@ -6,6 +6,7 @@ class Job {
final String id; // Will store the timestamp as string
final String jobNumber;
final String status;
final List<int> completedStationOrders;
final DateTime createdAt;
final DateTime updatedAt;
final String createdBy;
@@ -61,6 +62,7 @@ class Job {
required this.id,
required this.jobNumber,
required this.status,
this.completedStationOrders = const [],
required this.createdAt,
required this.updatedAt,
required this.createdBy,
@@ -332,6 +334,12 @@ class Job {
id: idValue,
jobNumber: jobJson['jobNumber']?.toString() ?? '',
status: jobJson['status']?.toString() ?? 'UNKNOWN',
completedStationOrders:
(jobJson['completedStationOrders'] as List? ?? const [])
.map((value) => int.tryParse(value.toString()))
.whereType<int>()
.toSet()
.toList(),
createdAt: _parseDateTime(jobJson['createdAt']) ?? DateTime.now(),
updatedAt: _parseDateTime(jobJson['updatedAt']) ?? DateTime.now(),
createdBy: jobJson['createdBy']?.toString() ?? '',
@@ -391,6 +399,7 @@ class Job {
id: id,
jobNumber: t(jobNumber),
status: t(status),
completedStationOrders: List.of(completedStationOrders),
createdAt: createdAt,
updatedAt: updatedAt,
createdBy: t(createdBy),
@@ -446,6 +455,7 @@ class Job {
'id': id,
'jobNumber': jobNumber,
'status': status,
'completedStationOrders': completedStationOrders,
'createdAt': createdAt.toIso8601String(),
'updatedAt': updatedAt.toIso8601String(),
'createdBy': createdBy,