mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
# Copyright 2019 Akretion
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import _, fields, models
|
|
from odoo.exceptions import UserError
|
|
|
|
|
|
class StockLocation(models.Model):
|
|
_inherit = "stock.location"
|
|
|
|
block_stock_entrance = fields.Boolean(
|
|
help="if this box is checked, putting stock on this location won't be "
|
|
"allowed. Usually used for a virtual location that has "
|
|
"childrens."
|
|
)
|
|
|
|
# Raise error if the location that you're trying to block
|
|
# has already got quants
|
|
def write(self, values):
|
|
res = super().write(values)
|
|
|
|
if "block_stock_entrance" in values and values["block_stock_entrance"]:
|
|
# Unlink zero quants before checking
|
|
# if there are quants on the location
|
|
self.env["stock.quant"]._unlink_zero_quants()
|
|
if self.mapped("quant_ids"):
|
|
raise UserError(
|
|
_(
|
|
"It is impossible to prohibit this location from\
|
|
receiving products as it already contains some."
|
|
)
|
|
)
|
|
return res
|