aggiunta scelta business o privato
This commit is contained in:
@@ -206,6 +206,7 @@ class OperationFormCubit extends Cubit<OperationFormState> {
|
||||
String? staffId,
|
||||
String? staffDisplayName,
|
||||
OperationStatus? status,
|
||||
bool? isBusiness,
|
||||
|
||||
bool clearProvider = false,
|
||||
bool clearType = false,
|
||||
@@ -247,6 +248,7 @@ class OperationFormCubit extends Cubit<OperationFormState> {
|
||||
staffId: staffId ?? current.staffId,
|
||||
staffDisplayName: staffDisplayName ?? current.staffDisplayName,
|
||||
status: status ?? current.status,
|
||||
isBusiness: isBusiness ?? current.isBusiness,
|
||||
);
|
||||
|
||||
emit(state.copyWith(operation: updated));
|
||||
|
||||
@@ -48,6 +48,7 @@ class OperationModel extends Equatable {
|
||||
final String? customerId;
|
||||
final CustomerModel? customer;
|
||||
final String reference;
|
||||
final bool isBusiness;
|
||||
|
||||
// ALLEGATI (Aggiunto)
|
||||
final List<AttachmentModel> attachments;
|
||||
@@ -78,6 +79,7 @@ class OperationModel extends Equatable {
|
||||
this.customer,
|
||||
this.reference = '',
|
||||
this.attachments = const [],
|
||||
this.isBusiness = false,
|
||||
});
|
||||
|
||||
OperationModel copyWith({
|
||||
@@ -106,6 +108,7 @@ class OperationModel extends Equatable {
|
||||
CustomerModel? customer,
|
||||
String? reference,
|
||||
List<AttachmentModel>? attachments,
|
||||
bool? isBusiness,
|
||||
}) => OperationModel(
|
||||
id: id ?? this.id,
|
||||
createdAt: createdAt ?? this.createdAt,
|
||||
@@ -132,6 +135,7 @@ class OperationModel extends Equatable {
|
||||
customer: customer ?? this.customer,
|
||||
reference: reference ?? this.reference,
|
||||
attachments: attachments ?? this.attachments,
|
||||
isBusiness: isBusiness ?? this.isBusiness,
|
||||
);
|
||||
|
||||
@override
|
||||
@@ -161,6 +165,7 @@ class OperationModel extends Equatable {
|
||||
customer,
|
||||
reference,
|
||||
attachments,
|
||||
isBusiness,
|
||||
];
|
||||
|
||||
factory OperationModel.empty() {
|
||||
@@ -221,6 +226,7 @@ class OperationModel extends Equatable {
|
||||
const [],
|
||||
|
||||
reference: map['reference'] as String? ?? '',
|
||||
isBusiness: map['is_business'] as bool? ?? false,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -245,6 +251,7 @@ class OperationModel extends Equatable {
|
||||
'status': status.supabaseName,
|
||||
if (customerId != null) 'customer_id': customerId,
|
||||
'reference': reference,
|
||||
'is_business': isBusiness,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -457,10 +457,11 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
|
||||
);
|
||||
}).toList(),
|
||||
onChanged: (newStatus) {
|
||||
if (newStatus != null)
|
||||
if (newStatus != null) {
|
||||
context.read<OperationFormCubit>().updateFields(
|
||||
status: newStatus,
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
@@ -482,6 +483,38 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
|
||||
icon: Icons.design_services,
|
||||
themeColor: Colors.deepOrange,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
ChoiceChip(
|
||||
label: const Text('Privato (Domestico)'),
|
||||
selected: !state.operation.isBusiness,
|
||||
selectedColor: Colors.blue.withValues(alpha: 0.2),
|
||||
checkmarkColor: Colors.blue.shade700,
|
||||
onSelected: (selected) {
|
||||
if (selected) {
|
||||
context.read<OperationFormCubit>().updateFields(
|
||||
isBusiness: false,
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
const SizedBox(width: 12),
|
||||
ChoiceChip(
|
||||
label: const Text('Business (P.IVA)'),
|
||||
selected: state.operation.isBusiness,
|
||||
selectedColor: Colors.orange.withValues(alpha: 0.2),
|
||||
checkmarkColor: Colors.orange.shade700,
|
||||
onSelected: (selected) {
|
||||
if (selected) {
|
||||
context.read<OperationFormCubit>().updateFields(
|
||||
isBusiness: true,
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
const Divider(height: 32),
|
||||
Wrap(
|
||||
spacing: 8.0,
|
||||
runSpacing: 8.0,
|
||||
@@ -490,10 +523,11 @@ class _OperationFormScreenState extends State<OperationFormScreen> {
|
||||
label: Text(type),
|
||||
selected: state.operation.type == type,
|
||||
onSelected: (selected) {
|
||||
if (selected)
|
||||
if (selected) {
|
||||
context.read<OperationFormCubit>().setTypeWithSmartDefault(
|
||||
type,
|
||||
);
|
||||
}
|
||||
},
|
||||
);
|
||||
}).toList(),
|
||||
|
||||
Reference in New Issue
Block a user