2026-08-30 01:31:46 -04:00

61 lines
1.8 KiB
Python

from odoo import fields, models
class HrContract(models.Model):
_inherit = "hr.contract"
mcs_salary_revision_state = fields.Selection(
[
("draft", "Draft"),
("sent", "Sent"),
("signed", "Signed"),
("archived", "Archived"),
],
string="Salary Letter Status",
default="draft",
tracking=True,
)
mcs_salary_revision_sent_date = fields.Date(
string="Letter Sent Date", tracking=True
)
mcs_salary_revision_signed_date = fields.Date(
string="Letter Signed Date", tracking=True
)
mcs_salary_revision_notes = fields.Text(string="Salary Revision Notes")
def action_mcs_generate_salary_revision_letter(self):
today = fields.Date.context_today(self)
for contract in self:
if contract.mcs_salary_revision_state == "draft":
contract.write(
{
"mcs_salary_revision_state": "sent",
"mcs_salary_revision_sent_date": today,
}
)
return self.env.ref(
"mcs_simple_payroll.action_report_salary_revision_letter"
).report_action(self)
def action_mcs_mark_salary_letter_sent(self):
self.write(
{
"mcs_salary_revision_state": "sent",
"mcs_salary_revision_sent_date": fields.Date.context_today(self),
}
)
return True
def action_mcs_mark_salary_letter_signed(self):
self.write(
{
"mcs_salary_revision_state": "signed",
"mcs_salary_revision_signed_date": fields.Date.context_today(self),
}
)
return True
def action_mcs_archive_salary_letter(self):
self.write({"mcs_salary_revision_state": "archived"})
return True