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:
@@ -6,7 +6,7 @@
|
||||
|
||||
Odoo 19 fetches print-menu bindings via `ir.actions.actions._get_bindings`
|
||||
which returns reports in `ORDER BY a.id` (insertion order). Only the
|
||||
`action` bindings get a sequence sort applied — `report` bindings are
|
||||
`action` bindings get a sequence sort applied - `report` bindings are
|
||||
returned in the raw SQL order. Result: third-party FP reports installed
|
||||
after Odoo's stock ones always appear at the BOTTOM of the dropdown,
|
||||
even when they're the customer-facing primary report.
|
||||
@@ -67,7 +67,7 @@ class IrActionsActions(models.Model):
|
||||
(vals.get('name') or '').lower(),
|
||||
),
|
||||
))
|
||||
# frozendict is immutable — rebuild from a plain dict.
|
||||
# frozendict is immutable - rebuild from a plain dict.
|
||||
new_result = dict(result)
|
||||
new_result['report'] = sorted_reports
|
||||
return frozendict(new_result)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
# Part of the Fusion Plating product family.
|
||||
#
|
||||
# Sub 12 Phase E — backing data computation for the Monthly Quality
|
||||
# Sub 12 Phase E - backing data computation for the Monthly Quality
|
||||
# Summary PDF.
|
||||
|
||||
from datetime import timedelta
|
||||
@@ -13,7 +13,7 @@ from odoo import api, fields, models
|
||||
|
||||
class ReportFpQualityMonthly(models.AbstractModel):
|
||||
_name = 'report.fusion_plating_reports.report_fp_quality_monthly_doc'
|
||||
_description = 'Monthly Quality Summary — Backing'
|
||||
_description = 'Monthly Quality Summary - Backing'
|
||||
|
||||
@api.model
|
||||
def _get_report_values(self, docids, data=None):
|
||||
@@ -138,7 +138,7 @@ class ReportFpQualityMonthly(models.AbstractModel):
|
||||
|
||||
# Repeat customers (≥3 NCRs in last 90 days)
|
||||
cutoff_90d = today - timedelta(days=90)
|
||||
# Odoo 19 — use _read_group with aggregates=['__count'].
|
||||
# Odoo 19 - use _read_group with aggregates=['__count'].
|
||||
groups = self.env['fusion.plating.ncr']._read_group(
|
||||
domain=[('reported_date', '>=', cutoff_90d),
|
||||
('customer_partner_id', '!=', False)],
|
||||
|
||||
@@ -96,7 +96,7 @@ class ReportWoMargin(models.AbstractModel):
|
||||
# ------------------------------------------------------------------
|
||||
@api.model
|
||||
def _get_report_values(self, docids, data=None):
|
||||
# Sub 11 — MRP gone. The report is bound to fusion_plating_reports.action_report_wo_margin
|
||||
# Sub 11 - MRP gone. The report is bound to fusion_plating_reports.action_report_wo_margin
|
||||
# which itself was uninstalled. Returning empty docs keeps the
|
||||
# AbstractModel safe to import (its sister fp.job report
|
||||
# report_fp_job_margin owns the live margin path now).
|
||||
|
||||
Reference in New Issue
Block a user