Steps to reproduce the bug: - Go to Inventory→ Configuration→ Warehouse Management →Operations Types - Go inside “Manufacturing”, and disable the checkbox “Create New Lots/Serial Numbers for Components” under the traceability section - create a MO with a traceable component - Confirm the MO Problem: You can create a new SN for the component without any warning, while the user is supposed to be blocked by a user error: https://github.com/odoo/odoo/blob/master/addons/mrp/models/stock_lot.py#L11-L16 The solution: We need to add the `active_mo_id` key in the context so that the user error will be triggered opw-2900256 closes odoo/odoo#96648 X-original-commit: 6d0ddc388d1c389e1911a6bb1c59c252870da1a7 Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com> Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
94 lines
4.2 KiB
XML
94 lines
4.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<record model="ir.actions.act_window" id="action_mrp_production_moves">
|
|
<field name="name">Inventory Moves</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">stock.move.line</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="domain">['|', ('move_id.raw_material_production_id', '=', active_id), ('move_id.production_id', '=', active_id)]</field>
|
|
</record>
|
|
|
|
<record id="view_stock_move_operations_raw" model="ir.ui.view">
|
|
<field name="name">stock.move.operations.raw.form</field>
|
|
<field name="model">stock.move</field>
|
|
<field name="priority">1</field>
|
|
<field name="mode">primary</field>
|
|
<field name="inherit_id" ref="stock.view_stock_move_operations" />
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//label[@for='product_uom_qty']" position="attributes">
|
|
<attribute name="string">Total To Consume</attribute>
|
|
</xpath>
|
|
<xpath expr="//label[@for='quantity_done']" position="attributes">
|
|
<attribute name="string">Consumed</attribute>
|
|
</xpath>
|
|
<xpath expr="//field[@name='quantity_done']" position='after'>
|
|
<field name="raw_material_production_id" invisible="1"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_stock_move_operations_finished" model="ir.ui.view">
|
|
<field name="name">stock.move.operations.finished.form</field>
|
|
<field name="model">stock.move</field>
|
|
<field name="priority">1</field>
|
|
<field name="mode">primary</field>
|
|
<field name="inherit_id" ref="stock.view_stock_move_operations" />
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//label[@for='product_uom_qty']" position="attributes">
|
|
<attribute name="string">To Produce</attribute>
|
|
</xpath>
|
|
<xpath expr="//label[@for='quantity_done']" position="attributes">
|
|
<attribute name="string">Produced</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_stock_move_line_operation_tree_finished" model="ir.ui.view">
|
|
<field name="name">stock.move.line.operation.tree.finished</field>
|
|
<field name="model">stock.move.line</field>
|
|
<field name="inherit_id" ref="stock.view_stock_move_line_operation_tree" />
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='lot_id']" position="attributes">
|
|
<attribute name="context">{
|
|
'active_mo_id': parent.raw_material_production_id,
|
|
'active_picking_id': picking_id,
|
|
'default_company_id': parent.company_id,
|
|
'default_product_id': parent.product_id,
|
|
}
|
|
</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="stock_move_line_view_search" model="ir.ui.view">
|
|
<field name="name">stock.move.line.search</field>
|
|
<field name="model">stock.move.line</field>
|
|
<field name="inherit_id" ref="stock.stock_move_line_view_search" />
|
|
<field name="arch" type="xml">
|
|
<filter name="manufacturing" position="attributes">
|
|
<attribute name="invisible">0</attribute>
|
|
<attribute name="domain">[('move_id.production_id', '!=', False)]</attribute>
|
|
</filter>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_mrp_traceability"
|
|
name="Lots/Serial Numbers"
|
|
parent="menu_mrp_bom"
|
|
action="stock.action_production_lot_form"
|
|
groups="stock.group_production_lot"
|
|
sequence="15"/>
|
|
|
|
<menuitem id="menu_mrp_scrap"
|
|
name="Scrap"
|
|
parent="menu_mrp_manufacturing"
|
|
action="stock.action_stock_scrap"
|
|
sequence="25"/>
|
|
|
|
<menuitem id="menu_procurement_compute_mrp"
|
|
action="stock.action_procurement_compute"
|
|
parent="mrp_planning_menu_root"
|
|
sequence="135"/>
|
|
|
|
</odoo>
|