[FIX] hr_holidays: check allocation status
opw-3289147 closes odoo/odoo#120082 X-original-commit: 3fb278caabfb5dc5f92d79e2fb3aee9433bf0d94 Related: odoo/enterprise#40508 Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com> Signed-off-by: Kevin Baptiste <kba@odoo.com>
This commit is contained in:
@@ -62,7 +62,7 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_admin"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_admin'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
@@ -77,9 +77,6 @@
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="ref('hr_holidays.hr_holidays_int_tour')"/>
|
||||
</function>
|
||||
|
||||
<record id="hr_holidays_vc" model="hr.leave.allocation">
|
||||
<field name="name">Functional Training</field>
|
||||
@@ -98,10 +95,13 @@
|
||||
<field name="number_of_days">12</field>
|
||||
<field name="employee_id" ref="hr.employee_admin"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_admin'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="[ref('hr_holidays_allocation_cl'), ref('hr_holidays_int_tour'), ref('hr_holidays_cl_allocation')]"/>
|
||||
</function>
|
||||
|
||||
<!-- leave request -->
|
||||
<record id="hr_holidays_cl" model="hr.leave">
|
||||
@@ -155,7 +155,7 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_al"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_al'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
@@ -166,7 +166,7 @@
|
||||
<field name="number_of_days">10</field>
|
||||
<field name="employee_id" ref="hr.employee_al"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_al'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
@@ -177,10 +177,13 @@
|
||||
<field name="number_of_days">12</field>
|
||||
<field name="employee_id" ref="hr.employee_al"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_al'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="[ref('hr_holidays_allocation_cl_al'), ref('hr_holidays_allocation_pl_al'), ref('hr_holidays_vc_al')]"/>
|
||||
</function>
|
||||
|
||||
<!-- leave request -->
|
||||
<record id="hr_holidays_cl_al" model="hr.leave">
|
||||
@@ -220,10 +223,13 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_mit"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_mit'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="[ref('hr_holidays_allocation_cl_mit')]"/>
|
||||
</function>
|
||||
|
||||
<record id="hr_holidays_vc_mit" model="hr.leave.allocation">
|
||||
<field name="name">Compliance Training</field>
|
||||
@@ -274,7 +280,7 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_qdp"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_qdp'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
@@ -290,7 +296,7 @@
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="ref('hr_holidays.hr_holidays_vc_qdp')"/>
|
||||
<value eval="[ref('hr_holidays.hr_holidays_allocation_cl_qdp'), ref('hr_holidays.hr_holidays_vc_qdp')]"/>
|
||||
</function>
|
||||
|
||||
<!-- leave request -->
|
||||
@@ -332,10 +338,13 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_fpi"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_fpi'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="[ref('hr_holidays.hr_holidays_allocation_cl_fpi')]"/>
|
||||
</function>
|
||||
|
||||
<record id="hr_holidays_vc_fpi" model="hr.leave.allocation">
|
||||
<field name="name">Consulting Training</field>
|
||||
@@ -356,7 +365,7 @@
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="employee_id" ref="hr.employee_niv"/>
|
||||
<field name="employee_ids" eval="[(4, ref('hr.employee_niv'))]"/>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-1-1')"/>
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
@@ -372,10 +381,9 @@
|
||||
<field name="date_to" eval="time.strftime('%Y-12-31')"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="ref('hr_holidays.hr_holidays_vc_vad')"/>
|
||||
<value eval="[ref('hr_holidays.hr_holidays_allocation_cl_vad'), ref('hr_holidays.hr_holidays_vc_vad')]"/>
|
||||
</function>
|
||||
|
||||
|
||||
<record id="hr_holidays_cl_vad" model="hr.leave">
|
||||
<field name="name">Trip to London</field>
|
||||
<field name="holiday_status_id" ref="holiday_status_cl"/>
|
||||
|
||||
@@ -561,6 +561,8 @@ class HolidaysAllocation(models.Model):
|
||||
def create(self, vals_list):
|
||||
""" Override to avoid automatic logging of creation """
|
||||
for values in vals_list:
|
||||
if 'state' in values and values['state'] not in ('draft', 'confirm'):
|
||||
raise UserError(_('Incorrect state for new allocation'))
|
||||
employee_id = values.get('employee_id', False)
|
||||
if not values.get('department_id'):
|
||||
values.update({'department_id': self.env['hr.employee'].browse(employee_id).department_id.id})
|
||||
|
||||
@@ -346,7 +346,7 @@ class TestAccrualAllocations(TestHrHolidaysCommon):
|
||||
'holiday_status_id': self.leave_type.id,
|
||||
'number_of_days': 0,
|
||||
'allocation_type': 'accrual',
|
||||
'state': 'validate',
|
||||
'state': 'confirm',
|
||||
})
|
||||
allocation_worked_time = self.env['hr.leave.allocation'].with_user(self.user_hrmanager_id).with_context(tracking_disable=True).create({
|
||||
'name': 'Accrual allocation for employee',
|
||||
@@ -355,8 +355,9 @@ class TestAccrualAllocations(TestHrHolidaysCommon):
|
||||
'holiday_status_id': self.leave_type.id,
|
||||
'number_of_days': 0,
|
||||
'allocation_type': 'accrual',
|
||||
'state': 'validate',
|
||||
'state': 'confirm',
|
||||
})
|
||||
(allocation_not_worked_time | allocation_worked_time).action_validate()
|
||||
self.setAllocationCreateDate(allocation_not_worked_time.id, '2021-08-01 00:00:00')
|
||||
self.setAllocationCreateDate(allocation_worked_time.id, '2021-08-01 00:00:00')
|
||||
holiday_type = self.env['hr.leave.type'].create({
|
||||
|
||||
@@ -99,17 +99,17 @@ class TestHolidaysFlow(TestHrHolidaysCommon):
|
||||
'holiday_status_id': holiday_status_paid_time_off.id,
|
||||
'number_of_days': 20,
|
||||
'employee_id': self.employee_emp_id,
|
||||
'state': 'validate',
|
||||
'state': 'confirm',
|
||||
'date_from': time.strftime('%Y-%m-01'),
|
||||
}, {
|
||||
'name': 'Paid Time off for David',
|
||||
'holiday_status_id': holiday_status_paid_time_off.id,
|
||||
'number_of_days': 20,
|
||||
'employee_id': self.ref('hr.employee_admin'),
|
||||
'state': 'validate',
|
||||
'state': 'confirm',
|
||||
'date_from': time.strftime('%Y-%m-01'),
|
||||
}
|
||||
])
|
||||
]).action_validate()
|
||||
|
||||
def _check_holidays_status(holiday_status, ml, lt, rl, vrl):
|
||||
self.assertEqual(holiday_status.max_leaves, ml,
|
||||
@@ -252,10 +252,10 @@ class TestHolidaysFlow(TestHrHolidaysCommon):
|
||||
'holiday_status_id': holiday_status_paid_time_off.id,
|
||||
'number_of_days': 20,
|
||||
'employee_id': self.ref('hr.employee_admin'),
|
||||
'state': 'validate',
|
||||
'state': 'confirm',
|
||||
'date_from': time.strftime('%Y-%m-01'),
|
||||
'date_to': time.strftime('%Y-12-31'),
|
||||
})
|
||||
}).action_validate()
|
||||
|
||||
leave_vals = {
|
||||
'name': 'Sick Time Off',
|
||||
|
||||
@@ -171,8 +171,7 @@ class TestLeaveRequests(TestHrHolidaysCommon):
|
||||
'date_from': fields.Datetime.from_string('2017-01-01 00:00:00'),
|
||||
'date_to': fields.Datetime.from_string('2017-06-01 00:00:00'),
|
||||
'number_of_days': 10,
|
||||
'state': 'validate',
|
||||
})
|
||||
}).action_validate()
|
||||
|
||||
self.env['hr.leave'].with_user(self.user_employee_id).create({
|
||||
'name': 'Valid time period',
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
<record id="l10n_fr_hr_holidays_allocation" model="hr.leave.allocation">
|
||||
<field name="name">Paid Time Off allocation</field>
|
||||
<field name="state">validate</field>
|
||||
<field name="state">confirm</field>
|
||||
<field name="holiday_status_id" ref="l10n_fr_holiday_status_cl"/>
|
||||
<field name="number_of_days">20</field>
|
||||
<field name="date_from" eval="time.strftime('%Y-01-01')"/>
|
||||
@@ -51,4 +51,7 @@
|
||||
<field name="employee_id" ref="l10n_fr_part_time_employee"/>
|
||||
<field name="employee_ids" eval="[(4, ref('l10n_fr_part_time_employee'))]"/>
|
||||
</record>
|
||||
<function model="hr.leave.allocation" name="action_validate">
|
||||
<value eval="[ref('l10n_fr_hr_holidays_allocation')]"/>
|
||||
</function>
|
||||
</odoo>
|
||||
|
||||
Reference in New Issue
Block a user