You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
# Copyright 2021 Open Source Integrators
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo import _, api, fields, models
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class PartnerStage(models.Model):
|
|
_name = "res.partner.stage"
|
|
_description = "Contact Stage"
|
|
_order = "sequence, id"
|
|
|
|
name = fields.Char(required=True, translate=True)
|
|
code = fields.Char()
|
|
sequence = fields.Integer(help="Used to order the stages", default=10)
|
|
fold = fields.Boolean()
|
|
active = fields.Boolean(default=True)
|
|
description = fields.Text(translate=True)
|
|
is_default = fields.Boolean("Default state")
|
|
|
|
state = fields.Selection(
|
|
[("draft", "To Approve"), ("confirmed", "Approved"), ("cancel", "Archived")],
|
|
string="Related State",
|
|
default="confirmed",
|
|
)
|
|
|
|
_sql_constraints = [
|
|
("res_partner_stage_code_unique", "UNIQUE(code)", "Stage Code must be unique.")
|
|
]
|
|
|
|
@api.constrains("is_default")
|
|
def _check_default(self):
|
|
if self.search_count([("is_default", "=", True)]) > 1:
|
|
raise ValidationError(_("There should be only one default stage"))
|