[IMP] purchase_stock: hide replenishment origin
When a Purchase Order is created by the replenishment report, doesn't
pass the origin ("Manual Replenishment" or "Replenishment Report").
task-2328830
closes odoo/odoo#59398
X-original-commit: 170729ee58b199041d7545e7789ac9474e86f998
Related: odoo/enterprise#13876
Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com>
This commit is contained in:
@@ -44,6 +44,11 @@ class StockRule(models.Model):
|
||||
def _run_buy(self, procurements):
|
||||
procurements_by_po_domain = defaultdict(list)
|
||||
errors = []
|
||||
# Origins we don't want to appear in the PO source field.
|
||||
origins_to_hide = [
|
||||
_('Manual Replenishment'),
|
||||
_('Replenishment Report'),
|
||||
]
|
||||
for procurement, rule in procurements:
|
||||
|
||||
# Get the schedule date in order to find a valid seller
|
||||
@@ -88,7 +93,7 @@ class StockRule(models.Model):
|
||||
procurements, rules = zip(*procurements_rules)
|
||||
|
||||
# Get the set of procurement origin for the current domain.
|
||||
origins = set([p.origin for p in procurements])
|
||||
origins = set([p.origin for p in procurements if p.origin not in origins_to_hide])
|
||||
# Check if a PO exists for the current domain.
|
||||
po = self.env['purchase.order'].sudo().search([dom for dom in domain], limit=1)
|
||||
company_id = procurements[0].company_id
|
||||
|
||||
@@ -44,9 +44,8 @@ class TestReplenishWizard(TestStockCommon):
|
||||
})
|
||||
replenish_wizard.launch_replenishment()
|
||||
last_po_id = self.env['purchase.order'].search([
|
||||
('origin', 'ilike', '%Manual Replenishment%'),
|
||||
('partner_id', '=', self.vendor.id)
|
||||
])[-1]
|
||||
], order="id desc", limit=1)
|
||||
self.assertTrue(last_po_id, 'Purchase Order not found')
|
||||
order_line = last_po_id.order_line.search([('product_id', '=', self.product1.id)])
|
||||
self.assertTrue(order_line, 'The product is not in the Purchase Order')
|
||||
@@ -93,9 +92,7 @@ class TestReplenishWizard(TestStockCommon):
|
||||
'warehouse_id': self.wh.id,
|
||||
})
|
||||
replenish_wizard.launch_replenishment()
|
||||
last_po_id = self.env['purchase.order'].search([
|
||||
('origin', 'ilike', '%Manual Replenishment%'),
|
||||
])[-1]
|
||||
last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1)
|
||||
self.assertEqual(last_po_id.partner_id, vendor1)
|
||||
self.assertEqual(last_po_id.order_line.price_unit, 100)
|
||||
|
||||
@@ -148,9 +145,7 @@ class TestReplenishWizard(TestStockCommon):
|
||||
'warehouse_id': self.wh.id,
|
||||
})
|
||||
replenish_wizard.launch_replenishment()
|
||||
last_po_id = self.env['purchase.order'].search([
|
||||
('origin', 'ilike', '%Manual Replenishment%'),
|
||||
])[-1]
|
||||
last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1)
|
||||
self.assertEqual(last_po_id.partner_id, vendor1)
|
||||
self.assertEqual(last_po_id.order_line.price_unit, 100)
|
||||
|
||||
@@ -193,9 +188,7 @@ class TestReplenishWizard(TestStockCommon):
|
||||
'warehouse_id': self.wh.id,
|
||||
})
|
||||
replenish_wizard.launch_replenishment()
|
||||
last_po_id = self.env['purchase.order'].search([
|
||||
('origin', 'ilike', '%Manual Replenishment%'),
|
||||
])[-1]
|
||||
last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1)
|
||||
self.assertEqual(last_po_id.partner_id, vendor2)
|
||||
|
||||
def test_chose_supplier_4(self):
|
||||
@@ -241,9 +234,7 @@ class TestReplenishWizard(TestStockCommon):
|
||||
'warehouse_id': self.wh.id,
|
||||
})
|
||||
replenish_wizard.launch_replenishment()
|
||||
last_po_id = self.env['purchase.order'].search([
|
||||
('origin', 'ilike', '%Manual Replenishment%'),
|
||||
])[-1]
|
||||
last_po_id = self.env['purchase.order'].search([], order="id desc", limit=1)
|
||||
|
||||
self.assertEqual(last_po_id.partner_id, vendor1)
|
||||
self.assertEqual(last_po_id.order_line.price_unit, 60)
|
||||
|
||||
Reference in New Issue
Block a user