[FW][MERGE] l10n_be_hr_payroll: Clean tests + Handle threshold for training time off + ATN for 0€ payslips
closes odoo/odoo#62697 Taskid: 2393750 Forward-port-of: #15020 Related: odoo/enterprise#15077 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
This commit is contained in:
@@ -17,7 +17,7 @@ class Employee(models.Model):
|
||||
contract_warning = fields.Boolean(string='Contract Warning', store=True, compute='_compute_contract_warning', groups="hr.group_hr_user")
|
||||
first_contract_date = fields.Date(compute='_compute_first_contract_date', groups="hr.group_hr_user", store=True)
|
||||
|
||||
@api.depends('contract_ids.state')
|
||||
@api.depends('contract_ids.state', 'contract_ids.date_start')
|
||||
def _compute_first_contract_date(self):
|
||||
for employee in self:
|
||||
contracts = employee.sudo().contract_ids.filtered(lambda c: c.state != 'cancel')
|
||||
|
||||
@@ -186,7 +186,7 @@ class HrWorkEntryType(models.Model):
|
||||
_name = 'hr.work.entry.type'
|
||||
_description = 'HR Work Entry Type'
|
||||
|
||||
name = fields.Char(required=True)
|
||||
name = fields.Char(required=True, translate=True)
|
||||
code = fields.Char(required=True)
|
||||
color = fields.Integer(default=0)
|
||||
sequence = fields.Integer(default=25)
|
||||
|
||||
@@ -12,8 +12,18 @@ class ResourceCalendarAttendance(models.Model):
|
||||
|
||||
work_entry_type_id = fields.Many2one('hr.work.entry.type', 'Work Entry Type', default=_default_work_entry_type_id)
|
||||
|
||||
def _copy_attendance_vals(self):
|
||||
res = super()._copy_attendance_vals()
|
||||
res['work_entry_type_id'] = self.work_entry_type_id.id
|
||||
return res
|
||||
|
||||
|
||||
class ResourceCalendarLeave(models.Model):
|
||||
_inherit = 'resource.calendar.leaves'
|
||||
|
||||
work_entry_type_id = fields.Many2one('hr.work.entry.type', 'Work Entry Type')
|
||||
|
||||
def _copy_leave_vals(self):
|
||||
res = super()._copy_leave_vals()
|
||||
res['work_entry_type_id'] = self.work_entry_type_id.id
|
||||
return res
|
||||
|
||||
@@ -222,18 +222,7 @@ class ResourceCalendar(models.Model):
|
||||
'hours_per_day': company_calendar.hours_per_day,
|
||||
'tz': company_calendar.tz,
|
||||
'attendance_ids': [(5, 0, 0)] + [
|
||||
(0, 0, {
|
||||
'name': attendance.name,
|
||||
'dayofweek': attendance.dayofweek,
|
||||
'date_from': attendance.date_from,
|
||||
'date_to': attendance.date_to,
|
||||
'hour_from': attendance.hour_from,
|
||||
'hour_to': attendance.hour_to,
|
||||
'day_period': attendance.day_period,
|
||||
'week_type': attendance.week_type,
|
||||
'display_type': attendance.display_type,
|
||||
'sequence': attendance.sequence,
|
||||
}) for attendance in company_calendar.attendance_ids if not attendance.resource_id]
|
||||
(0, 0, attendance._copy_attendance_vals()) for attendance in company_calendar.attendance_ids if not attendance.resource_id]
|
||||
})
|
||||
|
||||
@api.depends('company_id')
|
||||
@@ -241,12 +230,7 @@ class ResourceCalendar(models.Model):
|
||||
for calendar in self.filtered(lambda c: not c._origin or c._origin.company_id != c.company_id):
|
||||
calendar.write({
|
||||
'global_leave_ids': [(5, 0, 0)] + [
|
||||
(0, 0, {
|
||||
'name': leave.name,
|
||||
'date_from': leave.date_from,
|
||||
'date_to': leave.date_to,
|
||||
'time_type': leave.time_type,
|
||||
}) for leave in calendar.company_id.resource_calendar_id.global_leave_ids]
|
||||
(0, 0, leave._copy_leave_vals()) for leave in calendar.company_id.resource_calendar_id.global_leave_ids]
|
||||
})
|
||||
|
||||
@api.returns('self', lambda value: value.id)
|
||||
@@ -870,6 +854,22 @@ class ResourceCalendarAttendance(models.Model):
|
||||
section_name = "%s (%s)" % (section_names[record.week_type], section_info[this_week_type == record.week_type])
|
||||
record.display_name = section_name
|
||||
|
||||
def _copy_attendance_vals(self):
|
||||
self.ensure_one()
|
||||
return {
|
||||
'name': self.name,
|
||||
'dayofweek': self.dayofweek,
|
||||
'date_from': self.date_from,
|
||||
'date_to': self.date_to,
|
||||
'hour_from': self.hour_from,
|
||||
'hour_to': self.hour_to,
|
||||
'day_period': self.day_period,
|
||||
'week_type': self.week_type,
|
||||
'display_type': self.display_type,
|
||||
'sequence': self.sequence,
|
||||
}
|
||||
|
||||
|
||||
class ResourceResource(models.Model):
|
||||
_name = "resource.resource"
|
||||
_description = "Resources"
|
||||
@@ -1023,3 +1023,12 @@ class ResourceCalendarLeaves(models.Model):
|
||||
def onchange_resource(self):
|
||||
if self.resource_id:
|
||||
self.calendar_id = self.resource_id.calendar_id
|
||||
|
||||
def _copy_leave_vals(self):
|
||||
self.ensure_one()
|
||||
return {
|
||||
'name': self.name,
|
||||
'date_from': self.date_from,
|
||||
'date_to': self.date_to,
|
||||
'time_type': self.time_type,
|
||||
}
|
||||
|
||||
@@ -386,6 +386,7 @@
|
||||
<field name="phone" widget="phone" options="{'enable_sms': false}"/>
|
||||
<field name="mobile" widget="phone" options="{'enable_sms': false}"/>
|
||||
<field name="email"/>
|
||||
<field name="lang"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Bank Accounts">
|
||||
|
||||
Reference in New Issue
Block a user