feat(fusion_clock): add NFC kiosk location to res.company
Adds x_fclk_nfc_kiosk_location_id (Many2one → fusion.clock.location) to res.company so each company can designate which NFC kiosk location it uses. Two tests cover field assignment and default-false behaviour. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,3 +10,4 @@ from . import clock_activity_log
|
||||
from . import clock_leave_request
|
||||
from . import clock_shift
|
||||
from . import clock_correction
|
||||
from . import res_company
|
||||
|
||||
16
fusion_clock/models/res_company.py
Normal file
16
fusion_clock/models/res_company.py
Normal file
@@ -0,0 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright 2026 Nexa Systems Inc.
|
||||
# License OPL-1 (Odoo Proprietary License v1.0)
|
||||
|
||||
from odoo import models, fields
|
||||
|
||||
|
||||
class ResCompany(models.Model):
|
||||
_inherit = 'res.company'
|
||||
|
||||
x_fclk_nfc_kiosk_location_id = fields.Many2one(
|
||||
'fusion.clock.location',
|
||||
string='NFC Kiosk Location',
|
||||
help="Designates which fusion.clock.location is bound to the NFC kiosk "
|
||||
"for this company. Required when NFC kiosk is enabled.",
|
||||
)
|
||||
@@ -82,3 +82,22 @@ class TestNfcAttendanceFields(TransactionCase):
|
||||
'description': 'Test unknown card log',
|
||||
})
|
||||
self.assertEqual(log2.log_type, 'unknown_card_tap')
|
||||
|
||||
|
||||
@tagged('-at_install', 'post_install', 'fusion_clock')
|
||||
class TestNfcKioskCompanyField(TransactionCase):
|
||||
|
||||
def test_company_has_nfc_kiosk_location(self):
|
||||
company = self.env.company
|
||||
location = self.env['fusion.clock.location'].create({
|
||||
'name': 'Plant 1',
|
||||
'latitude': 43.65,
|
||||
'longitude': -79.38,
|
||||
'radius': 100,
|
||||
})
|
||||
company.x_fclk_nfc_kiosk_location_id = location.id
|
||||
self.assertEqual(company.x_fclk_nfc_kiosk_location_id, location)
|
||||
|
||||
def test_company_field_defaults_to_false(self):
|
||||
new_company = self.env['res.company'].create({'name': 'Test Co NFC'})
|
||||
self.assertFalse(new_company.x_fclk_nfc_kiosk_location_id)
|
||||
|
||||
Reference in New Issue
Block a user