summaryrefslogtreecommitdiff
path: root/addons/mrp_subcontracting/wizard
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/mrp_subcontracting/wizard
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/mrp_subcontracting/wizard')
-rw-r--r--addons/mrp_subcontracting/wizard/__init__.py4
-rw-r--r--addons/mrp_subcontracting/wizard/stock_picking_return.py29
-rw-r--r--addons/mrp_subcontracting/wizard/stock_picking_return_views.xml19
3 files changed, 52 insertions, 0 deletions
diff --git a/addons/mrp_subcontracting/wizard/__init__.py b/addons/mrp_subcontracting/wizard/__init__.py
new file mode 100644
index 00000000..0441b01a
--- /dev/null
+++ b/addons/mrp_subcontracting/wizard/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import stock_picking_return
diff --git a/addons/mrp_subcontracting/wizard/stock_picking_return.py b/addons/mrp_subcontracting/wizard/stock_picking_return.py
new file mode 100644
index 00000000..6a62b86d
--- /dev/null
+++ b/addons/mrp_subcontracting/wizard/stock_picking_return.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, models, fields
+
+
+class ReturnPicking(models.TransientModel):
+ _inherit = 'stock.return.picking'
+
+ subcontract_location_id = fields.Many2one('stock.location', compute='_compute_subcontract_location_id')
+
+ @api.depends('picking_id')
+ def _compute_subcontract_location_id(self):
+ for record in self:
+ record.subcontract_location_id = record.picking_id.partner_id.with_company(
+ record.picking_id.company_id
+ ).property_stock_subcontractor
+
+ @api.onchange('picking_id')
+ def _onchange_picking_id(self):
+ res = super(ReturnPicking, self)._onchange_picking_id()
+ if any(return_line.quantity > 0 and return_line.move_id.is_subcontract for return_line in self.product_return_moves):
+ self.location_id = self.picking_id.partner_id.with_company(self.picking_id.company_id).property_stock_subcontractor
+ return res
+
+ def _prepare_move_default_values(self, return_line, new_picking):
+ vals = super(ReturnPicking, self)._prepare_move_default_values(return_line, new_picking)
+ vals['is_subcontract'] = False
+ return vals
diff --git a/addons/mrp_subcontracting/wizard/stock_picking_return_views.xml b/addons/mrp_subcontracting/wizard/stock_picking_return_views.xml
new file mode 100644
index 00000000..7ad5f2bd
--- /dev/null
+++ b/addons/mrp_subcontracting/wizard/stock_picking_return_views.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="view_stock_return_picking_form_subcontracting" model="ir.ui.view">
+ <field name="name">Return lines</field>
+ <field name="model">stock.return.picking</field>
+ <field name="inherit_id" ref="stock.view_stock_return_picking_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='location_id']" position="before">
+ <field name="subcontract_location_id" invisible="1"/>
+ <field name="original_location_id" invisible="1"/>
+ </xpath>
+ <xpath expr="//field[@name='location_id']" position="attributes">
+ <attribute name="domain">
+ ['|', '|', ('id', '=', original_location_id), ('return_location', '=', True), ('id', '=', subcontract_location_id)]
+ </attribute>
+ </xpath>
+ </field>
+ </record>
+</odoo>