Commit graph

462 commits

Author SHA1 Message Date
Karl Determe
25a64b824a feat: add mobile views, stock management views, and preparation order templates 2026-09-29 13:55:26 +02:00
Karl Determe
f429838a39 feat: add stock management module, common models, and mobile views 2026-09-29 13:30:42 +02:00
Karl Determe
ca4d1b3c1b feat: add views and templates for stock batch creation on desktop and mobile 2026-09-29 12:42:27 +02:00
8b13236a26 fix(interventions,mobile): allow multi-thematic visibility for contractor teams and prevent persistent search query 2026-09-28 21:01:59 +02:00
de73de7328 feat(interventions,stock): sync preparation orders and material status on intervention cancellation
- Fix preparation status calculation by ignoring cancelled orders, preventing false green 'stock ready' icon
- Update item prepared state when preparation order is marked as processed
- Automatically cancel unprepared preparation orders when intervention is canceled
- Send alert notification to stock managers when canceled intervention has already prepared orders
- Add alert banner with direct restock/cancellation action on preparation order detail views
- Prevent editing material switches or creating orders for canceled interventions
- Add and compile translations for FR, EN and NL
- Add comprehensive automated unit tests
2026-09-28 20:01:39 +02:00
c00212f79e fix(interventions): translate modal status and apply assigned color on interventions list and map 2026-09-28 16:26:44 +02:00
37c1016b57 feat(interventions): distinguer les interventions 'à traiter' déjà assignées en rose (#d81b60)
- Ajout de la couleur 'to_be_processed_assigned' (#d81b60) dans STATUS_COLORS (Python & JS).
- Ajout de la propriété is_assigned sur le modèle Intervention.
- Prise en compte de la couleur dans les vues calendrier (membres, timeline, backlog, équipes) et sur la carte MapLibre du modal calendrier.
- Enrichissement des popups carte et des badges du backlog avec l'équipe/membre assigné.
- Ajout de tests unitaires validant la couleur et la sérialisation is_assigned.
2026-09-28 14:45:17 +02:00
0bbe267498 feat(contracts): auto-sync team schedule daily and on mobile access
- Register sync_teams_schedule in init_scheduled_tasks (daily at 04:00 local)
- Trigger sync_member_current_teams on mobile intervention list load
- Trigger sync_member_current_teams on user login signal
2026-09-28 14:17:44 +02:00
f4460a5323 feat: add edit note functionality and UI action buttons 2026-09-25 23:36:04 +02:00
205a05cb5b feat(interventions): aligner les permissions des notes par statut et historiser le mobile
- Autoriser les modifications/suppressions de notes jusqu'au statut 'traité' pour les externes
- Autoriser les modifications/suppressions de notes jusqu'au statut 'validé' pour les internes
- Supprimer la contrainte horaire de 1h sur la modification des notes
- Brancher l'historisation de la chronologie sur la création et modification de notes mobile
- Tracer l'upload des photos de formulaires mobiles dans la chronologie
- Ajouter les tests unitaires et d'intégration correspondants
2026-09-25 23:20:09 +02:00
7911369740 feat: restrict intervention timeline history and filter controls to internal users 2026-09-25 22:53:32 +02:00
2df4621e5b feat(interventions): afficher les statuts de la chronologie sous forme de cercles numérotés
- Reprend le code visuel du stepper supérieur pour les transitions de statut dans l'historique
- Affiche une boule colorée avec le numéro canonique (1 à 15) et le libellé sous chaque statut
- Aligne la flèche de transition au centre des cercles
- Ajuste les contrastes de texte (noir/blanc) selon la luminosité du statut
2026-09-25 22:35:29 +02:00
fd794737a8 style(interventions): standardize timeline status badge widths and use distinct purple for status event
- Assign fixed 115px width to all status badges for vertical alignment of transitions
- Unify left event badge width to 85px for a clean tabular layout
- Use purple (#6f42c1) for the 'Statut' badge and node icon to avoid visual collision with status colors
- Update timeline unit tests accordingly
2026-09-25 22:24:05 +02:00
f510a086bd feat(interventions): trace notes, documents and element links in full timeline
- Add 'note', 'document', and 'link' event types to InterventionTimeLine
- Record timeline events for note additions/edits/deletions (standalone and batch)
- Record document uploads and deletions (desktop and mobile APIs)
- Record asset linking/unlinking with friendly names and linked interventions
- Display detailed items exclusively in the toggleable "Historique complet" view
- Maintain shortname display for all event authors
- Update and compile FR, EN and NL translation catalogs
- Add comprehensive test coverage for all new timeline event records
2026-09-25 22:05:22 +02:00
79af86fb7f feat(interventions): amélioration de la chronologie et traçabilité complète de l'historique
- Ajout des types d'événements 'assignment' et 'modification' sur InterventionTimeLine
- Enregistrement des attributs modifiés (field_changes JSON) et des descriptions d'événements
- Création du service InterventionChangeTracker pour historiser les changements de champs et d'assignations
- Refonte visuelle de card_chronologie avec vue par défaut (statuts + assignations) et bascule vers l'historique complet
- Préservation des shortnames pour tous les auteurs des modifications
- Ajout des traductions i18n et de tests unitaires dédiés
2026-09-25 21:29:42 +02:00
71cb8369a0 feat(interventions): improve non-applicable button symbology in operations 2026-09-25 16:14:13 +02:00
ce924d7af4 fix(interventions): import Contract and ContractPost in admin to fix OperationTemplate change view 2026-09-25 14:40:38 +02:00
c8349a3171 feat: add continuous GPS tracking, pulsing location marker, and distance calculation to inspection maps 2026-09-25 14:23:51 +02:00
97ecd8d9fb fix(inspections): prevent modal event bubbling and add bottom add-ouvrage button in GIEP 2026-09-25 11:47:57 +02:00
ca8d8187c1 feat: hide standard inspection sections for GIEP-specific inspections 2026-09-25 11:34:04 +02:00
b30e65e0a1 i18n: remplacer remarques initiales par remarques globales et mettre à jour les traductions 2026-09-25 11:14:16 +02:00
c6ef935e0b feat(inspections): restructurer le formulaire d'inspection GIEP par ouvrage
- Isoler la météo au niveau de la zone GIEP globale
- Structurer chaque ouvrage : Conformité, Photos dédiées, Formulaire technique, Remarques
- Lier les photos aux ouvrages via field_key et auto-consolider statut et remarques
- Enrichir l'affichage de consultation et ajouter la suite de tests unitaires
2026-09-25 10:03:27 +02:00
5e9fced68f feat: add 7j view mode to team planning 2026-09-25 09:27:32 +02:00
40ce03d812 feat: add rolling horizons and aggregated column support to team planning view modes 2026-09-25 09:18:40 +02:00
Karl Determe
096886a194 feat: add Django admin configuration, team services, and test planning for contracts 2026-09-24 11:33:53 +02:00
Karl Determe
f19eae6067 Merge branch 'main' of https://git.valogeo.be/Valogeo/loko 2026-09-24 11:04:00 +02:00
Karl Determe
0231f2ac00 feat: add Django admin configurations and tests for common app 2026-09-24 11:03:47 +02:00
6b526f7056 fix(inspections): fix mobile zone filter and complete mobile translations in lists and maps 2026-09-23 16:57:41 +02:00
61ef7fc3ea fix(trafficlights): correct cyclopieton 'bF' detection and preserve STIB detectors by default
- Recognize combined 'bF' phases as cyclo-piétons with appropriate 2V200 cyclo-piéto model
- Improve lantern match scoring to pair LANxx_bF with existing LANxx lanterns on multi-lantern poles
- Normalize lantern model matching between Excel deduction and DB names
- Propose 'keep' by default for STIB tram detector loops ('dT') absent from the cross plan
- Add unit tests for cyclo-piéton deduction, lantern matching and STIB detector preservation
2026-09-22 21:59:05 +02:00
c7c76f28dc fix: add legacy file fallback and use atomic transactions for document creation 2026-09-22 19:44:35 +02:00
55cad6d6cc refactor: increase map marker badge size, font size, and update zoom layout parameters 2026-09-21 19:12:50 +02:00
c726d8f37c style(home): refine activity symbol sizes and prevent marker overlap with collision detection 2026-09-21 18:50:15 +02:00
f534758f91 fix(home): safe status choices lookup and thematic localized fields in activity_geojson 2026-09-21 18:39:09 +02:00
1b93f3ae88 fix: fix try-catch block in home_index.js and update homewidget choices 2026-09-21 16:39:49 +02:00
de1d1c3b43 perf: optimize activity_geojson query, add caching and parallelize map data fetching 2026-09-21 16:14:56 +02:00
f0fb0df8ec feat: add operation type icons to map activity points 2026-09-21 15:34:39 +02:00
ef40e48163 feat(assets): add create_structure_folders management command 2026-09-21 15:14:26 +02:00
9726e8b618 refactor: move build metadata arguments to end of Dockerfile to improve cache efficiency 2026-09-21 14:50:18 +02:00
f23107e749 feat: add metro structure types and filtering UI to exceptional transport widget 2026-09-21 14:42:23 +02:00
0fa237564c refactor: remove georeferenced plans modal and custom map control from traffic lights import cross plan template 2026-09-21 11:59:11 +02:00
e30faa6ad6 refactor: rename dxfFiles to availableDxfFiles and add fallback to window scope 2026-09-21 11:44:09 +02:00
090c7dd03c refactor: integrate plans and calques into LayerSwitcherControl and remove custom plans control 2026-09-21 11:38:52 +02:00
3f402e3d6a feat: add UI indicators and handling for modified pole and cable geometries in traffic lights import 2026-09-21 11:29:06 +02:00
28d6664fbd feat: handle common wires and intelligent lantern matching in cross plan parser 2026-09-21 10:56:49 +02:00
91e0f6d5dd fix(common): ensure admin and whole-territory users use default Territory directly 2026-09-21 10:23:18 +02:00
e6a09eaf37 feat: add Territory model for default map boundary, and separate daily report quick action to second row 2026-09-21 10:04:39 +02:00
63c888fdbd feat: add territory mapping layers, dashboard widgets, and asset import management commands 2026-09-20 23:01:52 +02:00
cc0facdf92 refactor: migrate user map bounds caching from session to Django cache with signal-based invalidation 2026-09-19 18:40:37 +02:00
73738b6757 feat: support multi-commune contracts, base asset categories, and filtered municipality access 2026-09-19 18:33:39 +02:00
e68e6ccefe feat: optimize context processing 2026-09-19 18:33:17 +02:00