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

@@ -8,7 +8,7 @@ entech at write time) have free-text values like "FedEx", "Purolator"
in carrier_name. This migration walks them and populates the new M2O
when a unique case-insensitive name match exists.
delivery.carrier.name is jsonb (translatable) in Odoo 19 match
delivery.carrier.name is jsonb (translatable) in Odoo 19 - match
strips to the en_US translation. Ambiguous values stay as text in
carrier_name for the operator to pick manually.
"""
@@ -19,7 +19,7 @@ _logger = logging.getLogger(__name__)
def migrate(cr, version):
# Skip if the field doesn't exist yet (defensive the column is
# Skip if the field doesn't exist yet (defensive - the column is
# added by the registry update that runs before post-migrate).
cr.execute("""
SELECT 1
@@ -28,7 +28,7 @@ def migrate(cr, version):
AND column_name = 'x_fc_carrier_id'
""")
if not cr.fetchone():
_logger.warning('x_fc_carrier_id column not present skip.')
_logger.warning('x_fc_carrier_id column not present - skip.')
return
cr.execute("""

View File

@@ -4,11 +4,11 @@
#
# Backfill fp.job.qty_received from closed fp.receiving lines.
#
# Triggering issue (2026-05-20): WO-30043 and any other job created
# before the new _update_job_qty_received hook shipped has
# Triggering issue (2026-05-20): WO-30043 - and any other job created
# before the new _update_job_qty_received hook shipped - has
# qty_received=0 even though its receiving is closed. The
# button_mark_done gate then blocks the operator with no obvious next
# step ("Quantity Received is blank close the receiving record...").
# step ("Quantity Received is blank - close the receiving record...").
# Receiving IS closed. The propagation was missing.
#
# This migration walks every (closed / accepted / resolved) receiving,
@@ -39,6 +39,6 @@ def migrate(cr, version):
if updated:
_logger.info(
'fp.job.qty_received backfilled from receiving lines on '
'%d job(s) fixes WO-30043 and any sibling stuck jobs.',
'%d job(s) - fixes WO-30043 and any sibling stuck jobs.',
updated,
)

View File

@@ -2,17 +2,17 @@
# Copyright 2026 Nexa Systems Inc.
# License OPL-1 (Odoo Proprietary License v1.0)
#
# 2026-05-20 `staged` state retirement.
# 2026-05-20 - `staged` state retirement.
#
# Drop `staged` from the active receiving state machine. The state had
# zero downstream effect (same SO mapping as counted), no captured
# data, and median dwell of 11 sec pure ceremony between Counted
# data, and median dwell of 11 sec - pure ceremony between Counted
# and Closed. Any existing records currently sitting in `staged` get
# promoted to `closed` (they're already past the box-count step;
# closed is the next logical resting place).
#
# `staged` stays in the Selection as a (legacy) value so historical
# records that ever held it can still be read we just don't write
# records that ever held it can still be read - we just don't write
# to it anymore. The view's statusbar_visible drops it.
import logging

View File

@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Phase 6 (Sub 11) drop legacy MRP column from fp_racking_inspection.
# Phase 6 (Sub 11) - drop legacy MRP column from fp_racking_inspection.
import logging
_logger = logging.getLogger(__name__)

View File

@@ -11,7 +11,7 @@ field), leaving every auto-generated receiving line with an empty
to prefill ``received_qty``.
This migration walks existing receiving records and rebuilds the line
metadata from the linked SO's order lines via position-based zip only
metadata from the linked SO's order lines via position-based zip - only
when the receiving line count matches the SO line count (otherwise the
mapping isn't safe and we leave the record alone for manual review).
"""
@@ -52,7 +52,7 @@ def migrate(cr, version):
""", (so_id,))
so_lines = cr.fetchall()
if len(so_lines) != len(recv_line_ids):
# Mismatch don't risk corrupting a non-trivial mapping.
# Mismatch - don't risk corrupting a non-trivial mapping.
skipped += 1
continue
# Receiving lines come ordered by id ascending (the create call