"""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.', )