[FIX] hr_attendance: fix necessary fields not present

`attendance_state`, `hours_today` and `last_attendnace_id` are required
to open up the attendance app, but were not available to the public user
since commit b429fce0e6

Task ID: 2607436
This commit is contained in:
William Braeckman
2021-08-23 08:09:46 +00:00
parent 06cdd9a92f
commit 2e17db2f51
3 changed files with 20 additions and 3 deletions
+1
View File
@@ -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
+4 -3
View File
@@ -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(
@@ -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")