Files
Odoo-Modules/fusion_plating/fusion_plating_shopfloor
gsinghpal 2588a2b651 fix(plant-overview): real drop insertion indicator + small logo back
Three direct fixes responding to user feedback:

1. Drag-drop "simulation" — now works like Trello/Linear. As the
   cursor moves over a column, a live DOM placeholder node is
   INJECTED into the card list at the exact position the dragged
   card will drop. The placeholder is a 4px pulsing accent-coloured
   bar with a soft glow ring. Slides smoothly between cards as the
   cursor moves. Column body also gets a tinted background + inset
   accent outline for the "whole column is receptive" cue.

   Previous version only tinted the column — no indicator of WHERE
   the card would land. The new approach actually mimics the physical
   gesture: cards visually make room for the incoming card.

2. Customer logo restored at 32×32px.
   Removing it was the wrong call. It's back now as a small
   thumbnail avatar (rounded 10px corners, soft border, object-fit
   contain so wide logos don't squish). Sits to the left of the
   customer name in the card top row. Fallback icon for customers
   without a logo. Takes the same space as the step badge on the
   right — compact and organised.

3. Module version bumped 19.0.1.0.0 → 19.0.2.0.0 so the asset
   bundle content hash changes. The new compiled CSS is served at
   /web/assets/022171c/web.assets_backend.min.css (previously
   /web/assets/278b43c/...). Fresh URL forces browser to refetch —
   this is what was causing the "still no border" complaint.

Verified in compiled CSS: o_fp_po_card_avatar, o_fp_po_drop_placeholder,
o_fp_placeholder_pulse keyframes, o_fp_drop_target — all present.
Zero SCSS warnings. Module upgrade clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 19:06:40 -04:00
..
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00
2026-04-16 20:53:53 -04:00

Fusion Plating — Shop Floor

Tablet / operator ergonomics layer for the fusion_plating core.

Part of the Fusion Plating product family by Nexa Systems Inc. Copyright (c) 2026 Nexa Systems Inc. All rights reserved. Licensed under OPL-1 (Odoo Proprietary License v1.0).

What this module adds

Feature Model
Tablet station registration fusion.plating.shopfloor.station
Bake oven master + chart recorder ref fusion.plating.bake.oven
Hydrogen embrittlement bake-window enforcer fusion.plating.bake.window
First-piece inspection gate fusion.plating.first.piece.gate
Operator next-up queue (transient) fusion.plating.operator.queue

Bake-window enforcer

When a high-strength-steel part exits the plating tank, a clock starts. Customer specification dictates the window (typically 1-4 hours) inside which the relief bake must begin. Missing the window requires scrap or rework — there is no retroactive fix.

The module models this as a first-class entity with:

  • plate_exit_time — clock start
  • window_hours — customer spec
  • bake_required_by — computed deadline
  • stateawaiting_bake -> bake_in_progress -> baked, with missed_window / scrapped exit paths
  • A 5-minute cron that flips records past their deadline to missed_window automatically
  • A kanban board grouped by state with theme-aware status colours

Tablet client

A backend OWL component (Odoo 19 conventions) registered as the fp_shopfloor_tablet client action. It hosts:

  • QR scan input (wedge scanner or on-screen keyboard friendly)
  • Live tank / bath / job preview cards
  • One-tap Start Bake / End Bake buttons
  • Live operator next-up queue

JSON-RPC endpoints (Odoo 19 type='jsonrpc'):

  • POST /fp/shopfloor/scan
  • POST /fp/shopfloor/log_chemistry
  • POST /fp/shopfloor/start_bake
  • POST /fp/shopfloor/end_bake
  • POST /fp/shopfloor/queue

QR code conventions

Prefix Resolves to
FP-TANK:<code> fusion.plating.tank
FP-BATH:<name> fusion.plating.bath
FP-STATION:<code> fusion.plating.shopfloor.station
FP-JOB:<name> fusion.plating.bake.window
FP-OVEN:<code> fusion.plating.bake.oven

Security

Reuses the four core Fusion Plating groups (operator, supervisor, manager, admin) defined in fusion_plating. No new groups, no new privilege block. ACLs are graded operator (read/write logs), supervisor (create), manager (full).

Theme

All styling is theme-aware: CSS custom properties + color-mix() against Bootstrap / Odoo tokens. No hex codes, no media queries — works in light and dark mode out of the box.

Install / update

docker exec odoo-dev-app odoo -d fusion-dev -u fusion_plating_shopfloor --stop-after-init