odoo18/addons_extensions/hr_resignation/models/hr_resignation_warnings.py

18 lines
945 B
Python

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)