Files
gsinghpal 9ebf89bde2 changes
2026-05-16 13:18:52 -04:00

43 lines
1.5 KiB
Python

"""Follow-up level definition (e.g. Reminder at 7 days, Warning at 30, Legal at 60)."""
from odoo import _, api, fields, models
TONE_SELECTION = [
('gentle', 'Gentle'),
('firm', 'Firm'),
('legal', 'Legal'),
]
class FusionFollowupLevel(models.Model):
_name = "fusion.followup.level"
_description = "Fusion Follow-up Level"
_order = "sequence, id"
name = fields.Char(required=True, translate=True)
sequence = fields.Integer(required=True, default=10,
help="Order in which levels escalate (1, 2, 3...).")
delay_days = fields.Integer(required=True,
help="Min days overdue to trigger this level.")
tone = fields.Selection(TONE_SELECTION, required=True, default='gentle')
description = fields.Text()
company_id = fields.Many2one('res.company', default=lambda self: self.env.company)
mail_template_id = fields.Many2one('mail.template',
domain=[('model', '=', 'res.partner')])
requires_manual_review = fields.Boolean(default=False,
help="If True, follow-ups at this level need human approval before send.")
active = fields.Boolean(default=True)
_check_delay_positive = models.Constraint(
'CHECK(delay_days >= 0)',
'delay_days must be non-negative.',
)
_unique_sequence_per_company = models.Constraint(
'UNIQUE(company_id, sequence)',
'Sequence must be unique per company.',
)