From acf26d7c369adc1a3e82acbd378aaf7b657c7099 Mon Sep 17 00:00:00 2001 From: Marc Durepos Date: Wed, 3 Jul 2024 08:54:16 -0400 Subject: [PATCH] add customer name and upstream production to work orders. Add customer name to shop floor view on MOs. --- improved_mo_origin/__manifest__.py | 7 ++++++- .../static/src/mrp_display/mrp_display.esm.js | 18 ++++++++++++++++++ .../src/mrp_display/mrp_display_action.esm.js | 13 +++++++++++++ .../src/mrp_display/mrp_display_record.esm.js | 9 +++++++++ .../src/mrp_display/mrp_display_record.xml | 19 +++++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display.esm.js create mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_action.esm.js create mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_record.esm.js create mode 100644 improved_mo_origin/static/src/mrp_display/mrp_display_record.xml diff --git a/improved_mo_origin/__manifest__.py b/improved_mo_origin/__manifest__.py index 2eaca04..5a4f0f5 100644 --- a/improved_mo_origin/__manifest__.py +++ b/improved_mo_origin/__manifest__.py @@ -27,7 +27,12 @@ "license": "LGPL-3", "depends": ["sale_mrp"], "data": ["views/mrp_production_views.xml"], - "assets": {}, + 'assets': { + 'web.assets_backend': [ + 'improved_mo_origin/static/src/**/*.xml', + 'improved_mo_origin/static/src/**/*.js', + ] + }, "installable": True, "auto_install": False, } diff --git a/improved_mo_origin/static/src/mrp_display/mrp_display.esm.js b/improved_mo_origin/static/src/mrp_display/mrp_display.esm.js new file mode 100644 index 0000000..6959623 --- /dev/null +++ b/improved_mo_origin/static/src/mrp_display/mrp_display.esm.js @@ -0,0 +1,18 @@ +/** @odoo-module **/ + +import {MrpDisplay} from "@mrp_workorder/mrp_display/mrp_display"; +import {patch} from "@web/core/utils/patch"; + +patch(MrpDisplay.prototype, { + _makeModelParams() { + var params = super._makeModelParams(); + const customerFields = this.props.models.find( + (m) => m.resModel === "res.partner" + ).fields; + params.config.activeFields.customer_ids.related = { + fields: customerFields, + activeFields: customerFields, + }; + return params; + }, +}); diff --git a/improved_mo_origin/static/src/mrp_display/mrp_display_action.esm.js b/improved_mo_origin/static/src/mrp_display/mrp_display_action.esm.js new file mode 100644 index 0000000..985dd50 --- /dev/null +++ b/improved_mo_origin/static/src/mrp_display/mrp_display_action.esm.js @@ -0,0 +1,13 @@ +/** @odoo-module **/ + +import {MrpDisplayAction} from "@mrp_workorder/mrp_display/mrp_display_action"; +import {patch} from "@web/core/utils/patch"; + +patch(MrpDisplayAction.prototype, { + get fieldsStructure() { + const vals = super.fieldsStructure; + vals["mrp.production"].push("customer_ids", "source_sale_orders"); + vals["res.partner"] = ["id", "display_name", "source_sale_orders"]; + return vals; + }, +}); diff --git a/improved_mo_origin/static/src/mrp_display/mrp_display_record.esm.js b/improved_mo_origin/static/src/mrp_display/mrp_display_record.esm.js new file mode 100644 index 0000000..ac07d1f --- /dev/null +++ b/improved_mo_origin/static/src/mrp_display/mrp_display_record.esm.js @@ -0,0 +1,9 @@ +/** @odoo-module **/ + +import {Many2ManyTagsField} from "@web/views/fields/many2many_tags/many2many_tags_field"; +import {MrpDisplayRecord} from "@mrp_workorder/mrp_display/mrp_display_record"; + +MrpDisplayRecord.components = { + ...MrpDisplayRecord.components, + Many2ManyTagsField, +}; diff --git a/improved_mo_origin/static/src/mrp_display/mrp_display_record.xml b/improved_mo_origin/static/src/mrp_display/mrp_display_record.xml new file mode 100644 index 0000000..49f9277 --- /dev/null +++ b/improved_mo_origin/static/src/mrp_display/mrp_display_record.xml @@ -0,0 +1,19 @@ + + + + + + + + + +