bee5ba4d3fb8401e14e017b10bebfebe85d61d14
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>
Description
Odoo 19 custom modules
Languages
Python
55.9%
HTML
26.1%
JavaScript
14.9%
SCSS
1.8%
CSS
0.8%
Other
0.4%