gsinghpal bee5ba4d3f fix(plating): UAT-caught UX annoyances + lurking bugs
Five fixes from the end-to-end UAT debrief:

1. Menu discoverability (HIGH)
   Added a prominent "+ New Direct Order" button in the Sale Orders
   list header toolbar (class=btn-primary, display=always). The
   existing menuitem at Plating > Sales > New Direct Order was
   buried in a submenu that didn't always expand; the toolbar
   button is a guaranteed entry point from the most common screen.

2. Escape/X destroys wizard state (HIGH)
   Added a prominent info banner at the top of the wizard form:
   "Changes are not saved until you click Create & Confirm Order.
   Closing this window (Esc or X) discards your entries." The
   Cancel button now has confirm="Discard this order? All header
   data and line items will be lost." so the intentional-cancel
   path also prompts.

3. Shell/cron crash in _fp_auto_create_mo (MEDIUM)
   bridge_mrp/models/sale_order.py:232-264 used _() inside list
   comprehensions to format the internal chatter summary of newly
   created / adopted MOs. _() resolves language from env.context,
   which is empty in odoo-shell and cron contexts — triggering a
   translate.get_text_alias crash AFTER the MOs had been created.
   These strings are internal audit log text, not user-facing UI;
   dropped the _() wrappers so the message builds safely from any
   context. Same for the per-group error-message on savepoint
   rollback.

4. Misleading "100%" margin (MEDIUM)
   x_fc_margin_percent displayed 100% on every SO because the cost
   rollup from fp.coating.config.unit_cost isn't populated yet.
   Added x_fc_margin_available Boolean (True only when at least
   one line's coating has a non-zero unit_cost). The SO Plating
   tab now hides the margin numbers when margin_available=False
   and shows an inline muted note: "Margin n/a — coating cost
   rollup not yet populated on any line's treatment."

5. Account Hold banner too loud (LOW)
   fusion_plating_invoicing was injecting a full-height danger
   alert above every SO header. Slimmed it to a one-line compact
   alert with icon: "Account Hold — SO confirmation, invoicing
   and shipping are blocked for non-managers." Half the vertical
   footprint, less visual competition with the Plating chip bar.

Verified via UAT on S00071.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 01:03:26 -04:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-04-12 09:09:50 -04:00
2026-04-13 02:35:35 -04:00
2026-03-09 15:21:22 -04:00
2026-03-16 08:14:56 -04:00
2026-04-12 09:09:50 -04:00
2026-03-16 08:14:56 -04:00
2026-04-17 17:31:12 -04:00
2026-03-17 13:32:08 -04:00
2026-03-16 08:14:56 -04:00
2026-03-20 11:46:41 -04:00
2026-03-13 12:38:28 -04:00
2026-03-13 12:38:28 -04:00
2026-03-14 12:04:20 -04:00
2026-03-11 12:15:53 -04:00
2026-03-16 08:14:56 -04:00
2026-04-12 09:09:50 -04:00
2026-03-16 08:14:56 -04:00
2026-04-07 22:03:20 -04:00
2026-03-13 12:38:28 -04:00
2026-04-04 15:37:16 -04:00
2026-03-26 15:16:51 -04:00
2026-03-09 15:21:22 -04:00
2026-03-17 13:32:08 -04:00
2026-04-12 09:09:50 -04:00
2026-03-13 12:38:28 -04:00
2026-04-17 17:31:12 -04:00
2026-03-09 15:21:22 -04:00
2026-02-22 01:22:18 -05:00
2026-04-07 21:47:15 -04:00
2026-02-22 01:37:50 -05:00
2026-03-13 12:38:28 -04:00
2026-03-13 12:38:28 -04:00
2026-04-17 17:31:12 -04:00
2026-02-22 01:22:18 -05:00
2026-04-12 09:11:35 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-12 09:11:35 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-12 09:11:35 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
2026-04-03 15:45:18 -04:00
Description
Odoo 19 custom modules
211 MiB
Languages
Python 55.9%
HTML 26.1%
JavaScript 14.9%
SCSS 1.8%
CSS 0.8%
Other 0.4%