diff options
| author | Pratima Gupta <pgu@odoo.com> | 2020-05-25 12:39:59 +0000 |
|---|---|---|
| committer | Pratima Gupta <pgu@odoo.com> | 2020-06-24 11:05:33 +0000 |
| commit | 6ed99c032a1581d00ee0221c1536cd4b2f86a3a2 (patch) | |
| tree | f14d0f8ae798d6ed3fb59ad10d78b816262b0241 | |
| parent | 652d835f77da3e19eeb70a4a2fec46fd9bff8b46 (diff) | |
[IMP] stock: propagate_date on 1st receipt move
1) Before this commit, propagate date on 1st receipt move was always False
if PO was created manually.
After this commit, move will be assigned with propagte_date of buy
route of warehouse only if there is not move_dest_ids.
2) Default settings on routes as -
1) If receipts in 3 steps > the alert on the receipt
(+ propagate) and the propagate rescheduling on the followings
2) If receipt in 1 step > the alert on the buy rule
(no propagate rescheduling)
Task-2209541
closes odoo/odoo#51853
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
| -rw-r--r-- | addons/purchase_stock/models/purchase.py | 2 | ||||
| -rw-r--r-- | addons/purchase_stock/models/stock.py | 3 | ||||
| -rw-r--r-- | addons/purchase_stock/tests/test_purchase_order.py | 10 |
3 files changed, 14 insertions, 1 deletions
diff --git a/addons/purchase_stock/models/purchase.py b/addons/purchase_stock/models/purchase.py index 7d4e80430f3..56f3a892c10 100644 --- a/addons/purchase_stock/models/purchase.py +++ b/addons/purchase_stock/models/purchase.py @@ -468,7 +468,7 @@ class PurchaseOrderLine(models.Model): 'picking_type_id': self.order_id.picking_type_id.id, 'group_id': self.order_id.group_id.id, 'origin': self.order_id.name, - 'propagate_date': self.propagate_date, + 'propagate_date': self.order_id.picking_type_id.warehouse_id.buy_pull_id.propagate_date if not self.move_dest_ids else self.propagate_date, 'propagate_date_minimum_delta': self.propagate_date_minimum_delta, 'description_picking': description_picking, 'propagate_cancel': self.propagate_cancel, diff --git a/addons/purchase_stock/models/stock.py b/addons/purchase_stock/models/stock.py index a5e61fecd75..fa8cece163a 100644 --- a/addons/purchase_stock/models/stock.py +++ b/addons/purchase_stock/models/stock.py @@ -126,12 +126,15 @@ class StockWarehouse(models.Model): 'company_id': self.company_id.id, 'route_id': self._find_global_route('purchase_stock.route_warehouse0_buy', _('Buy')).id, 'propagate_cancel': self.reception_steps != 'one_step', + 'delay_alert': True, + 'propagate_date': self.reception_steps != 'one_step', }, 'update_values': { 'active': self.buy_to_resupply, 'name': self._format_rulename(location_id, False, 'Buy'), 'location_id': location_id.id, 'propagate_cancel': self.reception_steps != 'one_step', + 'propagate_date': self.reception_steps != 'one_step', } } }) diff --git a/addons/purchase_stock/tests/test_purchase_order.py b/addons/purchase_stock/tests/test_purchase_order.py index 0d46ae76f69..4f9060ba1fd 100644 --- a/addons/purchase_stock/tests/test_purchase_order.py +++ b/addons/purchase_stock/tests/test_purchase_order.py @@ -214,3 +214,13 @@ class TestPurchaseOrder(AccountTestCommon): # A new move of 10 unit (15 - 5 units) self.assertEqual(po1.order_line.qty_received, 5) self.assertEqual(po1.picking_ids[-1].move_lines.product_qty, 10) + + def test_propagate_date_of_move(self): + """ Propagate date of move should be assigned as per value of mto + buy route if PO is created manually (not from mto route). + """ + warehouse = self.env.ref('stock.warehouse0') + self.po = self.env['purchase.order'].create(self.po_vals) + self.po.button_confirm() + self.assertFalse(self.po.order_line.mapped('move_dest_ids')) + self.assertEqual(self.po.picking_ids.move_lines[0].propagate_date, warehouse.buy_pull_id.propagate_date) |
