This commit introduces a complete overhaul of how equipment is assigned to events, focusing on an enhanced user experience, advanced selection capabilities, and robust conflict detection.
**Key Features & Enhancements:**
- **Advanced Equipment Selection UI (`EquipmentSelectionDialog`):**
- New full-screen dialog to select equipment and containers ("boîtes") for an event.
- Hierarchical view showing containers and a flat list of all individual equipment.
- Real-time search and filtering by equipment category.
- Side panel summarizing the current selection and providing recommendations for containers based on selected equipment.
- Supports quantity selection for consumables and cables.
- **Conflict Detection & Management (`EventAvailabilityService`):**
- A new service (`EventAvailabilityService`) checks for equipment availability against other events based on the selected date range.
- The selection dialog visually highlights equipment and containers with scheduling conflicts (e.g., already used, partially unavailable).
- A dedicated conflict resolution dialog (`EquipmentConflictDialog`) appears if conflicting items are selected, allowing the user to either remove them or force the assignment.
- **Integrated Event Form (`EventAssignedEquipmentSection`):**
- The event creation/editing form now includes a new section for managing assigned equipment.
- It clearly displays assigned containers and standalone equipment, showing the composition of each container.
- Integrates the new selection dialog, ensuring all assignments are checked for conflicts before being saved.
- **Event Preparation & Return Workflow (`EventPreparationPage`):**
- New page (`EventPreparationPage`) for managing the check-out (preparation) and check-in (return) of equipment for an event.
- Provides a checklist of all assigned equipment.
- Users can validate each item, with options to "validate all" or finalize with missing items.
- Includes a dialog (`MissingEquipmentDialog`) to handle discrepancies.
- Supports tracking returned quantities for consumables.
**Data Model and Other Changes:**
- The `EventModel` now includes `assignedContainers` to explicitly link containers to an event.
- `EquipmentAssociatedEventsSection` on the equipment detail page is now functional, displaying current, upcoming, and past events for that item.
- Added deployment and versioning scripts (`scripts/deploy.js`, `scripts/increment_version.js`, `scripts/toggle_env.js`) to automate the release process.
- Introduced an application version display in the main drawer (`AppVersion`).
48 lines
762 B
Plaintext
48 lines
762 B
Plaintext
# Miscellaneous
|
|
*.class
|
|
*.log
|
|
*.pyc
|
|
*.swp
|
|
.DS_Store
|
|
.atom/
|
|
.buildlog/
|
|
.history
|
|
.svn/
|
|
migrate_working_dir/
|
|
|
|
# IntelliJ related
|
|
*.iml
|
|
*.ipr
|
|
*.iws
|
|
.idea/
|
|
|
|
# The .vscode folder contains launch configuration and tasks you configure in
|
|
# VS Code which you may wish to be included in version control, so this line
|
|
# is commented out by default.
|
|
#.vscode/
|
|
|
|
# Flutter/Dart/Pub related
|
|
**/doc/api/
|
|
**/ios/Flutter/.last_build_id
|
|
.dart_tool/
|
|
.flutter-plugins
|
|
.flutter-plugins-dependencies
|
|
.pub-cache/
|
|
.pub/
|
|
/build/
|
|
|
|
# Symbolication related
|
|
app.*.symbols
|
|
|
|
# Obfuscation related
|
|
app.*.map.json
|
|
|
|
# Android Studio will place build artifacts here
|
|
/android/app/debug
|
|
/android/app/profile
|
|
/android/app/release
|
|
|
|
# Environment configuration with credentials
|
|
lib/config/env.dev.dart
|
|
|