chore(reports): drop duplicate Print menu entries on legacy MRP models

After the fp.job migration, every MRP-bound Print action in
fusion_plating_reports has a fp.job-bound canonical version in
fusion_plating_jobs. Having both registered means clicking Print on a
record shows two identical entries.

Removed 7 ir.actions.report records (templates kept for backwards
compat — only the menu bindings are gone):

  action_report_wo_margin                   (mrp.production)
  action_report_fp_work_order_portrait      (mrp.workorder)
  action_report_fp_work_order_landscape     (mrp.workorder)
  action_report_fp_wo_sticker               (mrp.workorder)
  action_report_fp_mo_sticker               (mrp.production)
  action_report_fp_job_traveller_mo_landscape (mrp.production)
  action_report_fp_job_traveller_mo_portrait  (mrp.production)

Kept:
  action_report_fp_job_traveller_so_*  (sale.order)
  action_report_fp_so_sticker          (sale.order)

The shared inner sticker templates (report_fp_wo_sticker_inner /
_defaults) stay registered because fp.job + sale.order stickers
both t-call them.

Version: reports 19.0.7.17 -> 19.0.7.18.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsinghpal
2026-04-26 10:53:19 -04:00
parent b8fe14e653
commit 160198edb1
2 changed files with 20 additions and 92 deletions

View File

@@ -3,7 +3,7 @@
# License OPL-1 (Odoo Proprietary License v1.0)
{
'name': 'Fusion Plating — Reports',
'version': '19.0.7.17.0',
'version': '19.0.7.18.0',
'category': 'Manufacturing/Plating',
'summary': 'PDF reports for Fusion Plating: quote, SO, WO, packing, BoL, CoC, invoice, receipt, quality + compliance.',
'depends': [

View File

@@ -248,20 +248,11 @@
<field name="paperformat_id" ref="paperformat_fp_a4_landscape"/>
</record>
<!-- ============================================================= -->
<!-- 12. Work Order Margin Report -->
<!-- ============================================================= -->
<record id="action_report_wo_margin" model="ir.actions.report">
<field name="name">Work Order Margin Report</field>
<field name="model">mrp.production</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_wo_margin</field>
<field name="report_file">fusion_plating_reports.report_wo_margin</field>
<field name="print_report_name">'Margin Report - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
<field name="binding_type">report</field>
<field name="paperformat_id" ref="paperformat_fp_a4_landscape"/>
</record>
<!-- 12. Work Order Margin Report (mrp.production binding) — REMOVED.
Replaced by the fp.job-bound version in
fusion_plating_jobs/report/report_fp_job_margin.xml.
The QWeb template (report_wo_margin) remains in templates for
any out-of-band callers; only the Print menu entry is gone. -->
<!-- ============================================================= -->
<!-- 13. Quotation / Sales Order (Portrait + Landscape) -->
@@ -289,31 +280,9 @@
<field name="paperformat_id" ref="paperformat_fp_a4_landscape"/>
</record>
<!-- ============================================================= -->
<!-- 14. Work Order Traveller (Portrait + Landscape) -->
<!-- ============================================================= -->
<record id="action_report_fp_work_order_portrait" model="ir.actions.report">
<field name="name">Work Order Traveller (Portrait)</field>
<field name="model">mrp.workorder</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_work_order_portrait</field>
<field name="report_file">fusion_plating_reports.report_fp_work_order_portrait</field>
<field name="print_report_name">'WO - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_workorder"/>
<field name="binding_type">report</field>
</record>
<record id="action_report_fp_work_order_landscape" model="ir.actions.report">
<field name="name">Work Order Traveller (Landscape)</field>
<field name="model">mrp.workorder</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_work_order_landscape</field>
<field name="report_file">fusion_plating_reports.report_fp_work_order_landscape</field>
<field name="print_report_name">'WO - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_workorder"/>
<field name="binding_type">report</field>
<field name="paperformat_id" ref="paperformat_fp_a4_landscape"/>
</record>
<!-- 14. Work Order Traveller (mrp.workorder bindings) — REMOVED.
Replaced by fp.job-bound traveller in
fusion_plating_jobs/report/report_fp_job_traveller.xml. -->
<!-- ============================================================= -->
<!-- 14b. Box Sticker — 4x3" label for parts-box identification -->
@@ -341,33 +310,12 @@
<field name="dpi">300</field>
</record>
<record id="action_report_fp_wo_sticker" model="ir.actions.report">
<field name="name">WO Box Sticker</field>
<field name="model">mrp.workorder</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_wo_sticker</field>
<field name="report_file">fusion_plating_reports.report_fp_wo_sticker</field>
<field name="print_report_name">'WO Sticker - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_workorder"/>
<field name="binding_type">report</field>
<field name="paperformat_id" ref="paperformat_fp_wo_sticker"/>
</record>
<!-- Same sticker bound to mrp.production so "Print → WO Box
Sticker" appears on the MO form too. Operators live on the
MO form (WH/MO/00067 etc.); binding to both surfaces keeps
the workflow frictionless. -->
<record id="action_report_fp_mo_sticker" model="ir.actions.report">
<field name="name">WO Box Sticker</field>
<field name="model">mrp.production</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_mo_sticker</field>
<field name="report_file">fusion_plating_reports.report_fp_mo_sticker</field>
<field name="print_report_name">'WO Sticker - %s' % (object.name or '').replace('/', '-')</field>
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
<field name="binding_type">report</field>
<field name="paperformat_id" ref="paperformat_fp_wo_sticker"/>
</record>
<!-- WO Box Sticker (mrp.workorder + mrp.production bindings) —
REMOVED. Replaced by the fp.job-bound version in
fusion_plating_jobs/report/report_fp_job_sticker.xml.
The shared inner templates (report_fp_wo_sticker_inner /
report_fp_wo_sticker_defaults) stay registered because
fp.job + sale.order stickers both t-call them. -->
<!-- Same sticker bound to sale.order — prints one sticker per
order line that carries a part, so estimators / receiving can
@@ -492,32 +440,12 @@
</record>
<!-- ============================================================= -->
<!-- 19. Job Traveller (Shop Router) -->
<!-- Four report actions: MO landscape/portrait + SO landscape/portrait -->
<!-- 19. Job Traveller — Sales Order bindings only. -->
<!-- The MO-bound bindings (mrp.production -> traveller) were -->
<!-- removed because fusion_plating_jobs ships the canonical -->
<!-- fp.job-bound traveller. The SO bindings stay; estimators -->
<!-- print the traveller from the SO before fp.jobs exist. -->
<!-- ============================================================= -->
<record id="action_report_fp_job_traveller_mo_landscape" model="ir.actions.report">
<field name="name">Job Traveller (Landscape)</field>
<field name="model">mrp.production</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_job_traveller_mo_landscape</field>
<field name="report_file">fusion_plating_reports.report_fp_job_traveller_mo_landscape</field>
<field name="print_report_name">'Traveller - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
<field name="binding_type">report</field>
<field name="paperformat_id" ref="paperformat_fp_a4_landscape"/>
</record>
<record id="action_report_fp_job_traveller_mo_portrait" model="ir.actions.report">
<field name="name">Job Traveller (Portrait)</field>
<field name="model">mrp.production</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">fusion_plating_reports.report_fp_job_traveller_mo_portrait</field>
<field name="report_file">fusion_plating_reports.report_fp_job_traveller_mo_portrait</field>
<field name="print_report_name">'Traveller - %s' % object.name</field>
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
<field name="binding_type">report</field>
</record>
<record id="action_report_fp_job_traveller_so_landscape" model="ir.actions.report">
<field name="name">Job Traveller (Landscape)</field>
<field name="model">sale.order</field>