feat: Ajout de la gestion de la quantité pour les options d'événement

This commit is contained in:
ElPoyo
2025-12-16 19:23:48 +01:00
parent 08f046c89c
commit 28d9e008af
6 changed files with 240 additions and 28 deletions

View File

@@ -392,6 +392,7 @@ class _OptionFormDialogState extends State<_OptionFormDialog> {
final _minPriceController = TextEditingController();
final _maxPriceController = TextEditingController();
List<String> _selectedTypes = [];
bool _isQuantitative = false;
bool _loading = false;
String? _error;
@@ -405,6 +406,7 @@ class _OptionFormDialogState extends State<_OptionFormDialog> {
_minPriceController.text = widget.option!.valMin.toString();
_maxPriceController.text = widget.option!.valMax.toString();
_selectedTypes = List.from(widget.option!.eventTypes);
_isQuantitative = widget.option!.isQuantitative;
}
}
@@ -476,6 +478,7 @@ class _OptionFormDialogState extends State<_OptionFormDialog> {
'valMin': min,
'valMax': max,
'eventTypes': _selectedTypes,
'isQuantitative': _isQuantitative,
};
if (widget.option == null) {
@@ -584,6 +587,18 @@ class _OptionFormDialogState extends State<_OptionFormDialog> {
],
),
const SizedBox(height: 16),
CheckboxListTile(
title: const Text('Option quantitative'),
subtitle: const Text('Permet de spécifier une quantité lors de l\'ajout à un événement'),
value: _isQuantitative,
onChanged: (value) {
setState(() {
_isQuantitative = value ?? false;
});
},
controlAffinity: ListTileControlAffinity.leading,
),
const SizedBox(height: 16),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [