[REF] hr: remove inherit from employee on resource and use resource mixin
This commit is contained in:
@@ -137,7 +137,6 @@ If you have development competencies, we can propose you specific traineeships</
|
||||
|
||||
<record id="employee_root" model="hr.employee">
|
||||
<field name="name">Pieter Parker</field>
|
||||
<field name="calendar_id" ref="resource.resource_calendar_std"/>
|
||||
<field name="work_location">Building 1, Second Floor</field>
|
||||
<field name="work_phone">+3281813700</field>
|
||||
<field name="work_email">pieter@openerp.com</field>
|
||||
|
||||
@@ -93,12 +93,10 @@ class Job(models.Model):
|
||||
|
||||
|
||||
class Employee(models.Model):
|
||||
|
||||
_name = "hr.employee"
|
||||
_description = "Employee"
|
||||
_order = 'name_related'
|
||||
_inherits = {'resource.resource': "resource_id"}
|
||||
_inherit = ['mail.thread']
|
||||
_order = 'name'
|
||||
_inherit = ['mail.thread', 'resource.mixin']
|
||||
|
||||
_mail_post_access = 'read'
|
||||
|
||||
@@ -107,8 +105,11 @@ class Employee(models.Model):
|
||||
image_path = get_module_resource('hr', 'static/src/img', 'default_image.png')
|
||||
return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
|
||||
|
||||
# we need a related field in order to be able to sort the employee by name
|
||||
name_related = fields.Char(related='resource_id.name', string="Resource Name", readonly=True, store=True)
|
||||
# resource
|
||||
name = fields.Char(related='resource_id.name', store=True, oldname='name_related')
|
||||
user_id = fields.Many2one('res.users', 'User', related='resource_id.user_id')
|
||||
active = fields.Boolean('Active', related='resource_id.active', default=True, store=True)
|
||||
|
||||
country_id = fields.Many2one('res.country', string='Nationality (Country)')
|
||||
birthday = fields.Date('Date of Birth')
|
||||
ssnid = fields.Char('SSN No', help='Social Security Number')
|
||||
@@ -138,8 +139,6 @@ class Employee(models.Model):
|
||||
parent_id = fields.Many2one('hr.employee', string='Manager')
|
||||
category_ids = fields.Many2many('hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id', string='Tags')
|
||||
child_ids = fields.One2many('hr.employee', 'parent_id', string='Subordinates')
|
||||
resource_id = fields.Many2one('resource.resource', string='Resource',
|
||||
ondelete='cascade', required=True, auto_join=True)
|
||||
coach_id = fields.Many2one('hr.employee', string='Coach')
|
||||
job_id = fields.Many2one('hr.job', string='Job Title')
|
||||
passport_id = fields.Char('Passport No')
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
<field name="job_id"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="coach_id"/>
|
||||
<field name="calendar_id"/>
|
||||
<field name="resource_calendar_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="notes" placeholder="Other Information ..." colspan="4"/>
|
||||
|
||||
@@ -27,12 +27,12 @@ class HrAttendance(models.Model):
|
||||
for attendance in self:
|
||||
if not attendance.check_out:
|
||||
result.append((self.id, _("%(empl_name)s from %(check_in)s") % {
|
||||
'empl_name': self.employee_id.name_related,
|
||||
'empl_name': self.employee_id.name,
|
||||
'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_in))),
|
||||
}))
|
||||
else:
|
||||
result.append((self.id, _("%(empl_name)s from %(check_in)s to %(check_out)s") % {
|
||||
'empl_name': self.employee_id.name_related,
|
||||
'empl_name': self.employee_id.name,
|
||||
'check_in': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_in))),
|
||||
'check_out': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(self.check_out))),
|
||||
}))
|
||||
@@ -70,7 +70,7 @@ class HrAttendance(models.Model):
|
||||
], order='check_in desc', limit=1)
|
||||
if last_attendance_before_check_in and last_attendance_before_check_in.check_out and last_attendance_before_check_in.check_out >= attendance.check_in:
|
||||
raise exceptions.ValidationError(_("Cannot create new attendance record for %(empl_name)s, the employee was already checked in on %(datetime)s") % {
|
||||
'empl_name': attendance.employee_id.name_related,
|
||||
'empl_name': attendance.employee_id.name,
|
||||
'datetime': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(attendance.check_in))),
|
||||
})
|
||||
|
||||
@@ -83,7 +83,7 @@ class HrAttendance(models.Model):
|
||||
])
|
||||
if no_check_out_attendances:
|
||||
raise exceptions.ValidationError(_("Cannot create new attendance record for %(empl_name)s, the employee hasn't checked out since %(datetime)s") % {
|
||||
'empl_name': attendance.employee_id.name_related,
|
||||
'empl_name': attendance.employee_id.name,
|
||||
'datetime': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(no_check_out_attendances.check_in))),
|
||||
})
|
||||
else:
|
||||
@@ -96,7 +96,7 @@ class HrAttendance(models.Model):
|
||||
], order='check_in desc', limit=1)
|
||||
if last_attendance_before_check_out and last_attendance_before_check_in != last_attendance_before_check_out:
|
||||
raise exceptions.ValidationError(_("Cannot create new attendance record for %(empl_name)s, the employee was already checked in on %(datetime)s") % {
|
||||
'empl_name': attendance.employee_id.name_related,
|
||||
'empl_name': attendance.employee_id.name,
|
||||
'datetime': fields.Datetime.to_string(fields.Datetime.context_timestamp(self, fields.Datetime.from_string(last_attendance_before_check_out.check_in))),
|
||||
})
|
||||
|
||||
|
||||
@@ -391,7 +391,7 @@ class Holidays(models.Model):
|
||||
'holiday_id': leave.id,
|
||||
'date_to': leave.date_to,
|
||||
'resource_id': leave.employee_id.resource_id.id,
|
||||
'calendar_id': leave.employee_id.resource_id.calendar_id.id
|
||||
'calendar_id': leave.employee_id.resource_calendar_id.id
|
||||
})
|
||||
return True
|
||||
|
||||
|
||||
@@ -127,11 +127,9 @@
|
||||
|
||||
<record id="hr_employee_payroll" model="hr.employee">
|
||||
<field eval="0" name="manager"/>
|
||||
<field eval="100" name="time_efficiency"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="name">Roger Scott</field>
|
||||
<field name="resource_type">user</field>
|
||||
<field name="work_location">Building 1, Second Floor</field>
|
||||
<field name="work_phone">+3282823500</field>
|
||||
<field name="image" type="base64" file="hr_payroll/static/img/hr_employee_payroll-image.jpg"/>
|
||||
|
||||
Reference in New Issue
Block a user