[FIX] stock: unreserve by changing location on import/location view
This PR Reverts the change in #105425 as the code is redundant see Discussion Fixes the issue and explain the details as it doesn't get triggered from inventory adjustment view but from current stock view in location X. Steps to reproduce: - Install inventory - Activate storage locations - Allow import in Locations/WH/Stock/Current Stock - Export the current stock of WH/Stock - Change the Location in the file to WH/Output - Import the modified file In the Location/Current stock view, the _load_records_write/create methods are bypassing the allowed_fields checks in the def create/write since this check only occurs when _is_inventory_mode() = True. This can cause inconsistencies if there are quants reserved. To solve the problem we set inventory_mode to True so that the method returns True and the checks are triggered (and prevent these inconsistencies). Task id: 3007499 closes odoo/odoo#106077 X-original-commit: 7240c5b19e9c06fe22a929ca3ec83115c29a5c7f Related: odoo/enterprise#34153 Signed-off-by: Tiffany Chang <tic@odoo.com>
This commit is contained in:
@@ -287,7 +287,11 @@ class StockQuant(models.Model):
|
||||
for value in values:
|
||||
if 'location_id' not in value:
|
||||
value['location_id'] = warehouse.lot_stock_id.id
|
||||
return super()._load_records_create(values)
|
||||
return super(StockQuant, self.with_context(inventory_mode=True))._load_records_create(values)
|
||||
|
||||
def _load_records_write(self, values):
|
||||
""" Only allowed fields should be modified """
|
||||
return super(StockQuant, self.with_context(inventory_mode=True))._load_records_write(values)
|
||||
|
||||
@api.model
|
||||
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
|
||||
|
||||
Reference in New Issue
Block a user