From 80fdb91591a19585fcbcafda2cef7a9dd1f30859 Mon Sep 17 00:00:00 2001 From: louispaulb Date: Mon, 20 Jul 2026 13:59:28 -0400 Subject: [PATCH] feat(ops): standardize "Do Stuff" + fiber parity with F device_view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Standardize the device-ops entry so users coming from F aren't lost: - New shared DoStuffButton.vue (canonical "Do Stuff" label + icon): resolves the device by serial>service_location>customer and opens the ONE device view (EquipmentDetail). Reused in SubscriptionDetail (replaces bespoke button). - DeviceStrip (fiche): tooltip hint + right-click "Do Stuff — ouvrir l'appareil" (works even for devices without ACS data, e.g. wireless), so the term is discoverable on the customer card too. Bring the canonical device view to F's function set (device_view.php): - On-demand "Do Stuff en direct (F)" fetch (/collab/dostuff) surfaces the fields the passive poller lacks: VoIP, IPTV, distance, WAN IP, line profile, firmware, mgmt GUI — reserved tech-3 XGS-PON, ~30 s, never auto (OLT load). - "Copier pour le ticket" (F's copy button): plaintext device summary to clipboard. Verified: SPA build clean, leak-check 0 secrets, deployed to /opt/ops-app (index.969e330c.js live, 303508 B served, nginx.conf preserved). Co-Authored-By: Claude Opus 4.8 --- .../src/components/customer/DeviceStrip.vue | 28 ++++-- .../src/components/shared/DoStuffButton.vue | 59 ++++++++++++ .../detail-sections/EquipmentDetail.vue | 89 +++++++++++++++++++ .../detail-sections/SubscriptionDetail.vue | 33 ++----- 4 files changed, 173 insertions(+), 36 deletions(-) create mode 100644 apps/ops/src/components/shared/DoStuffButton.vue diff --git a/apps/ops/src/components/customer/DeviceStrip.vue b/apps/ops/src/components/customer/DeviceStrip.vue index 80abc00..f6bb157 100644 --- a/apps/ops/src/components/customer/DeviceStrip.vue +++ b/apps/ops/src/components/customer/DeviceStrip.vue @@ -39,17 +39,27 @@ + +
Clic : Do Stuff — signal, actions, VoIP/IPTV
- - - - - Redémarrer - - - - Rafraîchir params + + + + + + Do Stuff — ouvrir l'appareil + diff --git a/apps/ops/src/components/shared/DoStuffButton.vue b/apps/ops/src/components/shared/DoStuffButton.vue new file mode 100644 index 0000000..834166c --- /dev/null +++ b/apps/ops/src/components/shared/DoStuffButton.vue @@ -0,0 +1,59 @@ + + + diff --git a/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue b/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue index 234872a..ee31da0 100644 --- a/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue +++ b/apps/ops/src/components/shared/detail-sections/EquipmentDetail.vue @@ -65,6 +65,38 @@ + +
+
+ + Interroge l'OLT en direct (VoIP, IPTV, distance, WAN, profil) — ~30 s, comme F + +
Interrogation de l'OLT… (~30 s)
+ + + + Copie un résumé de l'appareil à coller dans un ticket — comme F + +
+
+ {{ liveF.signal }} · Rx {{ liveF.rxPower }} / Tx {{ liveF.txPower }} dBm + {{ liveF.distance }} m + VoIP {{ liveF.voip }} + IPTV {{ liveF.iptv }} + WAN {{ liveF.wanIp }} + Profil {{ liveF.profileId }} + {{ liveF.uptime }} + {{ liveF.lastDown }} + {{ liveF.firmware }} + GUI {{ liveF.managementIp }} +
+
+
Identité de l'appareil