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:
@@ -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>
|
||||
|
||||
@@ -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. -->
|
||||
|
||||
Reference in New Issue
Block a user