[FIX] stock_landed_cost: Moving of the fix #71596 from the product module to stock_landed_cost module
Link to the original commit: https://github.com/odoo/odoo/pull/71596/commits/fc9d63f541340ebcd485cffcd6e9a3ee6cd57f49 opw-2547663 closes odoo/odoo#71890 X-original-commit: 4139a80ac6c366289be7e328329d4868f7685e3d Signed-off-by: William Henrotin <Whenrow@users.noreply.github.com> Signed-off-by: Djamel Touati <DjamelTouati@users.noreply.github.com>
This commit is contained in:
@@ -756,3 +756,11 @@ msgid ""
|
||||
"applied for products with automated inventory valuation and FIFO or average "
|
||||
"costing method."
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_landed_costs
|
||||
#: code:addons/stock_landed_costs/models/product.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot change the product type or disable landed cost option because the"
|
||||
" product is used in an account move line."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import fields, models
|
||||
from odoo import fields, models, _
|
||||
from odoo.addons.stock_landed_costs.models.stock_landed_cost import SPLIT_METHOD
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
@@ -11,3 +12,12 @@ class ProductTemplate(models.Model):
|
||||
landed_cost_ok = fields.Boolean('Is a Landed Cost', help='Indicates whether the product is a landed cost.')
|
||||
split_method_landed_cost = fields.Selection(SPLIT_METHOD, string="Default Split Method",
|
||||
help="Default Split Method when used for Landed Cost")
|
||||
|
||||
def write(self, vals):
|
||||
for product in self:
|
||||
if (('type' in vals and vals['type'] != 'service') or ('landed_cost_ok' in vals and not vals['landed_cost_ok'])) and product.type == 'service' and product.landed_cost_ok:
|
||||
if self.env['account.move.line'].search_count([('product_id', 'in', product.product_variant_ids.ids), ('is_landed_costs_line', '=', True)]):
|
||||
raise UserError(_("You cannot change the product type or disable landed cost option because the product is used in an account move line."))
|
||||
else:
|
||||
vals['landed_cost_ok'] = False
|
||||
super(ProductTemplate, product).write(vals)
|
||||
|
||||
Reference in New Issue
Block a user