from odoo import models, fields, api class HrResignationWarning(models.Model): _name = 'hr.resignation.warning' _description = 'Resignation Warning' name = fields.Char(string='Warning Reference', readonly=True, default=lambda self: _('New')) resignation_id = fields.Many2one('hr.resignation', string="Related Resignation", required=True) employee_id = fields.Many2one(related='resignation_id.employee_id', string="Employee", store=True) date = fields.Date(string="Warning Date", default=fields.Date.today, required=True) warning_reason = fields.Text(string="Reason", required=True) issued_by = fields.Many2one('res.users', string="Issued By", default=lambda self: self.env.user) @api.model def create(self, vals): if vals.get('name', _('New')) == _('New'): vals['name'] = self.env['ir.sequence'].next_by_code('hr.resignation.warning') or _('New') return super().create(vals)