diff --git a/addons/hr_attendance/models/__init__.py b/addons/hr_attendance/models/__init__.py index ebbcbe2deb6..559547ab8cc 100644 --- a/addons/hr_attendance/models/__init__.py +++ b/addons/hr_attendance/models/__init__.py @@ -4,6 +4,7 @@ from . import res_config_settings from . import hr_attendance from . import hr_attendance_overtime from . import hr_employee +from . import hr_employee_public from . import ir_ui_menu from . import res_company from . import res_users diff --git a/addons/hr_attendance/models/hr_employee.py b/addons/hr_attendance/models/hr_employee.py index c68d71c6bfd..1875211df1a 100644 --- a/addons/hr_attendance/models/hr_employee.py +++ b/addons/hr_attendance/models/hr_employee.py @@ -16,7 +16,7 @@ class HrEmployee(models.Model): help='list of attendances for the employee') last_attendance_id = fields.Many2one( 'hr.attendance', compute='_compute_last_attendance_id', store=True, - groups="hr_attendance.group_hr_attendance_user") + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance") last_check_in = fields.Datetime( related='last_attendance_id.check_in', store=True, groups="hr_attendance.group_hr_attendance_user") @@ -26,11 +26,12 @@ class HrEmployee(models.Model): attendance_state = fields.Selection( string="Attendance Status", compute='_compute_attendance_state', selection=[('checked_out', "Checked out"), ('checked_in', "Checked in")], - groups="hr_attendance.group_hr_attendance_user") + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance") hours_last_month = fields.Float( compute='_compute_hours_last_month', groups="hr_attendance.group_hr_attendance_user") hours_today = fields.Float( - compute='_compute_hours_today', groups="hr_attendance.group_hr_attendance_user") + compute='_compute_hours_today', + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance") hours_last_month_display = fields.Char( compute='_compute_hours_last_month', groups="hr_attendance.group_hr_attendance_user") overtime_ids = fields.One2many( diff --git a/addons/hr_attendance/models/hr_employee_public.py b/addons/hr_attendance/models/hr_employee_public.py new file mode 100644 index 00000000000..1287a184fb1 --- /dev/null +++ b/addons/hr_attendance/models/hr_employee_public.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + +class HrEmployeePublic(models.Model): + _inherit = 'hr.employee.public' + + # These are required for manual attendance + attendance_state = fields.Selection(related='employee_id.attendance_state', readonly=True, + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance") + hours_today = fields.Float(related='employee_id.hours_today', readonly=True, + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance") + last_attendance_id = fields.Many2one(related='employee_id.last_attendance_id', readonly=True, + groups="hr_attendance.group_hr_attendance_kiosk,hr_attendance.group_hr_attendance")