Replace em-dashes and en-dashes with hyphens across 789 shipped source files (py/xml/js/scss) so the delivered module reads as human-written; em-dashes had become a recognizable AI-generated tell. Internal .md dev notes are excluded. The WO-sticker mojibake strippers keep their dash search targets (now written — / –). No logic changes: comments and display strings only; validated with py_compile + lxml parse. Rewrite the 7 customer notification emails to be intake-neutral (ship-in / drop-off / pickup) and repair-aware, and fix the Shipped email documents line (packing slip vs bill of lading; certificate only when issued). Subjects use a hyphen separator. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
39 lines
1.6 KiB
XML
39 lines
1.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright 2026 Nexa Systems Inc.
|
|
License OPL-1 (Odoo Proprietary License v1.0)
|
|
Part of the Fusion Plating product family.
|
|
|
|
Phase 1 - Plating landing-page resolver.
|
|
|
|
The Plating app's root menu (menu_fp_root) calls this server action
|
|
on click. It resolves which window action to open in this priority
|
|
order:
|
|
1. user.x_fc_plating_landing_action_id (per-user override)
|
|
2. company.x_fc_default_landing_action_id (company default)
|
|
3. action_fp_sale_orders (hardcoded fallback)
|
|
|
|
Falls back to Sale Orders so that pre-Sub-12d users who haven't
|
|
set a preference still land on the Sale-Orders default we shipped
|
|
earlier in the session.
|
|
-->
|
|
<odoo noupdate="0">
|
|
|
|
<record id="action_fp_resolve_plating_landing" model="ir.actions.server">
|
|
<field name="name">Plating - Open Landing Page</field>
|
|
<field name="model_id" ref="base.model_res_users"/>
|
|
<field name="state">code</field>
|
|
<field name="code"><![CDATA[
|
|
# Delegates to the role-based dispatch helper on ir.actions.act_window
|
|
# (and ir.actions.client for Manager Desk / Plant Kanban / Quality Dashboard).
|
|
# Resolution chain in the helper:
|
|
# 1. user.x_fc_plating_landing_action_id (per-user override)
|
|
# 2. role-based default per spec Section 3 (Owner→ManagerDesk, etc.)
|
|
# 3. company.x_fc_default_landing_action_id (company default)
|
|
# 4. action_fp_sale_orders (hardcoded last-ditch)
|
|
action = env['ir.actions.act_window'].sudo()._fp_resolve_landing_for_current_user() or False
|
|
]]></field>
|
|
</record>
|
|
|
|
</odoo>
|