docs(fusion_plating_shopfloor): deprecation markers on legacy endpoints (P3.6)
Plan task P3.6 — pragmatic deviation. The plan called for stubs that internally route to /fp/landing/kanban + reshape; in practice the legacy fp_shopfloor_tablet OWL component (still registered, just unhooked from the menu) consumes a much richer payload (my_queue, active_wo, baths, bake_windows, gates, holds, pending_qcs, stations) than /fp/landing/kanban returns. Gutting tablet_overview to a stub would break that legacy component. Instead: add explicit DEPRECATED markers + INFO log lines on the three endpoints (tablet_overview, plant_overview, queue). Bodies stay intact so the legacy components keep working until Phase 5 cleanup retires both endpoints AND the legacy OWL components together. Note: /fp/shopfloor/plant_overview/move_card is NOT deprecated — the new Landing component still uses it for drag-and-drop. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user