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:
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1
|
||||
# Sub 9 — Process Variants per Part. Runs on upgrade to 19.0.15.0.0.
|
||||
# Sub 9 - Process Variants per Part. Runs on upgrade to 19.0.15.0.0.
|
||||
#
|
||||
# For every part that had a default_process_id, mark its root node as
|
||||
# the default variant and seed a friendly label. Idempotent (NULL guards).
|
||||
@@ -13,7 +13,7 @@ _logger = logging.getLogger(__name__)
|
||||
|
||||
def migrate(cr, version):
|
||||
if not version:
|
||||
return # Fresh install — nothing to migrate
|
||||
return # Fresh install - nothing to migrate
|
||||
|
||||
_logger.info("Sub 9: backfilling process variant flags")
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
#
|
||||
# Phase 1 multi-serial — backfill the new M2M relations from the
|
||||
# Phase 1 multi-serial - backfill the new M2M relations from the
|
||||
# pre-existing single-M2O column on sale.order.line and account.move.line.
|
||||
#
|
||||
# x_fc_serial_id was historically a stored Many2one. Phase 1 made it a
|
||||
@@ -34,7 +34,7 @@ def backfill_table(cr, source_table, m2m_table, line_col):
|
||||
return
|
||||
|
||||
# Make sure the M2M table exists (Odoo creates it on registry load,
|
||||
# but the migration runs BEFORE the registry comes up on upgrade —
|
||||
# but the migration runs BEFORE the registry comes up on upgrade -
|
||||
# use IF NOT EXISTS to be safe).
|
||||
cr.execute(
|
||||
f"""
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
"""Drop the redundant ``revision_number`` Integer column on fp.part.catalog.
|
||||
|
||||
The model historically carried two revision fields:
|
||||
* ``revision`` (Char, required) — the customer's actual revision label
|
||||
* ``revision_number`` (Integer) — an internal counter
|
||||
* ``revision`` (Char, required) - the customer's actual revision label
|
||||
* ``revision_number`` (Integer) - an internal counter
|
||||
|
||||
The Integer counter duplicated information already in ``revision`` and
|
||||
got out of sync whenever the customer used a non-numeric scheme
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
Sub 8 (2026-04-22) moved part inspection out of receiving and into the
|
||||
recipe's racking step. The SO-level receiving status no longer needs
|
||||
'inspected' as a terminal value — 'received' (boxes counted/staged/
|
||||
'inspected' as a terminal value - 'received' (boxes counted/staged/
|
||||
closed) is now the final state.
|
||||
|
||||
This migration flips any existing rows with the obsolete value to the
|
||||
|
||||
@@ -9,11 +9,11 @@ Actions:
|
||||
1. Rename `fp_direct_order_wizard.notes` → `terms_and_conditions`.
|
||||
Existing data preserves its semantic (always was customer-facing because
|
||||
the old `action_create_order` wrote it to sale.order.note).
|
||||
2. Add the new Express columns (idempotent — IF NOT EXISTS guards).
|
||||
2. Add the new Express columns (idempotent - IF NOT EXISTS guards).
|
||||
3. Backfill `pricelist_id` from the legacy `currency_id` via any active
|
||||
pricelist matching the currency. After this, the model's stored-related
|
||||
currency_id (related='pricelist_id.currency_id') takes over.
|
||||
4. (No currency_id column drop here — Odoo's schema sync recognises the
|
||||
4. (No currency_id column drop here - Odoo's schema sync recognises the
|
||||
related field and keeps the column shape; data refreshes from the
|
||||
related lookup on subsequent writes.)
|
||||
|
||||
@@ -58,7 +58,7 @@ def migrate(cr, version):
|
||||
ALTER TABLE fp_direct_order_wizard
|
||||
ADD COLUMN IF NOT EXISTS view_source VARCHAR DEFAULT 'legacy'
|
||||
""")
|
||||
# Note: view_source defaults to 'legacy' for EXISTING rows — they were
|
||||
# Note: view_source defaults to 'legacy' for EXISTING rows - they were
|
||||
# created via the legacy view. New rows default to 'express' via the model.
|
||||
|
||||
# 3. Backfill pricelist_id from any active pricelist matching the
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Pre-migration for 19.0.22.1.0 — material_process Char → Many2One.
|
||||
"""Pre-migration for 19.0.22.1.0 - material_process Char → Many2One.
|
||||
|
||||
The material_process field on fp.direct.order.wizard was originally a
|
||||
free-text Char tag for shop-level metadata (e.g. "ENP-STEEL-HP-ADVANCED").
|
||||
@@ -12,7 +12,7 @@ when the new field declaration loads. Per the Express Orders spec
|
||||
section 12 (dev-stage, ignore past orders), losing the old Char values
|
||||
is acceptable.
|
||||
|
||||
Idempotent — IF EXISTS guards mean a re-run is safe.
|
||||
Idempotent - IF EXISTS guards mean a re-run is safe.
|
||||
"""
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1
|
||||
# Sub 2 — Part Data Model Overhaul. Runs on upgrade from < 19.0.9.0.0.
|
||||
# Sub 2 - Part Data Model Overhaul. Runs on upgrade from < 19.0.9.0.0.
|
||||
# Idempotent (NULL / empty guards). Safe to re-run.
|
||||
|
||||
import logging
|
||||
@@ -11,7 +11,7 @@ _logger = logging.getLogger(__name__)
|
||||
|
||||
def migrate(cr, version):
|
||||
if not version:
|
||||
return # Fresh install — nothing to migrate
|
||||
return # Fresh install - nothing to migrate
|
||||
|
||||
_logger.info("Sub 2: starting part-data-model migration to %s", version)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user