ui(rename): "Plating Job" -> "Work Order" / display "WO # 01368"

Standardise user-facing terminology across 5 modules (27 files):
  - display_name compute: 'Work Order # 01368' -> 'WO # 01368'
  - _description on 5 models: Plating Job{," Step"," Step Time Log"," Margin Report"," Recipe Node Override"} -> Work Order equivalents
  - field labels (string=...) on 13 Many2one / One2many fields
    across fp.batch, fp.thickness_reading, fp.quality.hold,
    fp.job_consumption, fp.portal.job, fp.certificate, fp.delivery,
    fp.quality.check, fp.racking.inspection, res.partner, sale.order
  - XML view labels: action names, list/form/search strings,
    portal template names, dashboard tile titles

What's deliberately preserved:
  - DB model name 'fp.job' (technical identifier — used by
    sale_order.x_fc_plating_job_ids and all comodel refs)
  - Module name 'fusion_plating_jobs' (directory / import path)
  - Settings -> Apps display label 'Fusion Plating Jobs' (module
    identity for Odoo's app picker)
  - 'Use Native Plating Jobs' migration toggle (internal mechanism
    flag, not user-facing terminology)

Verified on entech: WH/JOB/01368 now displays as 'WO # 01368'
everywhere humans look (form header, breadcrumbs, M2O dropdowns,
error messages, smart-button titles).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-05-12 08:22:09 -04:00
parent dcbe8305d0
commit cd2584d6ee
27 changed files with 35 additions and 34 deletions

View File

@@ -22,5 +22,5 @@ class FusionPlatingBatch(models.Model):
'fp.job',
related='x_fc_step_id.job_id',
store=True,
string='Plating Job',
string='Work Order',
)

View File

@@ -19,7 +19,7 @@ class FpCertificate(models.Model):
x_fc_job_id = fields.Many2one(
'fp.job',
string='Plating Job',
string='Work Order',
index=True,
help="Native fp.job link. Coexists with bridge_mrp's production_id.",
)

View File

@@ -13,7 +13,7 @@ class FusionPlatingDelivery(models.Model):
x_fc_job_id = fields.Many2one(
'fp.job',
string='Plating Job',
string='Work Order',
index=True,
help='Native fp.job link. Coexists with the legacy job_ref Char.',
)

View File

@@ -25,7 +25,7 @@ class FpJobConsumption(models.Model):
_order = 'logged_date desc, id desc'
job_id = fields.Many2one(
'fp.job', string='Plating Job',
'fp.job', string='Work Order',
required=True, ondelete='cascade', index=True,
)
step_id = fields.Many2one(

View File

@@ -14,7 +14,7 @@ from odoo import api, fields, models
class FpJobNodeOverride(models.Model):
_name = 'fp.job.node.override'
_description = 'Plating Job Recipe Node Override'
_description = 'Work Order Recipe Node Override'
_order = 'job_id, node_id'
job_id = fields.Many2one(

View File

@@ -14,7 +14,7 @@ class FusionPlatingPortalJob(models.Model):
x_fc_job_id = fields.Many2one(
'fp.job',
string='Plating Job',
string='Work Order',
index=True,
help='Native fp.job link. Coexists with x_fc_production_id (legacy '
'mrp.production link).',

View File

@@ -13,7 +13,7 @@ class FusionPlatingQualityHold(models.Model):
x_fc_job_id = fields.Many2one(
'fp.job',
string='Plating Job',
string='Work Order',
index=True,
help="Native fp.job link. Coexists with bridge_mrp's production_id "
"link.",

View File

@@ -12,7 +12,7 @@ class FpThicknessReading(models.Model):
x_fc_job_id = fields.Many2one(
'fp.job',
string='Plating Job',
string='Work Order',
index=True,
)
x_fc_step_id = fields.Many2one(

View File

@@ -11,7 +11,7 @@ from odoo import api, models
class ReportFpJobMargin(models.AbstractModel):
_name = 'report.fusion_plating_jobs.report_fp_job_margin'
_description = 'Plating Job Margin Report'
_description = 'Work Order Margin Report'
@api.model
def _get_report_values(self, docids, data=None):

View File

@@ -20,7 +20,7 @@ class SaleOrder(models.Model):
_inherit = 'sale.order'
x_fc_fp_job_count = fields.Integer(
string='Plating Jobs',
string='Work Orders',
compute='_compute_fp_job_count',
)
x_fc_fp_certificate_count = fields.Integer(