diff --git a/addons/hr_attendance/controllers/main.py b/addons/hr_attendance/controllers/main.py index 711175e7317..2ac4c45cd46 100644 --- a/addons/hr_attendance/controllers/main.py +++ b/addons/hr_attendance/controllers/main.py @@ -52,15 +52,21 @@ class HrAttendance(http.Controller): @http.route('/hr_attendance/kiosk_mode_menu', auth='user', type='http') def kiosk_menu_item_action(self): + # better use route with company_id suffix if request.env.user.user_has_groups("hr_attendance.group_hr_attendance_manager"): # Auto log out will prevent users from forgetting to log out of their session # before leaving the kiosk mode open to the public. This is a prevention security # measure. request.session.logout(keep_db=True) - return request.redirect(request.env.user.company_id.attendance_kiosk_url) + return request.redirect(request.env.company.attendance_kiosk_url) else: return request.not_found() + @http.route('/hr_attendance/kiosk_mode_menu/', auth='user', type='http') + def kiosk_menu_item_action2(self, company_id): + request.update_context(allowed_company_ids=[company_id]) + return self.kiosk_menu_item_action() + @http.route('/hr_attendance/kiosk_keepalive', auth='user', type='json') def kiosk_keepalive(self): request.session.touch() diff --git a/addons/hr_attendance/models/res_company.py b/addons/hr_attendance/models/res_company.py index 74cdb652995..cb1f1b2b94f 100644 --- a/addons/hr_attendance/models/res_company.py +++ b/addons/hr_attendance/models/res_company.py @@ -120,5 +120,5 @@ class ResCompany(models.Model): return { 'type': 'ir.actions.act_url', 'target': 'self', - 'url': '/hr_attendance/kiosk_mode_menu' + 'url': f'/hr_attendance/kiosk_mode_menu/{self.env.company.id}', }