diff --git a/fusion_plating/fusion_plating_shopfloor/controllers/shopfloor_controller.py b/fusion_plating/fusion_plating_shopfloor/controllers/shopfloor_controller.py index edbd58d3..75bfa06f 100644 --- a/fusion_plating/fusion_plating_shopfloor/controllers/shopfloor_controller.py +++ b/fusion_plating/fusion_plating_shopfloor/controllers/shopfloor_controller.py @@ -620,15 +620,26 @@ class FpShopfloorController(http.Controller): # ---------------------------------------------------------------------- # Tablet Overview — one-shot dashboard payload # ---------------------------------------------------------------------- + # DEPRECATED (Phase 3 tablet redesign — 2026-05-22). + # New Shop Floor Landing client action (fp_shopfloor_landing) uses + # /fp/landing/kanban. The Tablet Station menu now points at the new + # surface. This endpoint stays live as long as the legacy + # fp_shopfloor_tablet OWL component is still registered — it consumes + # the rich payload (my_queue, active_wo, baths, bake_windows, gates, + # holds, pending_qcs, stations). Phase 5 cleanup will retire both the + # legacy component and this endpoint together. @http.route('/fp/shopfloor/tablet_overview', type='jsonrpc', auth='user') def tablet_overview(self, station_id=None, facility_id=None): - """Return a rich dashboard snapshot for the Tablet Station page. + """[DEPRECATED] Legacy Tablet Station dashboard payload. - Data layer: fp.job + fp.job.step. Field names on the response - keep the legacy `_wo` suffix where they were referenced from the - XML so the template doesn't need to be rewritten — internally - these now point at fp.job.step rows. + New consumers should use /fp/landing/kanban via the + fp_shopfloor_landing client action (Phase 3 tablet redesign). """ + _logger.info( + "DEPRECATED /fp/shopfloor/tablet_overview called by uid %s — " + "Phase 5 cleanup will remove this endpoint.", + request.env.uid, + ) env = request.env user = env.user @@ -1002,8 +1013,20 @@ class FpShopfloorController(http.Controller): # ---------------------------------------------------------------------- # Operator queue snapshot (legacy fusion.plating.operator.queue helper) # ---------------------------------------------------------------------- + # DEPRECATED (Phase 3 tablet redesign — 2026-05-22). + # The new fp_shopfloor_landing component does NOT use this endpoint; + # it uses /fp/landing/kanban which already filters per station. The + # only remaining consumer is the legacy fp_shopfloor_tablet OWL + # component (still registered, no menu pointing at it). Phase 5 + # cleanup will retire both this endpoint and the legacy component + # together — no replacement, the kanban supersedes it entirely. @http.route('/fp/shopfloor/queue', type='jsonrpc', auth='user') def queue(self, facility_id=None): + _logger.info( + "DEPRECATED /fp/shopfloor/queue called by uid %s — " + "Phase 5 cleanup will remove this endpoint.", + request.env.uid, + ) Queue = request.env.get('fusion.plating.operator.queue') if Queue is None or not hasattr(Queue, 'build_for_user'): # Fallback: synthesize the queue directly from fp.job.step. @@ -1093,14 +1116,26 @@ class FpShopfloorController(http.Controller): return {'ok': True} + # DEPRECATED (Phase 3 tablet redesign — 2026-05-22). + # The new fp_shopfloor_landing client action has an "All Plant" mode + # that supersedes the standalone Plant Overview surface. Old endpoint + # stays live for the move_card sibling endpoint and the legacy + # fp_plant_overview OWL component (still registered but unhooked + # from the menu). Phase 5 cleanup will retire both together. @http.route('/fp/shopfloor/plant_overview', type='jsonrpc', auth='user') def plant_overview(self, facility_id=None, search=None): - """Return active fp.job.step rows grouped by fp.work.centre. + """[DEPRECATED] Legacy Plant Overview payload. - Cards are individual fp.job.step rows in ready / in_progress / - paused state. Columns are fp.work.centre rows; an "Unassigned" - pseudo-column collects steps without a work centre. + New consumers should use /fp/landing/kanban with mode='all_plant' + via the fp_shopfloor_landing client action (Phase 3 tablet + redesign). Note: /fp/shopfloor/plant_overview/move_card is NOT + deprecated — the Landing component still uses it for drag-drop. """ + _logger.info( + "DEPRECATED /fp/shopfloor/plant_overview called by uid %s — " + "Phase 5 cleanup will remove this endpoint.", + request.env.uid, + ) env = request.env search = (search or '').strip().lower()