[IMP] *: change leave string's to time off

update various string/labels contains "Leave" in hr_holidays, hr_work_entry_contract, resource, test_resource and project_timesheet_holidays modules to "Time Off"

closes odoo/odoo#107504

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
niyasraphy
2022-12-09 16:40:58 +01:00
parent edd48fc799
commit 999043b36c
23 changed files with 84 additions and 85 deletions
+1 -1
View File
@@ -290,7 +290,7 @@
<field name="color">4</field>
</record>
<!--Unpaid Leave -->
<!--Unpaid Time Off -->
<record id="holiday_status_unpaid" model="hr.leave.type">
<field name="name">Unpaid</field>
<field name="requires_allocation">no</field>
+1 -1
View File
@@ -6,7 +6,7 @@
<field name="groups_id" eval="[(4, ref('hr_holidays.group_hr_holidays_user'))]"/>
</record>
<!--Leave Type-->
<!--Time Off Type-->
<record id="hr_holiday_status_dv" model="hr.leave.type">
<field name="name">Parental Leaves</field>
<field name="requires_allocation">yes</field>
+2 -2
View File
@@ -35,7 +35,7 @@ def get_employee_from_context(values, context, user_employee_id):
return employee_id_value or context.get('default_employee_id', context.get('employee_id', user_employee_id))
class HolidaysRequest(models.Model):
""" Leave Requests Access specifications
""" Time Off Requests Access specifications
- a regular employee / user
- can see all leaves;
@@ -1454,7 +1454,7 @@ class HolidaysRequest(models.Model):
raise UserError(_('You must either be a Time off Officer or Time off Manager to approve this leave'))
###################################################
# Leave modification methods
# Time Off modification methods
###################################################
def _split_leave_on_gto(self, gto): #gto = global time off
@@ -134,7 +134,7 @@ class HolidaysAllocation(models.Model):
is_officer = fields.Boolean(compute='_compute_is_officer')
accrual_plan_id = fields.Many2one('hr.leave.accrual.plan', compute="_compute_from_holiday_status_id", store=True, readonly=False, domain="['|', ('time_off_type_id', '=', False), ('time_off_type_id', '=', holiday_status_id)]", tracking=True)
max_leaves = fields.Float(compute='_compute_leaves')
leaves_taken = fields.Float(compute='_compute_leaves')
leaves_taken = fields.Float(compute='_compute_leaves', string='Time off Taken')
taken_leave_ids = fields.One2many('hr.leave', 'holiday_allocation_id', domain="[('state', 'in', ['confirm', 'validate1', 'validate'])]")
_sql_constraints = [
+1 -1
View File
@@ -68,7 +68,7 @@ class HolidaysType(models.Model):
('no_validation', 'No Validation'),
('hr', 'By Time Off Officer'),
('manager', "By Employee's Approver"),
('both', "By Employee's Approver and Time Off Officer")], default='hr', string='Leave Validation')
('both', "By Employee's Approver and Time Off Officer")], default='hr', string='Time Off Validation')
requires_allocation = fields.Selection([
('yes', 'Yes'),
('no', 'No Limit')], default="yes", required=True, string='Requires allocation',
+2 -2
View File
@@ -8,7 +8,7 @@ from odoo.osv import expression
class CalendarLeaves(models.Model):
_inherit = "resource.calendar.leaves"
holiday_id = fields.Many2one("hr.leave", string='Leave Request')
holiday_id = fields.Many2one("hr.leave", string='Time Off Request')
@api.constrains('date_from', 'date_to', 'calendar_id')
def _check_compare_dates(self):
@@ -105,7 +105,7 @@ class CalendarLeaves(models.Model):
class ResourceCalendar(models.Model):
_inherit = "resource.calendar"
associated_leaves_count = fields.Integer("Leave Count", compute='_compute_associated_leaves_count')
associated_leaves_count = fields.Integer("Time Off Count", compute='_compute_associated_leaves_count')
def _compute_associated_leaves_count(self):
leaves_read_group = self.env['resource.calendar.leaves'].read_group(
@@ -14,7 +14,7 @@ class LeaveReport(models.Model):
active_employee = fields.Boolean(readonly=True)
number_of_days = fields.Float('Number of Days', readonly=True, group_operator="sum")
department_id = fields.Many2one('hr.department', string='Department', readonly=True)
leave_type = fields.Many2one("hr.leave.type", string="Leave Type", readonly=True)
leave_type = fields.Many2one("hr.leave.type", string="Time Off Type", readonly=True)
holiday_status = fields.Selection([
('taken', 'Taken'), #taken = validated
('left', 'Left'),
+2 -2
View File
@@ -13,7 +13,7 @@ class LeaveReport(models.Model):
active = fields.Boolean(readonly=True)
employee_id = fields.Many2one('hr.employee', string="Employee", readonly=True)
leave_id = fields.Many2one('hr.leave', string="Leave Request", readonly=True)
leave_id = fields.Many2one('hr.leave', string="Time Off Request", readonly=True)
allocation_id = fields.Many2one('hr.leave.allocation', string="Allocation Request", readonly=True)
active_employee = fields.Boolean(readonly=True)
name = fields.Char('Description', readonly=True)
@@ -24,7 +24,7 @@ class LeaveReport(models.Model):
], string='Request Type', readonly=True)
department_id = fields.Many2one('hr.department', string='Department', readonly=True)
category_id = fields.Many2one('hr.employee.category', string='Employee Tag', readonly=True)
holiday_status_id = fields.Many2one("hr.leave.type", string="Leave Type", readonly=True)
holiday_status_id = fields.Many2one("hr.leave.type", string="Time Off Type", readonly=True)
state = fields.Selection([
('draft', 'To Submit'),
('cancel', 'Cancelled'),
@@ -139,7 +139,7 @@
</record>
<record id="hr_leave_allocation_rule_multicompany" model="ir.rule">
<field name="name">Leave Allocations: multi company global rule</field>
<field name="name">Time Off: multi company global rule</field>
<field name="model_id" ref="model_hr_leave_allocation"/>
<field name="domain_force">['|', ('holiday_status_id.company_id', '=', False), ('holiday_status_id.company_id', 'in', company_ids)]</field>
</record>
+22 -22
View File
@@ -119,7 +119,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -133,7 +133,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -150,7 +150,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_hruser.write({'leave_manager_id': self.user_employee.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -167,7 +167,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_emp.write({'leave_manager_id': self.user_employee.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -180,7 +180,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -195,7 +195,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -210,7 +210,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -224,7 +224,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -241,7 +241,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_emp.write({'leave_manager_id': self.user_hruser.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': status.id,
}
@@ -258,7 +258,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_hruser.write({'leave_manager_id': self.user_hruser.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -271,7 +271,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -286,7 +286,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -300,7 +300,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hrmanager.id,
'holiday_status_id': status.id,
}
@@ -313,7 +313,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -327,7 +327,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_hruser.write({'leave_manager_id': self.user_hrmanager.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -341,7 +341,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
self.employee_hrmanager.write({'leave_manager_id': self.user_hrmanager.id})
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hrmanager.id,
'holiday_status_id': status.id,
}
@@ -354,7 +354,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -368,7 +368,7 @@ class TestAcessRightsStates(TestHrHolidaysAccessRightsCommon):
"""
for i, status in enumerate(self.draft_status):
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_hruser.id,
'holiday_status_id': status.id,
}
@@ -721,7 +721,7 @@ class TestAccessRightsUnlink(TestHrHolidaysAccessRightsCommon):
def test_leave_unlink_draft_by_user(self):
""" A simple user may delete its leave in draft state in the future"""
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': self.leave_type.id,
'state': 'draft',
@@ -732,7 +732,7 @@ class TestAccessRightsUnlink(TestHrHolidaysAccessRightsCommon):
def test_leave_unlink_confirm_by_user(self):
""" A simple user may delete its leave in confirm state in the future"""
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': self.leave_type.id,
'state': 'confirm',
@@ -743,7 +743,7 @@ class TestAccessRightsUnlink(TestHrHolidaysAccessRightsCommon):
def test_leave_unlink_confirm_in_past_by_user(self):
""" A simple user cannot delete its leave in the past"""
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': self.leave_type.id,
'state': 'confirm',
@@ -755,7 +755,7 @@ class TestAccessRightsUnlink(TestHrHolidaysAccessRightsCommon):
def test_leave_unlink_validate_by_user(self):
""" A simple user cannot delete its leave in validate state"""
values = {
'name': 'Random Leave',
'name': 'Random Time Off',
'employee_id': self.employee_emp.id,
'holiday_status_id': self.leave_type.id,
}
+16 -16
View File
@@ -70,19 +70,19 @@ class TestCompanyLeave(TransactionCase):
all_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee.id)], order='id')
self.assertEqual(len(all_leaves), 4)
# Original Leave
# Original Time Off
self.assertEqual(leave.state, 'refuse')
# before leave
# Before Time Off
self.assertEqual(all_leaves[1].date_from, datetime(2020, 1, 7, 7, 0))
self.assertEqual(all_leaves[1].date_to, datetime(2020, 1, 7, 16, 0))
self.assertEqual(all_leaves[1].number_of_days, 1)
self.assertEqual(all_leaves[1].state, 'confirm')
# After leave
# After Time Off
self.assertEqual(all_leaves[2].date_from, datetime(2020, 1, 9, 7, 0))
self.assertEqual(all_leaves[2].date_to, datetime(2020, 1, 9, 16, 0))
self.assertEqual(all_leaves[2].number_of_days, 1)
self.assertEqual(all_leaves[2].state, 'confirm')
# Company Leave
# Company Time Off
self.assertEqual(all_leaves[3].date_from, datetime(2020, 1, 8, 7, 0))
self.assertEqual(all_leaves[3].date_to, datetime(2020, 1, 8, 16, 0))
self.assertEqual(all_leaves[3].number_of_days, 1)
@@ -124,26 +124,26 @@ class TestCompanyLeave(TransactionCase):
all_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee.id)], order='id')
self.assertEqual(len(all_leaves), 4)
# Original Leave
# Original Time Off
self.assertEqual(leave.state, 'refuse')
# before leave
# Before Time Off
self.assertEqual(all_leaves[1].date_from, datetime(2020, 1, 7, 7, 0))
self.assertEqual(all_leaves[1].date_to, datetime(2020, 1, 7, 16, 0))
self.assertEqual(all_leaves[1].number_of_days, 1)
self.assertEqual(all_leaves[1].state, 'confirm')
# After leave
# After Time Off
self.assertEqual(all_leaves[2].date_from, datetime(2020, 1, 9, 7, 0))
self.assertEqual(all_leaves[2].date_to, datetime(2020, 1, 9, 16, 0))
self.assertEqual(all_leaves[2].number_of_days, 1)
self.assertEqual(all_leaves[2].state, 'confirm')
# Company Leave
# Company Time Off
self.assertEqual(all_leaves[3].date_from, datetime(2020, 1, 8, 7, 0))
self.assertEqual(all_leaves[3].date_to, datetime(2020, 1, 8, 16, 0))
self.assertEqual(all_leaves[3].number_of_days, 1)
self.assertEqual(all_leaves[3].state, 'validate')
def test_leave_whole_company_03(self):
# TEST CASE 3: Leaves taken in half-days. Take a 0.5 days leave
# TEST CASE 3: Time Off taken in half-days. Take a 0.5 days leave
# Add a company leave on the same day
# Check that leave refused
self.paid_time_off.request_unit = 'half_day'
@@ -180,9 +180,9 @@ class TestCompanyLeave(TransactionCase):
all_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee.id)], order='id')
self.assertEqual(len(all_leaves), 2)
# Original Leave
# Original Time Off
self.assertEqual(leave.state, 'refuse')
# Company Leave
# Company Time Off
self.assertEqual(all_leaves[1].date_from, datetime(2020, 1, 7, 7, 0))
self.assertEqual(all_leaves[1].date_to, datetime(2020, 1, 7, 16, 0))
self.assertEqual(all_leaves[1].number_of_days, 1)
@@ -224,9 +224,9 @@ class TestCompanyLeave(TransactionCase):
all_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee.id)], order='id')
self.assertEqual(len(all_leaves), 2)
# Original Leave
# Original Time Off
self.assertEqual(leave.state, 'refuse')
# Company Leave
# Company Time Off
self.assertEqual(all_leaves[1].date_from, datetime(2020, 1, 9, 7, 0))
self.assertEqual(all_leaves[1].date_to, datetime(2020, 1, 9, 16, 0))
self.assertEqual(all_leaves[1].number_of_days, 1)
@@ -275,14 +275,14 @@ class TestCompanyLeave(TransactionCase):
all_leaves = self.env['hr.leave'].search([('employee_id', '=', self.employee.id)], order='id')
self.assertEqual(len(all_leaves), 3)
# Original Leave
# Original Time Off
self.assertEqual(leave.state, 'refuse')
# before leave
# Before Time Off
self.assertEqual(all_leaves[1].date_from, datetime(2020, 1, 6, 7, 0))
self.assertEqual(all_leaves[1].date_to, datetime(2020, 1, 9, 16, 0))
self.assertEqual(all_leaves[1].number_of_days, 2)
self.assertEqual(all_leaves[1].state, 'confirm')
# Company Leave
# Company Time Off
self.assertEqual(all_leaves[2].date_from, datetime(2020, 1, 10, 7, 0))
self.assertEqual(all_leaves[2].date_to, datetime(2020, 1, 10, 16, 0))
self.assertEqual(all_leaves[2].number_of_days, 1)
@@ -46,13 +46,13 @@ class TestGlobalLeaves(TestHrHolidaysCommon):
})
cls.global_leave = cls.env['resource.calendar.leaves'].create({
'name': 'Global Leave',
'name': 'Global Time Off',
'date_from': date(2022, 3, 7),
'date_to': date(2022, 3, 7),
})
cls.calendar_leave = cls.env['resource.calendar.leaves'].create({
'name': 'Global Leave',
'name': 'Global Time Off',
'date_from': date(2022, 3, 8),
'date_to': date(2022, 3, 8),
'calendar_id': cls.calendar_1.id,
@@ -61,7 +61,7 @@ class TestGlobalLeaves(TestHrHolidaysCommon):
def test_leave_on_global_leave(self):
with self.assertRaises(ValidationError):
self.env['resource.calendar.leaves'].create({
'name': 'Wrong Leave',
'name': 'Wrong Time Off',
'date_from': date(2022, 3, 7),
'date_to': date(2022, 3, 7),
'calendar_id': self.calendar_1.id,
@@ -69,14 +69,14 @@ class TestGlobalLeaves(TestHrHolidaysCommon):
with self.assertRaises(ValidationError):
self.env['resource.calendar.leaves'].create({
'name': 'Wrong Leave',
'name': 'Wrong Time Off',
'date_from': date(2022, 3, 7),
'date_to': date(2022, 3, 7),
})
def test_leave_on_calendar_leave(self):
self.env['resource.calendar.leaves'].create({
'name': 'Correct Leave',
'name': 'Correct Time Off',
'date_from': date(2022, 3, 8),
'date_to': date(2022, 3, 8),
'calendar_id': self.calendar_2.id,
@@ -84,14 +84,14 @@ class TestGlobalLeaves(TestHrHolidaysCommon):
with self.assertRaises(ValidationError):
self.env['resource.calendar.leaves'].create({
'name': 'Wrong Leave',
'name': 'Wrong Time Off',
'date_from': date(2022, 3, 8),
'date_to': date(2022, 3, 8),
})
with self.assertRaises(ValidationError):
self.env['resource.calendar.leaves'].create({
'name': 'Wrong Leave',
'name': 'Wrong Time Off',
'date_from': date(2022, 3, 8),
'date_to': date(2022, 3, 8),
'calendar_id': self.calendar_1.id,
@@ -19,11 +19,11 @@ class TestHrHolidaysCancelLeave(TestHrHolidaysCommon):
leave_end_datetime = leave_start_datetime + relativedelta(days=3)
cls.hr_leave_type = cls.env['hr.leave.type'].with_user(cls.user_hrmanager).create({
'name': 'Leave Type',
'name': 'Time Off Type',
'requires_allocation': 'no',
})
cls.holiday = cls.env['hr.leave'].with_context(mail_create_nolog=True, mail_notrack=True).with_user(cls.user_employee).create({
'name': 'Leave 1',
'name': 'Time Off 1',
'employee_id': cls.employee_emp.id,
'holiday_status_id': cls.hr_leave_type.id,
'date_from': leave_start_datetime,
@@ -201,7 +201,7 @@ class TestLeaveRequests(TestHrHolidaysCommon):
leave = leave_form.save()
leave.action_approve()
member_ids = self.hr_dept.member_ids.ids
self.assertEqual(self.env['hr.leave'].search_count([('employee_id', 'in', member_ids)]), len(member_ids), "Leave should be created for members of department")
self.assertEqual(self.env['hr.leave'].search_count([('employee_id', 'in', member_ids)]), len(member_ids), "Time Off should be created for members of department")
@mute_logger('odoo.models.unlink', 'odoo.addons.mail.models.mail_mail')
def test_allocation_request(self):
@@ -414,7 +414,7 @@ class TestLeaveRequests(TestHrHolidaysCommon):
(0, 0, {'name': 'Friday Afternoon', 'dayofweek': '4', 'hour_from': 13, 'hour_to': 17, 'day_period': 'afternoon'})
],
'global_leave_ids': [(0, 0, {
'name': 'Christmas Leave',
'name': 'Christmas Time Off',
'date_from': fields.Datetime.from_string('2019-12-25 00:00:00'),
'date_to': fields.Datetime.from_string('2019-12-26 23:59:59'),
'resource_id': False,
+3 -3
View File
@@ -105,7 +105,7 @@
<div class="float-end"
t-if="record.hr_icon_display.raw_value == 'presence_holiday_absent'"
name="presence_absent">
<span class="fa fa-plane text-warning" role="img" aria-label="To define" title="On Leave"/>
<span class="fa fa-plane text-warning" role="img" aria-label="To define" title="On Time Off"/>
</div>
</xpath>
</field>
@@ -138,7 +138,7 @@
<div class="float-end"
t-if="record.hr_icon_display.raw_value == 'presence_holiday_absent'"
name="presence_absent">
<span class="fa fa-plane text-warning" role="img" aria-label="To define" title="On Leave"/>
<span class="fa fa-plane text-warning" role="img" aria-label="To define" title="On Time Off"/>
</div>
</xpath>
<xpath expr="//li[@id='last_login']" position="inside">
@@ -167,7 +167,7 @@
<!-- Employee is absent, in holiday but he is connected -->
<div role="img" class="fa fa-fw fa-plane text-success o_button_icon hr_presence" attrs="{'invisible': [('hr_icon_display', '!=', 'presence_holiday_present')]}" aria-label="Present but on leave" title="Present but on leave" name="presence_absent_active"/>
<!-- Employee is on holiday, not present and not connected -->
<div role="img" class="fa fa-fw fa-plane text-warning o_button_icon hr_presence" attrs="{'invisible': [('hr_icon_display', '!=', 'presence_holiday_absent')]}" aria-label="On Leave" title="On Leave" name="presence_absent"/>
<div role="img" class="fa fa-fw fa-plane text-warning o_button_icon hr_presence" attrs="{'invisible': [('hr_icon_display', '!=', 'presence_holiday_absent')]}" aria-label="On Time Off" title="On Time Off" name="presence_absent"/>
</xpath>
<xpath expr="//group[@name='managers']" position="inside">
<field name="leave_manager_id"/>
@@ -9,7 +9,7 @@ from odoo import api, fields, models
class HrDepartureWizard(models.TransientModel):
_inherit = 'hr.departure.wizard'
cancel_leaves = fields.Boolean("Cancel Future Leaves", default=True,
cancel_leaves = fields.Boolean("Cancel Future Time Off", default=True,
help="Cancel all time off after this date.")
archive_allocation = fields.Boolean("Archive Employee Allocations", default=True,
help="Remove employee from existing accrual plans.")
@@ -2,14 +2,13 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models, _
from odoo.exceptions import ValidationError
class HrHolidaysCancelLeave(models.TransientModel):
_name = 'hr.holidays.cancel.leave'
_description = 'Cancel Leave Wizard'
_description = 'Cancel Time Off Wizard'
leave_id = fields.Many2one('hr.leave', required=True)
leave_id = fields.Many2one('hr.leave', string="Time Off Request", required=True)
reason = fields.Text(required=True)
def action_cancel_leave(self):
@@ -44,13 +44,13 @@ class TestWorkEntryBase(TransactionCase):
})
cls.work_entry_type_unpaid = cls.env['hr.work.entry.type'].create({
'name': 'Unpaid Leave',
'name': 'Unpaid Time Off',
'is_leave': True,
'code': 'LEAVETEST300',
})
cls.work_entry_type_leave = cls.env['hr.work.entry.type'].create({
'name': 'Leave',
'name': 'Time Off',
'is_leave': True,
'code': 'LEAVETEST100'
})
@@ -8,7 +8,7 @@ from odoo.exceptions import RedirectWarning, UserError
class AccountAnalyticLine(models.Model):
_inherit = 'account.analytic.line'
holiday_id = fields.Many2one("hr.leave", string='Leave Request', copy=False)
holiday_id = fields.Many2one("hr.leave", string='Time Off Request', copy=False)
global_leave_id = fields.Many2one("resource.calendar.leaves", string="Global Time Off", ondelete='cascade')
task_id = fields.Many2one(domain="[('company_id', '=', company_id), ('project_id.allow_timesheets', '=', True),"
"('project_id', '=?', project_id), ('is_timeoff_task', '=', False)]")
@@ -6,7 +6,7 @@ from odoo import fields, models, _
class Task(models.Model):
_inherit = 'project.task'
leave_types_count = fields.Integer(compute='_compute_leave_types_count')
leave_types_count = fields.Integer(compute='_compute_leave_types_count', string="Time Off Types Count")
is_timeoff_task = fields.Boolean("Is Time off Task", compute="_compute_is_timeoff_task", search="_search_is_timeoff_task")
def _compute_leave_types_count(self):
@@ -18,7 +18,7 @@ class TestTimesheetHolidaysCreate(common.TransactionCase):
def test_status_create(self):
"""Ensure that when a status is created, it fullfills the project and task constrains"""
status = self.env['hr.leave.type'].create({
'name': 'A nice Leave Type',
'name': 'A nice Time Off Type',
'requires_allocation': 'no'
})
@@ -55,14 +55,14 @@ class TestTimesheetHolidays(TestCommonTimesheet):
self.internal_task_leaves = self.env.company.leave_timesheet_task_id
self.hr_leave_type_with_ts = self.env['hr.leave.type'].create({
'name': 'Leave Type with timesheet generation',
'name': 'Time Off Type with timesheet generation',
'requires_allocation': 'no',
'timesheet_generate': True,
'timesheet_project_id': self.internal_project.id,
'timesheet_task_id': self.internal_task_leaves.id,
})
self.hr_leave_type_no_ts = self.env['hr.leave.type'].create({
'name': 'Leave Type without timesheet generation',
'name': 'Time Off Type without timesheet generation',
'requires_allocation': 'no',
'timesheet_generate': False,
'timesheet_project_id': False,
@@ -97,7 +97,7 @@ class TestTimesheetHolidays(TestCommonTimesheet):
# employee creates a leave request
number_of_days = (self.leave_end_datetime - self.leave_start_datetime).days
holiday = self.Requests.with_user(self.user_employee).create({
'name': 'Leave 1',
'name': 'Time Off 1',
'employee_id': self.empl_employee.id,
'holiday_status_id': self.hr_leave_type_with_ts.id,
'date_from': self.leave_start_datetime,
@@ -120,7 +120,7 @@ class TestTimesheetHolidays(TestCommonTimesheet):
# employee creates a leave request
number_of_days = (self.leave_end_datetime - self.leave_start_datetime).days
holiday = self.Requests.with_user(self.user_employee).create({
'name': 'Leave 1',
'name': 'Time Off 1',
'employee_id': self.empl_employee.id,
'holiday_status_id': self.hr_leave_type_no_ts.id,
'date_from': self.leave_start_datetime,
@@ -134,7 +134,7 @@ class TestTimesheetHolidays(TestCommonTimesheet):
def test_cancel_validate_holidays(self):
number_of_days = (self.leave_end_datetime - self.leave_start_datetime).days
holiday = self.Requests.with_user(self.user_employee).create({
'name': 'Leave 1',
'name': 'Time Off 1',
'employee_id': self.empl_employee.id,
'holiday_status_id': self.hr_leave_type_with_ts.id,
'date_from': self.leave_start_datetime,
@@ -173,7 +173,7 @@ class TestTimesheetHolidays(TestCommonTimesheet):
})
holiday = self.Requests.with_user(self.user_employee).create({
'name': 'Leave 1',
'name': 'Time Off 1',
'employee_id': self.empl_employee.id,
'holiday_status_id': self.hr_leave_type_with_ts.id,
'date_from': leave_start_datetime,
+3 -3
View File
@@ -104,7 +104,7 @@
<group expand="0" string="Group By">
<filter string="Resource" name="resource" domain="[]" context="{'group_by':'resource_id'}"/>
<filter string="Company" name="company" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Leave Date" name="leave_month" domain="[]" context="{'group_by':'date_from'}" help="Starting Date of Leave"/>
<filter string="Time Off Date" name="leave_month" domain="[]" context="{'group_by':'date_from'}" help="Starting Date of Time Off"/>
</group>
</search>
</field>
@@ -126,7 +126,7 @@
<field name="name">resource.calendar.leaves.form</field>
<field name="model">resource.calendar.leaves</field>
<field name="arch" type="xml">
<form string="Leave Detail">
<form string="Time Off Detail">
<field name="company_id" invisible="1"/>
<sheet>
<group>
@@ -151,7 +151,7 @@
<field name="model">resource.calendar.leaves</field>
<field name="priority">1</field>
<field name="arch" type="xml">
<tree string="Leave Detail">
<tree string="Time Off Detail">
<field name="name" string="Reason"/>
<field name="resource_id" />
<field name="company_id" groups="base.group_multi_company"/>
+3 -3
View File
@@ -124,7 +124,7 @@ class TestCalendar(TestResourceCommon):
def test_get_work_hours_count(self):
self.env['resource.calendar.leaves'].create({
'name': 'Global Leave',
'name': 'Global Time Off',
'resource_id': False,
'calendar_id': self.calendar_jean.id,
'date_from': datetime_str(2018, 4, 3, 0, 0, 0, tzinfo=self.jean.tz),
@@ -248,7 +248,7 @@ class TestCalendar(TestResourceCommon):
# 2 weeks calendar week 2, leave during a day where he doesn't work this week
leave = self.env['resource.calendar.leaves'].create({
'name': 'Leave Jules week 2',
'name': 'Time Off Jules week 2',
'calendar_id': self.calendar_jules.id,
'resource_id': False,
'date_from': datetime_str(2018, 4, 11, 4, 0, 0, tzinfo=self.jules.tz),
@@ -265,7 +265,7 @@ class TestCalendar(TestResourceCommon):
# 2 weeks calendar week 2, leave during a day where he works this week
leave = self.env['resource.calendar.leaves'].create({
'name': 'Leave Jules week 2',
'name': 'Time Off Jules week 2',
'calendar_id': self.calendar_jules.id,
'resource_id': False,
'date_from': datetime_str(2018, 4, 9, 0, 0, 0, tzinfo=self.jules.tz),