chore(plating): de-dash shipped code + intake-neutral customer emails

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>
This commit is contained in:
gsinghpal
2026-06-05 00:16:19 -04:00
parent c9eb61ee0c
commit 8c76a16366
789 changed files with 4692 additions and 4692 deletions

View File

@@ -11,24 +11,24 @@
<odoo>
<!-- ================================================================== -->
<!-- RECORD RULE Multi-company isolation on shop-floor stations -->
<!-- RECORD RULE - Multi-company isolation on shop-floor stations -->
<!-- ================================================================== -->
<record id="fp_shopfloor_station_company_rule" model="ir.rule">
<field name="name">Fusion Plating: Shopfloor Station multi-company</field>
<field name="name">Fusion Plating: Shopfloor Station - multi-company</field>
<field name="model_id" ref="model_fusion_plating_shopfloor_station"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('facility_id.company_id', '=', False), ('facility_id.company_id', 'in', company_ids)]</field>
</record>
<record id="fp_bake_oven_company_rule" model="ir.rule">
<field name="name">Fusion Plating: Bake Oven multi-company</field>
<field name="name">Fusion Plating: Bake Oven - multi-company</field>
<field name="model_id" ref="model_fusion_plating_bake_oven"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('facility_id.company_id', '=', False), ('facility_id.company_id', 'in', company_ids)]</field>
</record>
<record id="fp_bake_window_company_rule" model="ir.rule">
<field name="name">Fusion Plating: Bake Window multi-company</field>
<field name="name">Fusion Plating: Bake Window - multi-company</field>
<field name="model_id" ref="model_fusion_plating_bake_window"/>
<field name="global" eval="True"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>

View File

@@ -7,7 +7,7 @@
User reads via base.group_user (required for any auth='user' HTTP
route to function). On top of that, this group grants explicit
read on res.users (tile grid) and a NARROWED read on
ir.config_parameter (whitelisted keys only see ir.rule below).
ir.config_parameter (whitelisted keys only - see ir.rule below).
No write access to anything; no read on business records
(fp.job, sale.order, fp.certificate, fp.part.catalog, etc.).
@@ -20,7 +20,7 @@
</record>
<!-- I2 fix: Narrow the kiosk's ir.config_parameter read to keys that
begin with fp.tablet. or fp.shopfloor. prevents reading
begin with fp.tablet. or fp.shopfloor. - prevents reading
third-party secrets like fusion_tasks.vapid_private_key or
arbitrary API keys stored in ICP. The CSV row that grants
model-level read still needs this rule to scope the matches. -->