@@ -145,15 +138,18 @@
hr.employee
form
tree,form
- {'search_default_employee_id': [active_id], 'default_employee_id': active_id, 'search_default_group_type': 1,
+ {
+ 'search_default_employee_id': [active_id],
+ 'default_employee_id': active_id,
+ 'search_default_group_type': 1,
'search_default_year': 1}
- [('holiday_type','=','employee'), ('holiday_status_id.limit', '=', False), ('state','!=', 'refuse')]
+ [('holiday_type','=','employee')]
diff --git a/addons/hr_holidays/tests/common.py b/addons/hr_holidays/tests/common.py
index 467eff2037c..43c5df67181 100644
--- a/addons/hr_holidays/tests/common.py
+++ b/addons/hr_holidays/tests/common.py
@@ -9,38 +9,41 @@ class TestHrHolidaysBase(common.TransactionCase):
def setUp(self):
super(TestHrHolidaysBase, self).setUp()
- Users = self.env['res.users'].with_context(no_reset_password=True)
-
- # Find Employee group
- group_employee_id = self.ref('base.group_user')
+ self._quick_create_ctx = {
+ 'mail_create_nolog': True,
+ 'mail_create_nosubscribe': True,
+ 'mail_notrack': True,
+ }
+ self._quick_create_user_ctx = dict(self._quick_create_ctx, no_reset_password=True)
# Test users to use through the various tests
+ Users = self.env['res.users'].with_context(self._quick_create_user_ctx)
self.user_hruser = Users.create({
'name': 'Armande HrUser',
'login': 'Armande',
'email': 'armande.hruser@example.com',
- 'groups_id': [(6, 0, [group_employee_id, self.ref('hr_holidays.group_hr_holidays_user')])]
+ 'groups_id': [(6, 0, [self.ref('base.group_user'), self.ref('hr_holidays.group_hr_holidays_user')])]
})
self.user_hruser_id = self.user_hruser.id
self.user_hrmanager = Users.create({
'name': 'Bastien HrManager',
'login': 'bastien',
'email': 'bastien.hrmanager@example.com',
- 'groups_id': [(6, 0, [group_employee_id, self.ref('hr_holidays.group_hr_holidays_manager')])]
+ 'groups_id': [(6, 0, [self.ref('base.group_user'), self.ref('hr_holidays.group_hr_holidays_manager')])]
}).id
self.user_hrmanager_id = self.user_hrmanager
self.user_employee = Users.create({
'name': 'David Employee',
'login': 'david',
'email': 'david.employee@example.com',
- 'groups_id': [(6, 0, [group_employee_id])]
+ 'groups_id': [(6, 0, [self.ref('base.group_user')])]
})
self.user_employee_id = self.user_employee.id
self.user_hrmanager_2_id = Users.create({
'name': 'Florence HrManager',
'login': 'florence',
'email': 'florence.hrmanager@example.com',
- 'groups_id': [(6, 0, [group_employee_id, self.ref('hr_holidays.group_hr_holidays_manager')])]
+ 'groups_id': [(6, 0, [self.ref('base.group_user'), self.ref('hr_holidays.group_hr_holidays_manager')])]
}).id
# Hr Data
diff --git a/addons/hr_holidays/tests/test_access_rights.py b/addons/hr_holidays/tests/test_access_rights.py
index 0631fa10006..cf4e8f76ad8 100644
--- a/addons/hr_holidays/tests/test_access_rights.py
+++ b/addons/hr_holidays/tests/test_access_rights.py
@@ -17,8 +17,8 @@ class TestLeavesRights(TestHrHolidaysBase):
super(TestLeavesRights, self).setUp()
self.leave_type = self.env['hr.leave.type'].create({
'name': 'Unlimited',
- 'limit': True,
'validation_type': 'hr',
+ 'allocation_type': 'no',
})
self.rd_dept.manager_id = False
self.hr_dept.manager_id = False
@@ -30,7 +30,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_emp.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
@mute_logger('odoo.models.unlink', 'odoo.addons.mail.models.mail_mail')
@@ -60,9 +60,9 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hruser.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
- res = other_leave.sudo(self.user_employee_id).read(['number_of_days_temp', 'state', 'name'])
+ res = other_leave.sudo(self.user_employee_id).read(['number_of_days', 'state', 'name'])
self.assertEqual(
res[0]['name'], '*****',
'Private information should have been stripped, received %s instead' % res[0]['name']
@@ -78,7 +78,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hruser.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
self.assertEqual(
other_leave.sudo(self.user_employee_id).name, '*****',
@@ -88,7 +88,7 @@ class TestLeavesRights(TestHrHolidaysBase):
@mute_logger('odoo.models.unlink', 'odoo.addons.mail.models.mail_mail')
def test_leave_read_by_user_own(self):
""" Users should be able to read name field of own requests """
- res = self.employee_leave.read(['name', 'number_of_days_temp', 'state'])
+ res = self.employee_leave.read(['name', 'number_of_days', 'state'])
self.assertEqual(res[0]['name'], 'Test')
@mute_logger('odoo.models.unlink', 'odoo.addons.mail.models.mail_mail')
@@ -112,7 +112,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hruser.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
with self.assertRaises(AccessError):
other_leave.sudo(self.user_employee_id).write({'name': 'Crocodile Dundee is my man'})
@@ -131,7 +131,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hrmanager.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
manager_leave.sudo(self.user_hrmanager).action_draft()
@@ -150,7 +150,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hruser.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
officer_leave.sudo(self.user_hruser).action_draft()
@@ -175,7 +175,7 @@ class TestLeavesRights(TestHrHolidaysBase):
'employee_id': self.employee_hruser.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
with self.assertRaises(UserError):
other_leave.sudo(self.user_employee_id).action_draft()
@@ -316,9 +316,9 @@ class TestMultiCompany(TestHrHolidaysBase):
})
self.leave_type = self.env['hr.leave.type'].create({
'name': 'Unlimited - Company New',
- 'limit': True,
'company_id': self.new_company.id,
'validation_type': 'hr',
+ 'allocation_type': 'no',
})
self.rd_dept.manager_id = False
self.hr_dept.manager_id = False
@@ -330,7 +330,7 @@ class TestMultiCompany(TestHrHolidaysBase):
'employee_id': self.employee_emp.id,
'date_from': datetime.now(),
'date_to': datetime.now() + relativedelta(days=1),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
@mute_logger('odoo.models.unlink', 'odoo.addons.mail.models.mail_mail')
diff --git a/addons/hr_holidays/tests/test_accrual_allocations.py b/addons/hr_holidays/tests/test_accrual_allocations.py
index 8250f88f0a7..c877643cc2e 100644
--- a/addons/hr_holidays/tests/test_accrual_allocations.py
+++ b/addons/hr_holidays/tests/test_accrual_allocations.py
@@ -19,13 +19,12 @@ class TestAccrualAllocations(TestHrHolidaysBase):
self.accrual_type = LeaveType.create({
'name': 'accrual',
- 'limit': False,
- 'accrual': True,
+ 'allocation_type': 'fixed',
})
self.unpaid_type = LeaveType.create({
'name': 'unpaid',
- 'limit': True,
+ 'allocation_type': 'no',
'unpaid': True,
})
@@ -45,67 +44,57 @@ class TestAccrualAllocations(TestHrHolidaysBase):
""" % (newdate, id))
def test_accrual_base_no_leaves(self):
- """
- Test if we can allocate some leaves accrually to an employee
- """
- Allocation = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
-
- alloc_0 = Allocation.create({
+ """ Test if we can allocate some leaves accrually to an employee """
+ alloc = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True).create({
'name': 'Accrual allocation for employee',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 1,
'interval_number': 1,
'unit_per_interval': 'days',
'interval_unit': 'weeks',
})
+ alloc.action_approve()
+ alloc._update_accrual()
- alloc_0.action_approve()
-
- Allocation._update_accrual()
-
- self.assertEqual(alloc_0.number_of_days, 1, 'Employee should have been allocated one leave day')
+ self.assertEqual(alloc.number_of_days, 1, 'Employee should have been allocated one leave day')
def test_accrual_base_leaves(self):
- """
- Test if the accrual allocation take the unpaid leaves into account
- when allocating leaves
- """
- Allocation = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
- Leave = self.env['hr.leave'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
-
- alloc_0 = Allocation.create({
+ """ Test if the accrual allocation take the unpaid leaves into account when allocating leaves """
+ alloc = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True).create({
'name': 'Accrual allocation for employee with leaves',
'employee_id': self.employee_hruser_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 1,
'interval_number': 1,
'unit_per_interval': 'days',
'interval_unit': 'weeks',
})
- alloc_0.action_approve()
+ alloc.action_approve()
employee = self.env['hr.employee'].browse(self.employee_hruser_id)
# Getting the previous work date
df = employee.resource_calendar_id.plan_days(-2, fields.Datetime.now()).date()
- leave_0 = Leave.create({
+ leave = self.env['hr.leave'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True).create({
'name': 'Leave for hruser',
'employee_id': self.employee_hruser_id,
'holiday_status_id': self.unpaid_type.id,
'date_from': datetime.combine(df, time(0, 0, 0)),
'date_to': datetime.combine(df + relativedelta(days=1), time(0, 0, 0)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
- leave_0.action_approve()
+ leave.action_approve()
- Allocation._update_accrual()
+ alloc._update_accrual()
- self.assertEqual(alloc_0.number_of_days, .8, 'As employee took some unpaid leaves last week, he should be allocated only .8 days')
+ self.assertEqual(alloc.number_of_days, .8, 'As employee took some unpaid leaves last week, he should be allocated only .8 days')
def test_accrual_many(self):
"""
@@ -117,7 +106,8 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': '1 day per 2 weeks',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 1,
'interval_number': 2,
'unit_per_interval': 'days',
@@ -128,7 +118,8 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': '4 hours per week',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 4,
'interval_number': 1,
'unit_per_interval': 'hours',
@@ -139,7 +130,8 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': '2 day per 1 month',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 2,
'interval_number': 1,
'unit_per_interval': 'days',
@@ -150,7 +142,8 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': '20 days per year',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 20,
'interval_number': 1,
'unit_per_interval': 'days',
@@ -179,7 +172,8 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': 'one shot one kill',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 1,
'interval_number': 1,
'unit_per_interval': 'days',
@@ -193,29 +187,23 @@ class TestAccrualAllocations(TestHrHolidaysBase):
self.assertEqual(alloc_0.number_of_days, 0, 'Employee is new he should not get any accrual leaves')
def test_accrual_multi(self):
- """
- Test if the cron does not allocate leaves every time it's called but only
- when necessary
- """
- Allocation = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
-
- alloc_0 = Allocation.create({
+ """ Test if the cron does not allocate leaves every time it's called but only when necessary """
+ alloc = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True).create({
'name': '2 days per week',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'accrual': True,
+ 'number_of_days': 0,
'number_per_interval': 1,
'interval_number': 2,
'unit_per_interval': 'days',
'interval_unit': 'weeks',
})
+ alloc.action_approve()
+ alloc._update_accrual()
+ alloc._update_accrual()
- alloc_0.action_approve()
-
- Allocation._update_accrual()
- Allocation._update_accrual()
-
- self.assertEqual(alloc_0.number_of_days, 1, 'Cron only allocates 1 days every two weeks')
+ self.assertEqual(alloc.number_of_days, 1, 'Cron only allocates 1 days every two weeks')
def test_accrual_validation(self):
"""
@@ -227,7 +215,7 @@ class TestAccrualAllocations(TestHrHolidaysBase):
'name': '20 days per year',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.accrual_type.id,
- 'number_of_days_temp': 0,
+ 'number_of_days': 0,
'number_per_interval': 20,
'interval_number': 1,
'unit_per_interval': 'days',
@@ -242,32 +230,20 @@ class TestAccrualAllocations(TestHrHolidaysBase):
self.assertEqual(alloc_0.number_of_days, 0, 'Cron validity passed, should not allocate any leave')
def test_accrual_balance_limit(self):
- """
- Test if accrual allocation does not allocate more than the balance limit
- """
- Allocation = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
- LeaveType = self.env['hr.leave.type'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True)
-
- accrual_max_five = LeaveType.create({
- 'name': 'max 5 days',
- 'limit': False,
- 'accrual': True,
- 'balance_limit': 5,
- })
-
- allocation = Allocation.create({
+ """ Test if accrual allocation does not allocate more than the balance limit"""
+ allocation = self.env['hr.leave.allocation'].sudo(self.user_hrmanager_id).with_context(tracking_disable=True).create({
'name': 'accrual 5 max',
'employee_id': self.employee_emp_id,
- 'holiday_status_id': accrual_max_five.id,
- 'number_of_days_temp': 0,
+ 'holiday_status_id': self.accrual_type.id,
+ 'accrual': True,
+ 'accrual_limit': 5,
+ 'number_of_days': 0,
'number_per_interval': 6,
'interval_number': 1,
'unit_per_interval': 'days',
'interval_unit': 'weeks',
})
-
allocation.action_approve()
-
- Allocation._update_accrual()
+ allocation._update_accrual()
self.assertEqual(allocation.number_of_days, 5, 'Should have allocated only 5 days as balance limit is 5')
diff --git a/addons/hr_holidays/tests/test_holidays_flow.py b/addons/hr_holidays/tests/test_holidays_flow.py
index 0c3cff00ad9..51bcafe049c 100644
--- a/addons/hr_holidays/tests/test_holidays_flow.py
+++ b/addons/hr_holidays/tests/test_holidays_flow.py
@@ -33,34 +33,34 @@ class TestHolidaysFlow(TestHrHolidaysBase):
with self.assertRaises(AccessError):
HolidaysStatus.sudo(self.user_hruser_id).create({
'name': 'UserCheats',
- 'limit': True,
+ 'allocation_type': 'no',
})
# HrManager creates some holiday statuses
HolidayStatusManagerGroup = HolidaysStatus.sudo(self.user_hrmanager_id)
HolidayStatusManagerGroup.create({
'name': 'WithMeetingType',
- 'limit': True,
+ 'allocation_type': 'no',
'categ_id': self.env['calendar.event.type'].sudo(self.user_hrmanager_id).create({'name': 'NotLimitedMeetingType'}).id
})
self.holidays_status_1 = HolidayStatusManagerGroup.create({
'name': 'NotLimitedHR',
- 'limit': True,
+ 'allocation_type': 'no',
'validation_type': 'hr',
})
self.holidays_status_2 = HolidayStatusManagerGroup.create({
'name': 'Limited',
- 'limit': False,
+ 'allocation_type': 'fixed',
'validation_type': 'both',
})
self.holidays_status_3 = HolidayStatusManagerGroup.create({
'name': 'NotLimitedManager',
- 'limit': True,
+ 'allocation_type': 'no',
'validation_type': 'manager',
})
self.holiday_status_4 = HolidayStatusManagerGroup.create({
'name': 'TimeNotLimited',
- 'limit': True,
+ 'allocation_type': 'no',
'validation_type': 'manager',
'validity_start': fields.Datetime.from_string('2017-01-01 00:00:00'),
'validity_stop': fields.Datetime.from_string('2017-06-01 00:00:00'),
@@ -81,7 +81,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() - relativedelta(days=1)),
'date_to': datetime.today(),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol1_user_group = hol1_employee_group.sudo(self.user_hruser_id)
hol1_manager_group = hol1_employee_group.sudo(self.user_hrmanager_id)
@@ -101,7 +101,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_3.id,
'date_from': (datetime.today() + relativedelta(days=12)),
'date_to': (datetime.today() + relativedelta(days=13)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol12_user_group = hol12_employee_group.sudo(self.user_hruser_id)
hol12_manager_group = hol12_employee_group.sudo(self.user_hrmanager_id)
@@ -126,7 +126,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() - relativedelta(days=1)).strftime('%Y-%m-%d %H:%M'),
'date_to': datetime.today(),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
# Employee creates a leave request in a limited category -> crash, not enough days left
@@ -137,7 +137,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_2.id,
'date_from': (datetime.today() + relativedelta(days=1)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=2)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
# Clean transaction
@@ -148,7 +148,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'name': 'Days for limited category',
'employee_id': self.employee_emp_id,
'holiday_status_id': self.holidays_status_2.id,
- 'number_of_days_temp': 2,
+ 'number_of_days': 2,
})
# HrUser validates the first step
aloc1_user_group.action_approve()
@@ -166,7 +166,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_2.id,
'date_from': (datetime.today() + relativedelta(days=2)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=3)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol2_user_group = hol2.sudo(self.user_hruser_id)
# Check left days: - 1 virtual remaining day
@@ -205,7 +205,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
hol2_manager_group.write({
'date_from': (datetime.today() + relativedelta(days=4)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=7)),
- 'number_of_days_temp': 4,
+ 'number_of_days': 4,
})
with self.assertRaises(ValidationError):
hol2_manager_group.action_confirm()
@@ -220,7 +220,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'date_from': datetime.today().strftime('%Y-%m-10 10:00:00'),
'date_to': datetime.today().strftime('%Y-%m-11 19:00:00'),
'employee_id': employee_id,
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
# I find a small mistake on my leave request to I click on "Refuse" button to correct a mistake.
hol3.action_refuse()
@@ -242,7 +242,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'date_from': fields.Datetime.from_string('2017-03-03 06:00:00'),
'date_to': fields.Datetime.from_string('2017-03-11 19:00:00'),
'employee_id': employee_id,
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
}).unlink()
with self.assertRaises(ValidationError):
@@ -252,7 +252,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'date_from': fields.Datetime.from_string('2017-07-03 06:00:00'),
'date_to': fields.Datetime.from_string('2017-07-11 19:00:00'),
'employee_id': employee_id,
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol41 = HolidaysEmployeeGroup.create({
@@ -261,7 +261,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() + relativedelta(days=9)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=10)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
# A simple user should be able to reset it's own leave
@@ -274,7 +274,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() + relativedelta(days=9)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=10)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
# A manager should be able to reset someone else's leave
@@ -288,7 +288,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() + relativedelta(days=15)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=16)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol51.action_approve()
@@ -300,7 +300,7 @@ class TestHolidaysFlow(TestHrHolidaysBase):
'holiday_status_id': self.holidays_status_1.id,
'date_from': (datetime.today() + relativedelta(days=15)).strftime('%Y-%m-%d %H:%M'),
'date_to': (datetime.today() + relativedelta(days=16)),
- 'number_of_days_temp': 1,
+ 'number_of_days': 1,
})
hol52.action_approve()
diff --git a/addons/hr_holidays/tests/test_hr_leave_type.py b/addons/hr_holidays/tests/test_hr_leave_type.py
index ebd2851ff60..495d1aa2e4b 100644
--- a/addons/hr_holidays/tests/test_hr_leave_type.py
+++ b/addons/hr_holidays/tests/test_hr_leave_type.py
@@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
from datetime import datetime
from dateutil.relativedelta import relativedelta
@@ -7,35 +8,25 @@ from odoo.addons.hr_holidays.tests.common import TestHrHolidaysBase
class TestHrLeaveType(TestHrHolidaysBase):
- def setUp(self):
- super(TestHrLeaveType, self).setUp()
-
- LeaveType = self.env['hr.leave.type']
-
- self.leave_leave = LeaveType.create({
- 'name': 'Legal Leaves',
- 'limit': True,
- 'time_type': 'leave',
- })
def test_time_type(self):
- Leave = self.env['hr.leave']
- RLeave = self.env['resource.calendar.leaves']
-
- leave_1 = Leave.create({
- 'name': 'Doctor Appointment',
- 'employee_id': self.employee_hruser_id,
- 'holiday_status_id': self.leave_leave.id,
- 'date_from': (datetime.today() - relativedelta(days=1)),
- 'date_to': datetime.today(),
- 'number_of_days_temp': 1,
+ leave_type = self.env['hr.leave.type'].create({
+ 'name': 'Legal Leaves',
+ 'time_type': 'leave',
+ 'allocation_type': 'no',
})
+ leave_1 = self.env['hr.leave'].create({
+ 'name': 'Doctor Appointment',
+ 'employee_id': self.employee_hruser_id,
+ 'holiday_status_id': leave_type.id,
+ 'date_from': (datetime.today() - relativedelta(days=1)),
+ 'date_to': datetime.today(),
+ 'number_of_days': 1,
+ })
leave_1.action_approve()
- self.assertEqual(RLeave.search([('holiday_id', '=', leave_1.id)]).time_type, 'leave')
-
- leave_1.action_refuse()
- leave_1.action_draft()
-
- leave_1.unlink()
+ self.assertEqual(
+ self.env['resource.calendar.leaves'].search([('holiday_id', '=', leave_1.id)]).time_type,
+ 'leave'
+ )
diff --git a/addons/hr_holidays/views/hr_leave_allocation_views.xml b/addons/hr_holidays/views/hr_leave_allocation_views.xml
index dc332b1a574..1befd24ebb5 100644
--- a/addons/hr_holidays/views/hr_leave_allocation_views.xml
+++ b/addons/hr_holidays/views/hr_leave_allocation_views.xml
@@ -47,65 +47,48 @@
-
- Allocation Request
+
+ hr.leave.allocation.view.form
hr.leave.allocation
+ 32