diff --git a/addons/mrp_landed_costs/models/stock_landed_cost.py b/addons/mrp_landed_costs/models/stock_landed_cost.py
index 5d991f8c788..e6410269d78 100644
--- a/addons/mrp_landed_costs/models/stock_landed_cost.py
+++ b/addons/mrp_landed_costs/models/stock_landed_cost.py
@@ -13,18 +13,6 @@ class StockLandedCost(models.Model):
mrp_production_ids = fields.Many2many(
'mrp.production', string='Manufacturing order',
copy=False, states={'done': [('readonly', True)]}, groups='mrp.group_mrp_user')
- allowed_mrp_production_ids = fields.Many2many(
- 'mrp.production', compute='_compute_allowed_mrp_production_ids', groups='mrp.group_mrp_user')
-
- @api.depends('company_id')
- def _compute_allowed_mrp_production_ids(self):
- for cost in self:
- moves = self.env['stock.move'].search([
- ('stock_valuation_layer_ids', '!=', False),
- ('production_id', '!=', False),
- ('company_id', '=', cost.company_id.id)
- ])
- self.allowed_mrp_production_ids = moves.production_id
@api.onchange('target_model')
def _onchange_target_model(self):
diff --git a/addons/mrp_landed_costs/tests/test_stock_landed_costs_mrp.py b/addons/mrp_landed_costs/tests/test_stock_landed_costs_mrp.py
index 74c13d229c0..a81a89cbf0c 100644
--- a/addons/mrp_landed_costs/tests/test_stock_landed_costs_mrp.py
+++ b/addons/mrp_landed_costs/tests/test_stock_landed_costs_mrp.py
@@ -121,10 +121,12 @@ class TestStockLandedCostsMrp(ValuationReconciliationTestCommon):
landed_cost = Form(self.env['stock.landed.cost'].with_user(self.allow_user)).save()
landed_cost.target_model = 'manufacturing'
- self.assertTrue(man_order.id in landed_cost.allowed_mrp_production_ids.ids)
+ # Check domain of the views
+ self.assertTrue(man_order in self.env['mrp.production'].search([
+ ('move_finished_ids.stock_valuation_layer_ids', '!=', False), ('company_id', '=', landed_cost.company_id.id)]))
+
landed_cost.mrp_production_ids = [(6, 0, [man_order.id])]
landed_cost.cost_lines = [(0, 0, {'product_id': self.landed_cost.id, 'price_unit': 5.0, 'split_method': 'equal'})]
-
landed_cost.button_validate()
self.assertEqual(landed_cost.state, 'done')
diff --git a/addons/mrp_landed_costs/views/stock_landed_cost_views.xml b/addons/mrp_landed_costs/views/stock_landed_cost_views.xml
index 34f188abacc..c70749af799 100644
--- a/addons/mrp_landed_costs/views/stock_landed_cost_views.xml
+++ b/addons/mrp_landed_costs/views/stock_landed_cost_views.xml
@@ -10,11 +10,10 @@
mrp.group_mrp_user
-
+ attrs="{'invisible': [('target_model', '!=', 'manufacturing')]}"
+ domain="[('company_id', '=', company_id), ('move_finished_ids.stock_valuation_layer_ids', '!=', False)]"/>
diff --git a/addons/stock_landed_costs/models/stock_landed_cost.py b/addons/stock_landed_costs/models/stock_landed_cost.py
index b12861e6f76..06e1437253a 100644
--- a/addons/stock_landed_costs/models/stock_landed_cost.py
+++ b/addons/stock_landed_costs/models/stock_landed_cost.py
@@ -44,7 +44,6 @@ class StockLandedCost(models.Model):
picking_ids = fields.Many2many(
'stock.picking', string='Transfers',
copy=False, states={'done': [('readonly', True)]})
- allowed_picking_ids = fields.Many2many('stock.picking', compute='_compute_allowed_picking_ids')
cost_lines = fields.One2many(
'stock.landed.cost.lines', 'cost_id', 'Cost Lines',
copy=True, states={'done': [('readonly', True)]})
@@ -79,20 +78,6 @@ class StockLandedCost(models.Model):
for cost in self:
cost.amount_total = sum(line.price_unit for line in cost.cost_lines)
- @api.depends('company_id')
- def _compute_allowed_picking_ids(self):
- valued_picking_ids_per_company = defaultdict(list)
- if self.company_id:
- self.env.cr.execute("""SELECT sm.picking_id, sm.company_id
- FROM stock_move AS sm
- INNER JOIN stock_valuation_layer AS svl ON svl.stock_move_id = sm.id
- WHERE sm.picking_id IS NOT NULL AND sm.company_id IN %s
- GROUP BY sm.picking_id, sm.company_id""", [tuple(self.company_id.ids)])
- for res in self.env.cr.fetchall():
- valued_picking_ids_per_company[res[1]].append(res[0])
- for cost in self:
- cost.allowed_picking_ids = valued_picking_ids_per_company[cost.company_id.id]
-
@api.onchange('target_model')
def _onchange_target_model(self):
if self.target_model != 'picking':
diff --git a/addons/stock_landed_costs/views/stock_landed_cost_views.xml b/addons/stock_landed_costs/views/stock_landed_cost_views.xml
index fce7378fef2..a86da51a2c8 100644
--- a/addons/stock_landed_costs/views/stock_landed_cost_views.xml
+++ b/addons/stock_landed_costs/views/stock_landed_cost_views.xml
@@ -29,9 +29,10 @@
-
-
+