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

@@ -5,7 +5,7 @@
{
'name': 'Fusion Plating — Customer Portal',
'version': '19.0.2.1.0',
'version': '19.0.2.1.1',
'category': 'Manufacturing/Plating',
'summary': 'Customer-facing portal for plating shops: online RFQ, job status, '
'CoC downloads, invoice access.',

View File

@@ -23,14 +23,14 @@ class ResPartner(models.Model):
x_fc_portal_job_ids = fields.One2many(
'fusion.plating.portal.job',
'partner_id',
string='Plating Jobs',
string='Work Orders',
)
x_fc_quote_request_count = fields.Integer(
string='Quote Request Count',
compute='_compute_x_fc_quote_request_count',
)
x_fc_portal_job_count = fields.Integer(
string='Plating Job Count',
string='Work Order Count',
compute='_compute_x_fc_portal_job_count',
)

View File

@@ -368,7 +368,7 @@
<t t-set="placeholder_count" t-value="'fp_quote_request_count'"/>
</t>
<t t-call="portal.portal_docs_entry">
<t t-set="title">Plating Jobs</t>
<t t-set="title">Work Orders</t>
<t t-set="url" t-value="'/my/jobs'"/>
<t t-set="placeholder_count" t-value="'fp_portal_job_count'"/>
</t>

View File

@@ -428,7 +428,7 @@
<!-- ================================================================== -->
<!-- JOBS — list with segmented progress bars -->
<!-- ================================================================== -->
<template id="portal_my_jobs" name="My Plating Jobs">
<template id="portal_my_jobs" name="My Work Orders">
<t t-call="portal.portal_layout">
<t t-set="breadcrumbs_searchbar" t-value="True"/>
<t t-call="portal.portal_searchbar">
@@ -499,7 +499,7 @@
<!-- ================================================================== -->
<!-- JOB — detail -->
<!-- ================================================================== -->
<template id="portal_my_job" name="My Plating Job">
<template id="portal_my_job" name="My Work Order">
<t t-call="portal.portal_layout">
<div class="row mt-2 mb-4">
<div class="col-12">

View File

@@ -188,7 +188,7 @@
<field name="name">fp.portal.job.list</field>
<field name="model">fusion.plating.portal.job</field>
<field name="arch" type="xml">
<list string="Plating Jobs"
<list string="Work Orders"
decoration-info="state == 'received'"
decoration-success="state == 'complete'">
<field name="name"/>
@@ -213,7 +213,7 @@
<field name="name">fp.portal.job.form</field>
<field name="model">fusion.plating.portal.job</field>
<field name="arch" type="xml">
<form string="Plating Job">
<form string="Work Order">
<header>
<field name="state" widget="statusbar"
statusbar_visible="received,in_progress,quality_check,ready_to_ship,shipped,complete"/>
@@ -262,7 +262,7 @@
<field name="name">fp.portal.job.search</field>
<field name="model">fusion.plating.portal.job</field>
<field name="arch" type="xml">
<search string="Plating Jobs">
<search string="Work Orders">
<field name="name"/>
<field name="partner_id"/>
<field name="invoice_ref"/>
@@ -286,7 +286,7 @@
<!-- Portal Job — action -->
<!-- ================================================================== -->
<record id="action_fp_portal_job" model="ir.actions.act_window">
<field name="name">Plating Jobs</field>
<field name="name">Work Orders</field>
<field name="res_model">fusion.plating.portal.job</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_fp_portal_job_search"/>