Skip to content

Commit cbc1155

Browse files
aneavanzoscanajuaristi
authored andcommitted
[16.0][ADD] mrp_workorder_subcontracting: Propagate bom to SO
1 parent 8c2fdff commit cbc1155

File tree

6 files changed

+39
-1
lines changed

6 files changed

+39
-1
lines changed

mrp_workorder_subcontracting/__manifest__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"website": "https://github.com/avanzosc/mrp-addons",
88
"category": "Manufacturing/Manufacturing",
99
"license": "AGPL-3",
10-
"depends": ["mrp", "product"],
10+
"depends": ["mrp", "product", "sale", "purchase_sale_inter_company"],
1111
"data": [
1212
"security/ir.model.access.csv",
1313
"views/mrp_routing_workcenter_view.xml",
@@ -16,6 +16,7 @@
1616
"views/purchase_order_views.xml",
1717
"views/mrp_workcenter_views.xml",
1818
"views/product_subcontracting_charge_views.xml",
19+
"views/sale_order_views.xml",
1920
],
2021
"installable": True,
2122
"application": False,

mrp_workorder_subcontracting/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
from . import purchase_order
66
from . import purchase_order_line
77
from . import product_subcontracting_charge
8+
from . import sale_order

mrp_workorder_subcontracting/models/mrp_workorder.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ def create_subcontract_purchase(self):
105105
"subcon_purchase": True,
106106
"date_order": fields.Datetime.now(),
107107
"workorder_id": wo.id,
108+
"bom_id": (
109+
wo.production_id.bom_id.id if wo.production_id.bom_id else False
110+
),
108111
}
109112
)
110113

mrp_workorder_subcontracting/models/purchase_order.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,15 @@ class PurchaseOrder(models.Model):
1515
store=True,
1616
readonly=True,
1717
)
18+
19+
bom_id = fields.Many2one("mrp.bom", string="Lista de materiales")
20+
21+
def _inter_company_create_sale_order(self, dest_company):
22+
self.ensure_one()
23+
24+
sale_order = super()._inter_company_create_sale_order(dest_company)
25+
26+
if self.bom_id and sale_order:
27+
sale_order.write({"bom_id": self.bom_id.id})
28+
29+
return sale_order
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
from odoo import fields, models
2+
3+
4+
class SaleOrder(models.Model):
5+
_inherit = "sale.order"
6+
7+
bom_id = fields.Many2one("mrp.bom", string="Lista de Materiales")
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="view_sale_order_form_inherit_bom" model="ir.ui.view">
4+
<field name="name">sale.order.form.inherit.bom</field>
5+
<field name="model">sale.order</field>
6+
<field name="inherit_id" ref="sale.view_order_form" />
7+
<field name="arch" type="xml">
8+
<xpath expr="//field[@name='partner_shipping_id']" position="after">
9+
<field name="bom_id" />
10+
</xpath>
11+
12+
</field>
13+
</record>
14+
</odoo>

0 commit comments

Comments
 (0)