[IMP] - Product with is_contract can be only of type service

This commit is contained in:
sbejaoui
2018-10-31 16:23:34 +01:00
committed by Ilyas
parent 214c4de11c
commit a4d82e8f3e
5 changed files with 47 additions and 37 deletions

View File

@@ -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"))