This commit is contained in:
2026-05-14 12:07:05 +02:00
parent 3b3cfb5e43
commit 0f9616f19a
8 changed files with 410 additions and 100 deletions

View File

@@ -30,7 +30,9 @@ enum TicketStatus {
ready('ready', 'Pronto'),
closed('closed', 'Chiuso'),
waitingForShipping('waiting_for_shipping', 'In attesa di spedire'),
waitingForReturn('waiting_for_return', 'In attesa di ritorno');
waitingForReturn('waiting_for_return', 'In attesa di ritorno'),
waitingForQuote('waiting_for_quote', 'In attesa di preventivo'),
waitingForCustomer('waiting_for_customer', 'In attesa del cliente');
final String value;
final String displayValue;
@@ -294,9 +296,9 @@ class TicketModel extends Equatable {
sourceModelName: (map['source_model']?['name_with_brand'] as String?)
?.myFormat(),
createdById: map['staff_id'] as String?,
createdByName: (map['staff']?['name'] as String?).myFormat(),
createdByName: (map['created_by']?['name'] as String?)?.myFormat(),
assignedToId: map['assigned_to_id'] as String?,
assignedToName: (map['assigned_to']?['name'] as String?).myFormat(),
assignedToName: (map['assigned_to']?['name'] as String?)?.myFormat(),
includedAccessories: map['included_accessories'] as String?,
);
}
@@ -322,7 +324,7 @@ class TicketModel extends Equatable {
'returned_at': returnedAt!.toUtc().toIso8601String(),
'request': request,
'created_by_id': createdById,
'warranty_type': warrantyType,
'warranty_type': warrantyType?.value ?? WarrantyType.noWarranty.value,
'public_notes': publicNotes,
'internal_notes': internalNotes,
'reference_id': referenceId,

View File

@@ -6,7 +6,9 @@ extension TicketStatusVisuals on TicketStatus {
switch (this) {
case TicketStatus.open:
return Colors.blueGrey;
case TicketStatus.waitingForParts:
case TicketStatus.waitingForParts ||
TicketStatus.waitingForQuote ||
TicketStatus.waitingForCustomer:
return Colors.amber.shade700;
case TicketStatus.inProgress:
return Colors.blue;
@@ -26,7 +28,9 @@ extension TicketStatusVisuals on TicketStatus {
switch (this) {
case TicketStatus.open:
return Icons.inbox;
case TicketStatus.waitingForParts:
case TicketStatus.waitingForParts ||
TicketStatus.waitingForQuote ||
TicketStatus.waitingForCustomer:
return Icons.hourglass_empty;
case TicketStatus.inProgress:
return Icons.build;