# -*- coding: utf-8 -*- # Copyright 2026 Nexa Systems Inc. # License OPL-1 (Odoo Proprietary License v1.0) import logging from odoo import http from odoo.http import request _logger = logging.getLogger(__name__) class FusionClockNfcKiosk(http.Controller): """NFC tap-to-clock kiosk controller. Reuses FusionClockAPI helpers.""" @http.route('/fusion_clock/kiosk/nfc', type='http', auth='user', website=True) def nfc_kiosk_page(self, **kw): """Render the NFC kiosk page for a wall-mounted tablet.""" user = request.env.user if not user.has_group('fusion_clock.group_fusion_clock_manager'): return request.redirect('/my') ICP = request.env['ir.config_parameter'].sudo() if ICP.get_param('fusion_clock.enable_nfc_kiosk', 'False') != 'True': return request.redirect('/my') company = request.env.company location = company.x_fclk_nfc_kiosk_location_id values = { 'page_name': 'nfc_kiosk', 'company_name': company.name, 'location_name': location.name if location else 'No location configured', 'location_configured': bool(location), 'photo_required': ICP.get_param('fusion_clock.nfc_photo_required', 'True') == 'True', 'debug_enabled': ICP.get_param('fusion_clock.nfc_kiosk_debug', 'False') == 'True', } return request.render('fusion_clock.nfc_kiosk_page', values)