mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
37 lines
1.3 KiB
Python
37 lines
1.3 KiB
Python
# Copyright 2017-2020 ForgeFlow S.L.
|
|
# (http://www.forgeflow.com)
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo import fields, models
|
|
|
|
|
|
class StockLocation(models.Model):
|
|
_inherit = "stock.location"
|
|
|
|
discrepancy_threshold = fields.Float(
|
|
string="Maximum Discrepancy Rate Threshold",
|
|
digits=(3, 2),
|
|
help="Maximum Discrepancy Rate allowed for any product when doing "
|
|
"an Inventory Adjustment. Thresholds defined in Locations have "
|
|
"preference over Warehouse's ones.",
|
|
)
|
|
propagate_discrepancy_threshold = fields.Boolean(
|
|
string="Propagate discrepancy threshold",
|
|
help="Propagate Maximum Discrepancy Rate Threshold to child locations",
|
|
)
|
|
|
|
def write(self, values):
|
|
res = super().write(values)
|
|
# Set the discrepancy threshold for all child locations
|
|
if values.get("discrepancy_threshold", False):
|
|
for location in self.filtered(
|
|
lambda loc: loc.propagate_discrepancy_threshold and loc.child_ids
|
|
):
|
|
location.child_ids.write(
|
|
{
|
|
"discrepancy_threshold": values["discrepancy_threshold"],
|
|
"propagate_discrepancy_threshold": True,
|
|
}
|
|
)
|
|
return res
|