This commit is contained in:
2026-05-11 11:44:14 +02:00
parent 5c86483563
commit a76180497e
11 changed files with 221 additions and 71 deletions

View File

@@ -73,14 +73,15 @@ class TicketFormCubit extends Cubit<TicketFormState> {
ticket: state.ticket.copyWith(
customerId: customer.id,
customerName: customer.name,
alternativePhoneNumber: customer.phoneNumber, // Comodo come fallback!
alternativePhoneNumber: customer.phoneNumber,
customerEmail: customer.email,
),
),
);
}
/// 3. AGGIORNAMENTO MODELLO (Usato dal nostro SharedModelSection!)
void updateModel({required String modelId, required String modelName}) {
void updateTargetModel({required String modelId, required String modelName}) {
emit(
state.copyWith(
ticket: state.ticket.copyWith(
@@ -143,7 +144,7 @@ class TicketFormCubit extends Cubit<TicketFormState> {
}
/// 5. SALVATAGGIO
Future<void> saveTicket({required bool keepAdding}) async {
Future<void> saveTicket() async {
emit(state.copyWith(status: TicketFormStatus.saving));
try {
@@ -159,28 +160,15 @@ class TicketFormCubit extends Cubit<TicketFormState> {
} else {
savedTicket = await _repository.updateTicket(ticketToSave);
}
if (keepAdding) {
emit(
state.copyWith(
status: TicketFormStatus.successAndAddAnother,
// Svuotiamo il form per il prossimo, mantenendo Store e Creatore ATTUALI
ticket: TicketModel.empty().copyWith(
companyId: savedTicket.companyId,
storeId: savedTicket.storeId,
createdById: ticketToSave
.createdById, // Manteniamo quello selezionato nella tendina!
createdByName: ticketToSave.createdByName,
ticketStatus: TicketStatus.open,
ticketType: TicketType.repair,
),
emit(
state.copyWith(
status: TicketFormStatus.success,
ticket: ticketToSave.copyWith(
id: savedTicket.id,
referenceId: savedTicket.referenceId,
),
);
} else {
emit(
state.copyWith(status: TicketFormStatus.success, ticket: savedTicket),
);
}
),
);
} catch (e) {
emit(
state.copyWith(