From 7023769d64777a32c3cf2ac1cee95862bd64644a Mon Sep 17 00:00:00 2001
From: clesgow <quwo@odoo.com>
Date: Fri, 29 Sep 2023 11:12:34 +0200
Subject: [PATCH] [REV] mrp_subcontracting: avoid setting done qty on
 subcontracted SM

This reverts commit a32778d2b24af2774057f5428c53291653ddc6d3, as it was
a temporary fix in wait of the larger one included in this PR.

Task-3383596

Part-of: odoo/odoo#142513
---
 .../mrp_subcontracting/models/stock_move.py   |  5 --
 .../tests/test_subcontracting.py              | 56 -------------------
 2 files changed, 61 deletions(-)

diff --git a/addons/mrp_subcontracting/models/stock_move.py b/addons/mrp_subcontracting/models/stock_move.py
index d4f51a58bffd..d049976f9e65 100644
--- a/addons/mrp_subcontracting/models/stock_move.py
+++ b/addons/mrp_subcontracting/models/stock_move.py
@@ -16,11 +16,6 @@ class StockMove(models.Model):
         compute='_compute_show_subcontracting_details_visible'
     )
 
-    @api.depends('is_subcontract', 'move_orig_ids.production_id')
-    def _compute_is_quantity_done_editable(self):
-        super()._compute_is_quantity_done_editable()
-        self.filtered(lambda m: m.is_subcontract).is_quantity_done_editable = False
-
     def _compute_display_assign_serial(self):
         super(StockMove, self)._compute_display_assign_serial()
         for move in self:
diff --git a/addons/mrp_subcontracting/tests/test_subcontracting.py b/addons/mrp_subcontracting/tests/test_subcontracting.py
index 778680088d72..5f9668ed6722 100644
--- a/addons/mrp_subcontracting/tests/test_subcontracting.py
+++ b/addons/mrp_subcontracting/tests/test_subcontracting.py
@@ -670,62 +670,6 @@ class TestSubcontractingFlows(TestMrpSubcontractingCommon):
 
         self.assertEqual(self.env['mrp.production'].search_count([('bom_id', '=', bom.id)]), 3)
 
-    def test_several_backorders02(self):
-        """
-        Receipt for 5 subcontracted products
-        Process three of them with backorder, then the remaining qty. The user
-        should never be able to define the produced qty directly on the
-        picking's SM.
-        """
-        finished, component = self.env['product.product'].create([{
-            'name': 'Finished Product',
-            'type': 'product',
-        }, {
-            'name': 'Component',
-            'type': 'product',
-        }])
-
-        self.env['mrp.bom'].create({
-            'product_tmpl_id': finished.product_tmpl_id.id,
-            'product_qty': 1.0,
-            'type': 'subcontract',
-            'subcontractor_ids': [(4, self.subcontractor_partner1.id)],
-            'bom_line_ids': [(0, 0, {'product_id': component.id, 'product_qty': 1.0})],
-        })
-
-        picking_form = Form(self.env['stock.picking'])
-        picking_form.picking_type_id = self.env.ref('stock.picking_type_in')
-        picking_form.partner_id = self.subcontractor_partner1
-        with picking_form.move_ids_without_package.new() as move:
-            move.product_id = finished
-            move.product_uom_qty = 5
-        picking = picking_form.save()
-        picking.action_confirm()
-
-        for done_qty in [2, 3]:
-            with self.assertRaises(AssertionError):
-                with Form(picking) as picking_form:
-                    with picking_form.move_ids_without_package.edit(0) as line:
-                        line.quantity = done_qty
-                        line.picked = True
-
-            action = picking.action_record_components()
-            mo = self.env['mrp.production'].browse(action['res_id'])
-            mo_form = Form(mo.with_context(**action['context']), view=action['view_id'])
-            mo_form.qty_producing = done_qty
-            mo = mo_form.save()
-            mo.subcontracting_record_component()
-            res = picking.button_validate()
-
-            if res is not True:
-                wizard = Form(self.env[res['res_model']].with_context(res['context'])).save()
-                wizard.process()
-                picking = picking.backorder_ids
-
-        productions = self.env['mrp.production'].search([('product_id', '=', finished.id)], order='id')
-        self.assertEqual(productions.mapped('state'), ['done', 'done'])
-        self.assertEqual(productions.move_raw_ids.mapped('quantity'), [2.0, 3.0])
-
     def test_subcontracting_rules_replication(self):
         """ Test activate/archive subcontracting location rules."""
         reference_location_rules = self.env['stock.rule'].search(['|', ('location_src_id', '=', self.env.company.subcontracting_location_id.id), ('location_dest_id', '=', self.env.company.subcontracting_location_id.id)])
-- 
GitLab