feat: Ajout de la gestion des maintenances et intégration de la synthèse vocale
This commit is contained in:
@@ -19,6 +19,7 @@ import 'package:em2rp/views/widgets/equipment/equipment_current_events_section.d
|
||||
import 'package:em2rp/views/widgets/equipment/equipment_price_section.dart';
|
||||
import 'package:em2rp/views/widgets/equipment/equipment_maintenance_history_section.dart';
|
||||
import 'package:em2rp/views/widgets/equipment/equipment_dates_section.dart';
|
||||
import 'package:em2rp/views/maintenance_form_page.dart';
|
||||
import 'package:qr_flutter/qr_flutter.dart';
|
||||
import 'package:printing/printing.dart';
|
||||
|
||||
@@ -152,6 +153,7 @@ class _EquipmentDetailPageState extends State<EquipmentDetailPage> {
|
||||
maintenances: _maintenances,
|
||||
isLoading: _isLoadingMaintenances,
|
||||
hasManagePermission: hasManagePermission,
|
||||
onAddMaintenance: hasManagePermission ? _planMaintenance : null,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -175,6 +177,7 @@ class _EquipmentDetailPageState extends State<EquipmentDetailPage> {
|
||||
maintenances: _maintenances,
|
||||
isLoading: _isLoadingMaintenances,
|
||||
hasManagePermission: hasManagePermission,
|
||||
onAddMaintenance: hasManagePermission ? _planMaintenance : null,
|
||||
),
|
||||
const SizedBox(height: 24),
|
||||
EquipmentDatesSection(equipment: widget.equipment),
|
||||
@@ -378,6 +381,36 @@ class _EquipmentDetailPageState extends State<EquipmentDetailPage> {
|
||||
);
|
||||
}
|
||||
|
||||
/// Planifier une nouvelle maintenance pour cet équipment
|
||||
Future<void> _planMaintenance() async {
|
||||
final userProvider = Provider.of<LocalUserProvider>(context, listen: false);
|
||||
final hasPermission = userProvider.hasPermission('manage_maintenances');
|
||||
|
||||
if (!hasPermission) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('Vous n\'avez pas la permission de gérer les maintenances'),
|
||||
backgroundColor: Colors.orange,
|
||||
),
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
final result = await Navigator.push<bool>(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => MaintenanceFormPage(
|
||||
initialEquipmentIds: [widget.equipment.id],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
// Recharger les maintenances si une maintenance a été créée
|
||||
if (result == true && mounted) {
|
||||
await _loadMaintenances();
|
||||
}
|
||||
}
|
||||
|
||||
void _editEquipment() {
|
||||
Navigator.push(
|
||||
context,
|
||||
|
||||
Reference in New Issue
Block a user