mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] - Product with is_contract can be only of type service
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2017 LasLabs Inc.
|
||||
# Copyright 2018 ACSONE SA/NV.
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import api, fields, models
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
@@ -10,8 +12,7 @@ class ProductTemplate(models.Model):
|
||||
|
||||
is_contract = fields.Boolean('Is a contract')
|
||||
contract_template_id = fields.Many2one(
|
||||
comodel_name='account.analytic.contract',
|
||||
string='Contract Template',
|
||||
comodel_name='account.analytic.contract', string='Contract Template'
|
||||
)
|
||||
|
||||
@api.onchange('is_contract')
|
||||
@@ -21,3 +22,11 @@ class ProductTemplate(models.Model):
|
||||
"""
|
||||
if not self.is_contract:
|
||||
self.contract_template_id = False
|
||||
|
||||
@api.constrains('is_contract', 'type')
|
||||
def _check_contract_product_type(self):
|
||||
"""
|
||||
Contract product should be service type
|
||||
"""
|
||||
if self.is_contract and self.type != 'service':
|
||||
raise ValidationError(_("Contract product should be service type"))
|
||||
|
||||
Reference in New Issue
Block a user