diff --git a/addons/mcs_simple_payroll/models/hr_contract.py b/addons/mcs_simple_payroll/models/hr_contract.py
index a5ccafa..87ecf27 100644
--- a/addons/mcs_simple_payroll/models/hr_contract.py
+++ b/addons/mcs_simple_payroll/models/hr_contract.py
@@ -1,4 +1,5 @@
-from odoo import fields, models
+from odoo import _, fields, models
+from odoo.exceptions import UserError
class HrContract(models.Model):
@@ -22,10 +23,32 @@ class HrContract(models.Model):
string="Letter Signed Date", tracking=True
)
mcs_salary_revision_notes = fields.Text(string="Salary Revision Notes")
+ mcs_employee_active = fields.Boolean(
+ string="Employee Active",
+ related="employee_id.active",
+ )
def action_mcs_generate_salary_revision_letter(self):
today = fields.Date.context_today(self)
for contract in self:
+ if not contract.employee_id.active:
+ raise UserError(
+ _(
+ "Salary revision letters cannot be generated for archived employees."
+ )
+ )
+ if contract.state != "open":
+ raise UserError(
+ _(
+ "Salary revision letters can only be generated for running contracts."
+ )
+ )
+ if contract.mcs_salary_revision_state == "archived":
+ raise UserError(
+ _(
+ "This salary revision letter is archived and cannot be generated."
+ )
+ )
if contract.mcs_salary_revision_state == "draft":
contract.write(
{
diff --git a/addons/mcs_simple_payroll/views/hr_contract_views.xml b/addons/mcs_simple_payroll/views/hr_contract_views.xml
index ad701b6..5cc1951 100644
--- a/addons/mcs_simple_payroll/views/hr_contract_views.xml
+++ b/addons/mcs_simple_payroll/views/hr_contract_views.xml
@@ -5,11 +5,12 @@
-
+
+