From 136f17377f21d5b1f95045a8a6e32d3f96622356 Mon Sep 17 00:00:00 2001 From: AjmalCybro Date: Mon, 11 Aug 2025 13:06:15 +0530 Subject: [PATCH] Aug 11 [ADD] : Initial Commit 'hr_biometric_attendance' --- hr_biometric_attendance/README.rst | 62 + hr_biometric_attendance/__init__.py | 23 + hr_biometric_attendance/__manifest__.py | 60 + .../data/biometric_device_details_data.xml | 12 + .../data/hr_employee_data.xml | 14 + hr_biometric_attendance/doc/RELEASE_NOTES.md | 8 + hr_biometric_attendance/models/__init__.py | 27 + .../models/biometric_device_details.py | 657 +++++++ .../models/daily_attendance.py | 78 + .../models/fingerprint_templates.py | 37 + hr_biometric_attendance/models/hr_employee.py | 48 + .../models/res_config_settings.py | 68 + .../models/zk_machine_attendance.py | 55 + .../biometric_device_details_security.xml | 17 + .../security/ir.model.access.csv | 7 + .../static/description/assets/V-18-GIF.gif | Bin 0 -> 555674 bytes .../static/description/assets/cybro-icon.png | Bin 0 -> 2269 bytes .../static/description/assets/cybro-odoo.png | Bin 0 -> 28336 bytes .../static/description/assets/h2.png | Bin 0 -> 642737 bytes .../assets/icons/arrows-repeat.svg | 10 + .../description/assets/icons/banner-1.png | Bin 0 -> 215329 bytes .../description/assets/icons/banner-2.svg | 73 + .../description/assets/icons/banner-bg.png | Bin 0 -> 111419 bytes .../description/assets/icons/banner-bg.svg | 9 + .../description/assets/icons/banner-call.svg | 5 + .../description/assets/icons/banner-mail.svg | 5 + .../assets/icons/banner-pattern.svg | 343 ++++ .../description/assets/icons/banner-promo.svg | 147 ++ .../description/assets/icons/brand-pair.svg | 41 + .../static/description/assets/icons/check.png | Bin 0 -> 3676 bytes .../description/assets/icons/chevron.png | Bin 0 -> 310 bytes .../description/assets/icons/close-icon.svg | 5 + .../static/description/assets/icons/cogs.png | Bin 0 -> 1377 bytes .../assets/icons/collabarate-icon.svg | 3 + .../description/assets/icons/consultation.png | Bin 0 -> 1458 bytes .../description/assets/icons/cybro-logo.png | Bin 0 -> 17281 bytes .../static/description/assets/icons/down.svg | 1 + .../description/assets/icons/ecom-black.png | Bin 0 -> 576 bytes .../assets/icons/education-black.png | Bin 0 -> 733 bytes .../static/description/assets/icons/faq.png | Bin 0 -> 4400 bytes .../description/assets/icons/feature-icon.svg | 10 + .../description/assets/icons/feature.png | Bin 0 -> 4091 bytes .../static/description/assets/icons/gear.svg | 10 + .../static/description/assets/icons/hero.gif | Bin 0 -> 756228 bytes .../description/assets/icons/hire-odoo.svg | 12 + .../description/assets/icons/hotel-black.png | Bin 0 -> 911 bytes .../description/assets/icons/license.png | Bin 0 -> 1095 bytes .../assets/icons/life-ring-icon.svg | 13 + .../description/assets/icons/lifebuoy.png | Bin 0 -> 1199 bytes .../static/description/assets/icons/mail.svg | 3 + .../assets/icons/manufacturing-black.png | Bin 0 -> 673 bytes .../static/description/assets/icons/notes.png | Bin 0 -> 2087 bytes .../assets/icons/notification icon.svg | 10 + .../assets/icons/odoo-consultancy.svg | 4 + .../assets/icons/odoo-licencing.svg | 3 + .../description/assets/icons/odoo-logo.png | Bin 0 -> 9192 bytes .../description/assets/icons/patter.svg | 9 + .../description/assets/icons/pattern1.png | Bin 0 -> 7183 bytes .../description/assets/icons/pos-black.png | Bin 0 -> 878 bytes .../assets/icons/puzzle-piece-icon.svg | 10 + .../description/assets/icons/puzzle.png | Bin 0 -> 653 bytes .../description/assets/icons/replace-icon.svg | 10 + .../assets/icons/restaurant-black.png | Bin 0 -> 905 bytes .../assets/icons/screenshot-main.png | Bin 0 -> 193286 bytes .../description/assets/icons/screenshot.png | Bin 0 -> 4413 bytes .../assets/icons/service-black.png | Bin 0 -> 839 bytes .../description/assets/icons/skype-fill.svg | 10 + .../static/description/assets/icons/skype.png | Bin 0 -> 6065 bytes .../static/description/assets/icons/skype.svg | 3 + .../description/assets/icons/star-1.svg | 53 + .../description/assets/icons/star-2.svg | 9 + .../description/assets/icons/support.png | Bin 0 -> 3892 bytes .../assets/icons/test-1 - Copy.png | Bin 0 -> 23639 bytes .../description/assets/icons/test-1.png | Bin 0 -> 1996 bytes .../description/assets/icons/test-2.png | Bin 0 -> 2390 bytes .../assets/icons/trading-black.png | Bin 0 -> 427 bytes .../description/assets/icons/training.png | Bin 0 -> 627 bytes .../description/assets/icons/translate.svg | 10 + .../description/assets/icons/update.png | Bin 0 -> 1225 bytes .../static/description/assets/icons/user.png | Bin 0 -> 988 bytes .../static/description/assets/icons/video.png | Bin 0 -> 3837 bytes .../description/assets/icons/whatsapp.png | Bin 0 -> 5097 bytes .../description/assets/icons/wrench-icon.svg | 10 + .../description/assets/icons/wrench.png | Bin 0 -> 1205 bytes .../static/description/assets/modules/1.jpg | Bin 0 -> 148097 bytes .../static/description/assets/modules/2.gif | Bin 0 -> 775231 bytes .../static/description/assets/modules/3.png | Bin 0 -> 135881 bytes .../static/description/assets/modules/4.jpg | Bin 0 -> 121813 bytes .../static/description/assets/modules/5.gif | Bin 0 -> 1155290 bytes .../static/description/assets/modules/6.jpg | Bin 0 -> 785079 bytes .../description/assets/screenshots/img.png | Bin 0 -> 128163 bytes .../description/assets/screenshots/img_1.png | Bin 0 -> 156411 bytes .../description/assets/screenshots/img_10.png | Bin 0 -> 173248 bytes .../description/assets/screenshots/img_11.png | Bin 0 -> 170874 bytes .../description/assets/screenshots/img_12.png | Bin 0 -> 184617 bytes .../description/assets/screenshots/img_13.png | Bin 0 -> 179478 bytes .../description/assets/screenshots/img_14.png | Bin 0 -> 154034 bytes .../description/assets/screenshots/img_15.png | Bin 0 -> 149597 bytes .../description/assets/screenshots/img_16.png | Bin 0 -> 92018 bytes .../description/assets/screenshots/img_17.png | Bin 0 -> 162661 bytes .../description/assets/screenshots/img_18.png | Bin 0 -> 191051 bytes .../description/assets/screenshots/img_19.png | Bin 0 -> 164936 bytes .../description/assets/screenshots/img_2.png | Bin 0 -> 154418 bytes .../description/assets/screenshots/img_20.png | Bin 0 -> 161784 bytes .../description/assets/screenshots/img_21.png | Bin 0 -> 195008 bytes .../description/assets/screenshots/img_22.png | Bin 0 -> 105737 bytes .../description/assets/screenshots/img_23.png | Bin 0 -> 119946 bytes .../description/assets/screenshots/img_24.png | Bin 0 -> 101796 bytes .../description/assets/screenshots/img_25.png | Bin 0 -> 98750 bytes .../description/assets/screenshots/img_3.png | Bin 0 -> 148178 bytes .../description/assets/screenshots/img_4.png | Bin 0 -> 166962 bytes .../description/assets/screenshots/img_5.png | Bin 0 -> 54412 bytes .../description/assets/screenshots/img_6.png | Bin 0 -> 160036 bytes .../description/assets/screenshots/img_7.png | Bin 0 -> 171771 bytes .../description/assets/screenshots/img_8.png | Bin 0 -> 170914 bytes .../description/assets/screenshots/img_9.png | Bin 0 -> 174735 bytes .../static/description/assets/y18.jpg | Bin 0 -> 900755 bytes .../static/description/banner.png | Bin 0 -> 93806 bytes .../static/description/icon.png | Bin 0 -> 10843 bytes .../static/description/index.html | 1752 +++++++++++++++++ .../static/src/js/stopwatch.js | 76 + .../static/src/xml/stopwatch_view.xml | 10 + .../biometric_device_attendance_menus.xml | 16 + .../views/biometric_device_details_views.xml | 92 + .../views/daily_attendance_views.xml | 26 + .../views/hr_employee_views.xml | 25 + .../views/res_config_settings_views.xml | 32 + hr_biometric_attendance/wizard/__init__.py | 23 + .../wizard/employee_biometric.py | 66 + .../wizard/employee_biometric_views.xml | 34 + .../wizard/user_management.py | 75 + .../wizard/user_management_views.xml | 36 + 132 files changed, 4267 insertions(+) create mode 100755 hr_biometric_attendance/README.rst create mode 100644 hr_biometric_attendance/__init__.py create mode 100644 hr_biometric_attendance/__manifest__.py create mode 100644 hr_biometric_attendance/data/biometric_device_details_data.xml create mode 100644 hr_biometric_attendance/data/hr_employee_data.xml create mode 100755 hr_biometric_attendance/doc/RELEASE_NOTES.md create mode 100644 hr_biometric_attendance/models/__init__.py create mode 100644 hr_biometric_attendance/models/biometric_device_details.py create mode 100644 hr_biometric_attendance/models/daily_attendance.py create mode 100644 hr_biometric_attendance/models/fingerprint_templates.py create mode 100644 hr_biometric_attendance/models/hr_employee.py create mode 100644 hr_biometric_attendance/models/res_config_settings.py create mode 100644 hr_biometric_attendance/models/zk_machine_attendance.py create mode 100644 hr_biometric_attendance/security/biometric_device_details_security.xml create mode 100644 hr_biometric_attendance/security/ir.model.access.csv create mode 100644 hr_biometric_attendance/static/description/assets/V-18-GIF.gif create mode 100755 hr_biometric_attendance/static/description/assets/cybro-icon.png create mode 100755 hr_biometric_attendance/static/description/assets/cybro-odoo.png create mode 100755 hr_biometric_attendance/static/description/assets/h2.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/arrows-repeat.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-1.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-2.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-bg.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-bg.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-call.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-mail.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-pattern.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/banner-promo.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/brand-pair.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/check.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/chevron.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/close-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/cogs.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/collabarate-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/consultation.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/cybro-logo.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/down.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/ecom-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/education-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/faq.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/feature-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/feature.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/gear.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/hero.gif create mode 100755 hr_biometric_attendance/static/description/assets/icons/hire-odoo.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/hotel-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/license.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/life-ring-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/lifebuoy.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/mail.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/manufacturing-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/notes.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/notification icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/odoo-consultancy.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/odoo-licencing.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/odoo-logo.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/patter.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/pattern1.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/pos-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/puzzle-piece-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/puzzle.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/replace-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/restaurant-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/screenshot-main.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/screenshot.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/service-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/skype-fill.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/skype.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/skype.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/star-1.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/star-2.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/support.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/test-1 - Copy.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/test-1.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/test-2.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/trading-black.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/training.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/translate.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/update.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/user.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/video.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/whatsapp.png create mode 100755 hr_biometric_attendance/static/description/assets/icons/wrench-icon.svg create mode 100755 hr_biometric_attendance/static/description/assets/icons/wrench.png create mode 100644 hr_biometric_attendance/static/description/assets/modules/1.jpg create mode 100755 hr_biometric_attendance/static/description/assets/modules/2.gif create mode 100644 hr_biometric_attendance/static/description/assets/modules/3.png create mode 100644 hr_biometric_attendance/static/description/assets/modules/4.jpg create mode 100644 hr_biometric_attendance/static/description/assets/modules/5.gif create mode 100644 hr_biometric_attendance/static/description/assets/modules/6.jpg create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_1.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_10.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_11.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_12.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_13.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_14.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_15.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_16.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_17.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_18.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_19.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_2.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_20.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_21.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_22.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_23.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_24.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_25.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_3.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_4.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_5.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_6.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_7.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_8.png create mode 100644 hr_biometric_attendance/static/description/assets/screenshots/img_9.png create mode 100755 hr_biometric_attendance/static/description/assets/y18.jpg create mode 100644 hr_biometric_attendance/static/description/banner.png create mode 100644 hr_biometric_attendance/static/description/icon.png create mode 100644 hr_biometric_attendance/static/description/index.html create mode 100644 hr_biometric_attendance/static/src/js/stopwatch.js create mode 100644 hr_biometric_attendance/static/src/xml/stopwatch_view.xml create mode 100644 hr_biometric_attendance/views/biometric_device_attendance_menus.xml create mode 100644 hr_biometric_attendance/views/biometric_device_details_views.xml create mode 100644 hr_biometric_attendance/views/daily_attendance_views.xml create mode 100644 hr_biometric_attendance/views/hr_employee_views.xml create mode 100755 hr_biometric_attendance/views/res_config_settings_views.xml create mode 100644 hr_biometric_attendance/wizard/__init__.py create mode 100644 hr_biometric_attendance/wizard/employee_biometric.py create mode 100644 hr_biometric_attendance/wizard/employee_biometric_views.xml create mode 100644 hr_biometric_attendance/wizard/user_management.py create mode 100644 hr_biometric_attendance/wizard/user_management_views.xml diff --git a/hr_biometric_attendance/README.rst b/hr_biometric_attendance/README.rst new file mode 100755 index 000000000..3a754f0a9 --- /dev/null +++ b/hr_biometric_attendance/README.rst @@ -0,0 +1,62 @@ +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.svg + :target: https://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +HR Biometric Device Integration +=============================== +* This Cybrosys's module integrates Odoo attendance with biometric device attendance. + +Configuration +============ +- This integration is applicable for the the ZK Devices. +- zklib you can install zklib library using "sudo pip install zklib" + +Compatible Devices +---------------- +This module support with the following machines + +* uFace202 (ZKteco) +* iFace990 (ZKteco) + +Clients have reported that the module works well with the following machine : + +* K40 Pro (ZKteco) +* SFace900 (ZKteco) +* FR1500 (ZKteco) +* UA760 (ZKteco) +* MB10 (ZKteco + +License +------- +General Public License, Version 3 (AGPL-3). +(https://www.gnu.org/licenses/agpl-3.0-standalone.html) + +Company +------- +* `Cybrosys Techno Solutions `__ + +Credits +======= +* Developers: (V18) Nihala KP, +* Developers: (V17) Nihala KP, +* Contact: odoo@cybrosys.com +Contacts +-------- +* Mail Contact : odoo@cybrosys.com + +Bug Tracker +----------- +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Maintainer +========== +.. image:: https://cybrosys.com/images/logo.png + :target: https://cybrosys.com + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit `Our Website `__ + +Further information +=================== +HTML Description: ``__ \ No newline at end of file diff --git a/hr_biometric_attendance/__init__.py b/hr_biometric_attendance/__init__.py new file mode 100644 index 000000000..1fe5f5795 --- /dev/null +++ b/hr_biometric_attendance/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import models +from . import wizard diff --git a/hr_biometric_attendance/__manifest__.py b/hr_biometric_attendance/__manifest__.py new file mode 100644 index 000000000..216755157 --- /dev/null +++ b/hr_biometric_attendance/__manifest__.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': "HR Biometric Device Integration", + 'version': "18.0.1.0.0", + 'category': 'Human Resources', + 'summary': "Integrating Zk Biometric Devices With HR Attendance", + 'description': """This module integrates Odoo with ZK biometric devices, + incorporating features such as live capturing and user management """, + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': "https://www.cybrosys.com", + 'depends': ['base_setup', 'hr_attendance', 'web'], + 'data': [ + 'security/ir.model.access.csv', + 'security/biometric_device_details_security.xml', + 'data/biometric_device_details_data.xml', + 'data/hr_employee_data.xml', + 'wizard/user_management_views.xml', + 'wizard/employee_biometric_views.xml', + 'views/biometric_device_details_views.xml', + 'views/hr_employee_views.xml', + 'views/daily_attendance_views.xml', + 'views/res_config_settings_views.xml', + 'views/biometric_device_attendance_menus.xml', + ], + 'assets': { + 'web.assets_backend': [ + 'hr_biometric_attendance/static/src/xml/stopwatch_view.xml', + 'hr_biometric_attendance/static/src/js/stopwatch.js', + ] + }, + 'external_dependencies': { + 'python': ['pyzk'], }, + 'images': ['static/description/banner.png'], + 'license': 'AGPL-3', + 'installable': True, + 'auto_install': False, + 'application': False, +} diff --git a/hr_biometric_attendance/data/biometric_device_details_data.xml b/hr_biometric_attendance/data/biometric_device_details_data.xml new file mode 100644 index 000000000..8c09c5d34 --- /dev/null +++ b/hr_biometric_attendance/data/biometric_device_details_data.xml @@ -0,0 +1,12 @@ + + + + + Schedule Attendance Downloading + + code + model.schedule_attendance() + 1 + days + + diff --git a/hr_biometric_attendance/data/hr_employee_data.xml b/hr_biometric_attendance/data/hr_employee_data.xml new file mode 100644 index 000000000..c52bf96d2 --- /dev/null +++ b/hr_biometric_attendance/data/hr_employee_data.xml @@ -0,0 +1,14 @@ + + + + + Biometric Device + + + form + code + + action = records.action_biometric_device() + + + diff --git a/hr_biometric_attendance/doc/RELEASE_NOTES.md b/hr_biometric_attendance/doc/RELEASE_NOTES.md new file mode 100755 index 000000000..01d7d0770 --- /dev/null +++ b/hr_biometric_attendance/doc/RELEASE_NOTES.md @@ -0,0 +1,8 @@ +## Module + +#### 03.07.2025 +#### Version 18.0.1.0.0 +#### ADD + +- Initial commit for HR Biometric Device Integration + diff --git a/hr_biometric_attendance/models/__init__.py b/hr_biometric_attendance/models/__init__.py new file mode 100644 index 000000000..d4e5205d6 --- /dev/null +++ b/hr_biometric_attendance/models/__init__.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import biometric_device_details +from . import zk_machine_attendance +from . import daily_attendance +from . import fingerprint_templates +from . import hr_employee +from . import res_config_settings diff --git a/hr_biometric_attendance/models/biometric_device_details.py b/hr_biometric_attendance/models/biometric_device_details.py new file mode 100644 index 000000000..5732863c6 --- /dev/null +++ b/hr_biometric_attendance/models/biometric_device_details.py @@ -0,0 +1,657 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +import base64 +import binascii +import datetime +import logging +import threading +from threading import Thread +import time +import pytz +from odoo import _, api, fields, models, registry +from odoo.exceptions import UserError, ValidationError + +live_capture_thread = None +_logger = logging.getLogger(__name__) +try: + from zk import const, ZK + from zk.finger import Finger +except ImportError: + _logger.error("Please Install pyzk library.") + + +class BiometricDeviceDetails(models.Model): + """Model for configuring and connect the biometric device with odoo""" + _name = 'biometric.device.details' + _description = 'Biometric Device Details' + _inherit = ['mail.thread', 'mail.activity.mixin'] + + name = fields.Char(required=True, help='Name of the Biometric Device') + device_ip = fields.Char(string='Device IP', required=True, + help='The IP address of the Device') + port_number = fields.Integer(string='Port Number', required=True, + help="The Port Number of the Device") + address_id = fields.Many2one('res.partner', string='Working Address', + help='Working address of the partner') + is_live_capture = fields.Boolean('Live Capturing', + help="if enabled, gets the live capture " + "from the device", + readonly=True) + company_id = fields.Many2one('res.company', string='Company', + help="Name of the Company", + default=lambda self: self.env.company) + stopwatch_time = fields.Float('Stopwatch timer', + help='Time from Live capture enabled') + device_name = fields.Char(string='Device Name', readonly=True, + help='Name of the Device') + device_firmware = fields.Char(string='Device Firmware Version', + readonly=True, help='Device Firmware') + device_serial_no = fields.Char(string='Device Serial No', readonly=True, + help='Serial No of the Device') + device_platform = fields.Char(string='Device Platform', readonly=True, + help='Platform of the Device') + device_mac = fields.Char(string='Device Mac ID', readonly=True, + help='Mac ID of the Device') + live_capture_start_time = fields.Datetime('Live Capture Time', + help='The Time When Live ' + 'Capture Enabled') + device_password = fields.Integer(string='Password', + help='Enter the device password') + + def device_connect(self, zk): + """Function for connecting the device with Odoo""" + try: + conn = zk.connect() + return conn + except Exception: + return False + + def action_test_connection(self): + """Checking the connection status""" + zk = ZK(self.device_ip, port=self.port_number, timeout=30, + password=self.device_password, ommit_ping=False) + try: + if zk.connect(): + zk.test_voice(index=0) + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': 'Successfully Connected', + 'type': 'success', + 'sticky': False + } + } + + except Exception as error: + raise ValidationError(f'{error}') + + def action_clear_attendance(self): + """Methode to clear record from the zk.machine.attendance model and + from the device""" + for info in self: + try: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device + zk = ZK(machine_ip, port=zk_port, timeout=30, + password=self.device_password, force_udp=False, ommit_ping=False) + except NameError: + raise UserError(_( + "Please install it with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + conn.enable_device() + clear_data = zk.get_attendance() + if clear_data: + # Clearing data in the device + conn.clear_attendance() + # Clearing data from attendance log + self._cr.execute( + """delete from zk_machine_attendance""") + current_time = fields.datetime.now().strftime( + '%Y-%m-%d %H:%M:%S') + message = (f'Attendances Are cleared from the Device on' + f' {current_time} By {self.env.user.name}') + self.message_post(body=message) + conn.disconnect() + else: + raise UserError( + _('Unable to clear Attendance log.Are you sure ' + 'attendance log is not empty.')) + else: + raise UserError( + _('Unable to connect to Attendance Device. Please use ' + 'Test Connection button to verify.')) + except Exception as error: + raise ValidationError(f'{error}') + + def action_download_attendance(self): + """Function to download attendance records from the device""" + _logger.info("++++++++++++Cron Executed++++++++++++++++++++++") + zk_attendance = self.env['zk.machine.attendance'] + hr_attendance = self.env['hr.attendance'] + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + self.get_device_information() + if conn: + conn.disable_device() + self.get_all_users() + self.action_set_timezone() + user = conn.get_users() + # get All Fingerprints + fingers = conn.get_templates() + for use in user: + for finger in fingers: + if finger.uid == use.uid: + templates = conn.get_user_template(uid=use.uid, + temp_id=finger.fid, + user_id=use.user_id) + hex_data = templates.template.hex() + # Convert hex data to binary + binary_data = binascii.unhexlify(hex_data) + base64_data = base64.b64encode(binary_data).decode( + 'utf-8') + employee = self.env['hr.employee'].search( + [('device_id_num', '=', use.user_id),('company_id', '=', self.env.company.id)]) + employee.write({ + 'device_id': self.id, + }) + if str(finger.fid) in employee.fingerprint_ids.mapped( + 'finger_id'): + employee.fingerprint_ids.search( + [('finger_id', '=', finger.fid)]).update({ + 'finger_template': base64_data, + }) + else: + employee.fingerprint_ids.create({ + 'finger_template': base64_data, + 'finger_id': finger.fid, + 'employee_id': employee.id, + 'filename': f'{employee.name}-finger-{finger.fid}' + }) + # get all attendances + attendance = conn.get_attendance() + if attendance: + for each in attendance: + atten_time = each.timestamp + local_tz = pytz.timezone( + self.env.user.partner_id.tz or 'GMT') + local_dt = local_tz.localize(atten_time, is_dst=None) + utc_dt = local_dt.astimezone(pytz.utc) + utc_dt = utc_dt.strftime("%Y-%m-%d %H:%M:%S") + atten_time = datetime.datetime.strptime( + utc_dt, "%Y-%m-%d %H:%M:%S") + atten_time = fields.Datetime.to_string(atten_time) + for uid in user: + if uid.user_id == each.user_id: + get_user_id = self.env['hr.employee'].search( + [('device_id_num', '=', each.user_id), ('company_id', '=', self.env.company.id)]) + if get_user_id: + duplicate_atten_ids = zk_attendance.search( + [('device_id_num', '=', each.user_id), + ('punching_time', '=', atten_time), + ('company_id', '=', self.env.company.id)]) + if not duplicate_atten_ids: + zk_attendance.create({ + 'employee_id': get_user_id.id, + 'device_id_num': each.user_id, + 'attendance_type': str(each.status), + 'punch_type': str(each.punch), + 'punching_time': atten_time, + 'address_id': info.address_id.id, + 'company_id': self.env.company.id + }) + att_var = hr_attendance.search([( + 'employee_id', '=', get_user_id.id), + ('check_out', '=', False)]) + if each.punch == 0: # check-in + if not att_var: + hr_attendance.create({ + 'employee_id': + get_user_id.id, + 'check_in': atten_time + }) + if each.punch == 1: # check-out + if len(att_var) == 1: + att_var.write({ + 'check_out': atten_time + }) + else: + att_var1 = hr_attendance.search( + [('employee_id', '=', + get_user_id.id)]) + if att_var1: + att_var1[-1].write({ + 'check_out': atten_time + }) + else: + employee = self.env['hr.employee'].create({ + 'device_id_num': each.user_id, + 'device_id': self.id, + 'name': uid.name, + 'company_id': self.company_id.id + }) + zk_attendance.create({ + 'employee_id': employee.id, + 'device_id_num': each.user_id, + 'attendance_type': str(each.status), + 'punch_type': str(each.punch), + 'punching_time': atten_time, + 'address_id': info.address_id.id, + 'company_id': self.company_id.id + }) + hr_attendance.create({ + 'employee_id': employee.id, + 'check_in': atten_time + }) + if not self.is_live_capture: + current_time = fields.datetime.now().strftime( + '%Y-%m-%d %H:%M:%S') + message = (f'Downloaded data from the device on ' + f'{current_time} by {self.env.user.name}') + self.message_post(body=message) + conn.disconnect() + return True + else: + zk.test_voice(index=4) + raise UserError(_('Unable to get the attendance log, please' + 'try again later.')) + else: + raise UserError(_('Unable to connect, please check the' + 'parameters and network connections.')) + + def action_restart_device(self): + """For restarting the device""" + zk = ZK(self.device_ip, port=self.port_number, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + if self.device_connect(zk): + if self.is_live_capture: + self.action_stop_live_capture() + self.device_connect(zk).restart() + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': 'Successfully Device Restarted', + 'type': 'success', + 'sticky': False + } + } + else: + raise UserError(_( + "Please Check the Connection")) + + def schedule_attendance(self): + """Schedule action for attendance downloading""" + for record in self.search([]): + if record.is_live_capture: + record.action_stop_live_capture() + record.action_download_attendance() + record.action_live_capture() + else: + record.action_download_attendance() + + def action_live_capture(self): + """ Enable Live capture With Thread""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + password = info.device_password + try: + self.is_live_capture = True + self.action_set_timezone() + instance = ZKBioAttendance(machine_ip, zk_port, password, info) + global live_capture_thread + live_capture_thread = instance + live_capture_thread.start() + self.live_capture_start_time = fields.datetime.now() + return { + 'type': 'ir.actions.client', + 'tag': 'reload', + } + except NameError: + raise UserError(_( + "Please install it with 'pip3 install pyzk'.")) + + def action_stop_live_capture(self): + """Function to stop Live capture""" + try: + self.is_live_capture = False + if live_capture_thread: + live_capture_thread.stop() + return { + 'type': 'ir.actions.client', + 'tag': 'reload', + } + except NameError: + raise UserError(_( + "Please install it with 'pip3 install pyzk'.")) + + def action_set_timezone(self): + """Function to set user's timezone to device""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + user_tz = self.env.context.get( + 'tz') or self.env.user.tz or 'UTC' + user_timezone_time = pytz.utc.localize(fields.Datetime.now()) + user_timezone_time = user_timezone_time.astimezone( + pytz.timezone(user_tz)) + conn.set_time(user_timezone_time) + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': 'Successfully Set the Time', + 'type': 'success', + 'sticky': False + } + } + else: + raise UserError(_( + "Please Check the Connection")) + + def get_all_users(self): + """Function to get all user's details""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + users = conn.get_users() + for user in users: + employee = self.env['hr.employee'].search( + [('device_id_num', '=', user.user_id), + ('device_id', '=', self.id)]) + if employee: + employee.write({ + 'name': user.name, + }) + else: + self.env['hr.employee'].create({ + 'name': user.name, + 'device_id_num': user.user_id, + 'device_id': self.id, + }) + else: + raise UserError(_( + "Please Check the Connection")) + + def set_user(self, employee_id): + """Function to create or update users""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + employee = self.env['hr.employee'].browse(int(employee_id)) + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + last_user = conn.get_users()[-1] + privilege = 0 + password = '' + group_id = '' + card = 0 + conn.enable_device() + conn.disable_device() + try: + uids = [user.uid for user in conn.get_users()] + candidate_uid = last_user.uid + 1 + while candidate_uid in uids: + candidate_uid += 1 + conn.set_user(candidate_uid, employee.name, privilege, + password, group_id, str(candidate_uid), card) + except Exception as e: + _logger.info(e) + raise ValidationError( + _(" Here is the user information:\n" + "uid: %s\n" + "name: %s\n" + "privilege: %s\n" + "password: %s\n" + "group_id: %s\n" + "user_id: %s\n" + "Here is the debugging information:\n%s\n" + "Try Restarting the device") + % (candidate_uid, employee.name, privilege, password, + group_id, str(candidate_uid), e)) + conn.enable_device() + if conn.get_users()[-1].name in employee.name: + employee.write({ + 'device_id': self.id, + 'device_id_num': conn.get_users()[-1].user_id + }) + current_time = fields.datetime.now().strftime( + '%Y-%m-%d %H:%M:%S') + message = (f'New User {employee.name} Created on ' + f'{current_time} by {self.env.user.name}') + self.message_post(body=message) + else: + raise UserError(_( + "Please Check the Connection")) + + def delete_user(self, employee_id, employee_user_selection): + """Function to Delete a user""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + employee = self.env['hr.employee'].browse(int(employee_id)) + employee_name = employee.name + conn.delete_user(uid=None, user_id=employee.device_id_num) + employee.write({ + 'device_id_num': False, + 'device_id': False + }) + employee.fingerprint_ids.unlink() + if employee_user_selection == 'both_device': + employee.unlink() + current_time = fields.datetime.now().strftime( + '%Y-%m-%d %H:%M:%S') + message = (f'Deleted User {employee_name} on ' + f'{current_time} by {self.env.user.name}') + self.message_post(body=message) + else: + raise UserError(_( + "Please Check the Connection")) + + def update_user(self, employee_id): + """Function to Update a user""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + conn.enable_device() + conn.disable_device() + employee = self.env['hr.employee'].browse(int(employee_id)) + for line in conn.get_users(): + if line.user_id == employee.device_id_num: + privilege = 0 + password = '' + group_id = '' + user_id = employee.device_id_num + card = 0 + conn.set_user(line.uid, employee.name, privilege, + password, group_id, user_id, card) + conn.enable_device() + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'message': 'Successfully Updated User', + 'type': 'success', + 'sticky': False + } + } + else: + raise UserError(_( + "Please Check the Connection")) + + def get_device_information(self): + """Gets device Information""" + for info in self: + machine_ip = info.device_ip + zk_port = info.port_number + try: + # Connecting with the device with the ip and port provided + zk = ZK(machine_ip, port=zk_port, timeout=15, + password=self.device_password, + force_udp=False, ommit_ping=False) + except NameError: + raise UserError( + _("Pyzk module not Found. Please install it" + "with 'pip3 install pyzk'.")) + conn = self.device_connect(zk) + if conn: + self.device_name = conn.get_device_name() + self.device_firmware = conn.get_firmware_version() + self.device_serial_no = conn.get_serialnumber() + self.device_platform = conn.get_platform() + self.device_mac = conn.get_mac() + else: + raise UserError(_( + "Please Check the Connection")) + + +class ZKBioAttendance(Thread): + """ + Represents a thread for capturing live attendance data from a ZKTeco + biometric device. + + Attributes: - machine_ip: The IP address of the ZKTeco biometric device. + - port_no: The port number for communication with the ZKTeco biometric + device. - conn: The connection object to the ZKTeco biometric device. + + Methods: - run(): Overrides the run method of the Thread class to capture + live attendance data. + """ + + def __init__(self, machine_ip, port_no,password, record): + """Function to Initialize the thread""" + Thread.__init__(self) + self.machine_ip = machine_ip + self.port_no = port_no + self.record = record + self.env = record.env + self.stop_event = threading.Event() + + zk_device = ZK( + machine_ip, + port=port_no, + timeout=5, + password=password, + force_udp=False, + ommit_ping=False, + ) + conn = zk_device.connect() + if conn: + self.conn = conn + else: + raise UserError(_( + "Please Check the Connection")) + + def run(self): + """Function to run the Thread""" + while not self.stop_event.is_set(): + try: + if not self.conn.end_live_capture: + for attendance in self.conn.live_capture(2000): + self._data_live_capture() + time.sleep(10) + except Exception as e: + self.env.cr.rollback() # Rollback the current transaction + time.sleep(1) + + def stop(self): + """Stops the live capture and stops the thread""" + if self.conn: + self.conn.end_live_capture = True + self.stop_event.set() + + def _data_live_capture(self): + """Updated the Live Capture real time""" + with registry(self.env.cr.dbname).cursor() as new_cr: + new_env = api.Environment(new_cr, self.env.uid, self.env.context) + if self.conn.get_attendance(): + self.record.with_env(new_env).action_download_attendance() + new_cr.commit() diff --git a/hr_biometric_attendance/models/daily_attendance.py b/hr_biometric_attendance/models/daily_attendance.py new file mode 100644 index 000000000..d9d5592c2 --- /dev/null +++ b/hr_biometric_attendance/models/daily_attendance.py @@ -0,0 +1,78 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import fields, models, tools + + +class DailyAttendance(models.Model): + """Model to hold data from the biometric device""" + _name = 'daily.attendance' + _description = 'Daily Attendance Report' + _auto = False + _order = 'punching_day desc' + + employee_id = fields.Many2one('hr.employee', string='Employee', + help='Employee Name') + punching_day = fields.Datetime(string='Date', help='Date of punching') + address_id = fields.Many2one('res.partner', string='Working Address', + help='Working address of the employee') + attendance_type = fields.Selection([('1', 'Finger'), ('15', 'Face'), + ('2', 'Type_2'), ('3', 'Password'), + ('4', 'Card')], string='Category', + help='Attendance detecting methods') + punch_type = fields.Selection([('0', 'Check In'), ('1', 'Check Out'), + ('2', 'Break Out'), ('3', 'Break In'), + ('4', 'Overtime In'), ('5', 'Overtime Out')], + string='Punching Type', + help='The Punching Type of attendance') + punching_time = fields.Datetime(string='Punching Time', + help='Punching time in the device') + company_id = fields.Many2one('res.company', string='Company', + help="Name of the Company", + default=lambda self: self.env.company) + + def init(self): + """Retrieve the data's for attendance report""" + tools.drop_view_if_exists(self._cr, 'daily_attendance') + query = """ + create or replace view daily_attendance as ( + select + min(z.id) as id, + z.employee_id as employee_id, + z.write_date as punching_day, + z.address_id as address_id, + z.attendance_type as attendance_type, + z.punching_time as punching_time, + z.punch_type as punch_type, + e.company_id as company_id + from zk_machine_attendance z + join hr_employee e on (z.employee_id = e.id) + GROUP BY + z.employee_id, + z.write_date, + z.address_id, + z.attendance_type, + z.punch_type, + z.punching_time, + e.company_id + ) + """ + self._cr.execute(query) diff --git a/hr_biometric_attendance/models/fingerprint_templates.py b/hr_biometric_attendance/models/fingerprint_templates.py new file mode 100644 index 000000000..38f3ca110 --- /dev/null +++ b/hr_biometric_attendance/models/fingerprint_templates.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import fields, models + + +class FingerprintTemplates(models.Model): + """Inherit the model to add field""" + _name = 'fingerprint.templates' + _description = 'Finger Print Templates for Employee' + + employee_id = fields.Many2one('hr.employee', string='Employee', + help='Name of the Employee') + finger_id = fields.Char(string='Finger Id', + help='The Number that refers the Finger') + filename = fields.Char(string='Finger File Name', + help='File Name of the Uploaded Finger Print') + finger_template = fields.Binary(string='Finger Template', + help='The Uploaded Finger Print file') diff --git a/hr_biometric_attendance/models/hr_employee.py b/hr_biometric_attendance/models/hr_employee.py new file mode 100644 index 000000000..311f6bd97 --- /dev/null +++ b/hr_biometric_attendance/models/hr_employee.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import _, fields, models + + +class HrEmployee(models.Model): + """Inherit the model to add field""" + _inherit = 'hr.employee' + + device_id_num = fields.Char(string='Biometric Device ID', + help="Give the biometric device id", copy=False) + device_id = fields.Many2one('biometric.device.details', copy=False, + readonly=True, + help='The biometric device details') + fingerprint_ids = fields.One2many('fingerprint.templates', 'employee_id', + help='Store finger print templates of ' + 'an employee') + + def action_biometric_device(self): + """Server Action for Biometric Device which open a wizard with + several options""" + return { + 'type': 'ir.actions.act_window', + 'target': 'new', + 'name': _('Biometric Management'), + 'view_mode': 'form', + 'res_model': 'employee.biometric', + 'context': {'default_employee_id': self.id}, + } diff --git a/hr_biometric_attendance/models/res_config_settings.py b/hr_biometric_attendance/models/res_config_settings.py new file mode 100644 index 000000000..d735b47b1 --- /dev/null +++ b/hr_biometric_attendance/models/res_config_settings.py @@ -0,0 +1,68 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from datetime import timedelta +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + """ Inherited res.config.settings to add new fields """ + _inherit = 'res.config.settings' + + schedule_attendance_downloads = fields.Boolean(string="Schedule Downloads", + config_parameter='hr_biometric_attendance.schedule_downloads', + default=False, + help='If Enabled we can ' + 'schedule attendance ' + 'downloading from ' + 'device') + schedule_time_interval = fields.Integer(string="Schedule Time Interval", + config_parameter='hr_biometric_attendance.schedule_time_interval', + default=1, + help='We can set Time interval ' + 'for the Scheduling') + schedule_time_period = fields.Selection( + selection=[('hours', 'Hours'), ('days', 'Days')], + string="Schedule Time Period", + config_parameter='hr_biometric_attendance.schedule_time_period', + default='days', help='We can set Time Period for the Scheduling') + + def set_values(self): + """ Super the function to set the values from settings to the + cron.job""" + super().set_values() + if self.schedule_attendance_downloads: + self.env['ir.cron'].search( + [('name', '=', 'Schedule Attendance Downloading')]).write({ + 'active': True, + 'interval_type': self.schedule_time_period, + 'interval_number': self.schedule_time_interval, + 'nextcall': fields.datetime.now() + timedelta( + hours=self.schedule_time_interval) if + self.schedule_time_period == 'hours' else + fields.datetime.now() + timedelta( + days=self.schedule_time_interval), + }) + else: + self.env['ir.cron'].search( + [('name', '=', 'Schedule Attendance Downloading')]).write({ + 'active': False + }) diff --git a/hr_biometric_attendance/models/zk_machine_attendance.py b/hr_biometric_attendance/models/zk_machine_attendance.py new file mode 100644 index 000000000..1f3ff4be1 --- /dev/null +++ b/hr_biometric_attendance/models/zk_machine_attendance.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2025-TODAY Cybrosys Technologies(). +# Author: Cybrosys Techno Solutions (odoo@cybrosys.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models + + +class ZkMachineAttendance(models.Model): + """Model to hold data from the biometric device""" + _name = 'zk.machine.attendance' + _description = 'Attendance' + _inherit = 'hr.attendance' + + @api.constrains('check_in', 'check_out', 'employee_id') + def _check_validity(self): + """Overriding the __check_validity function for employee attendance.""" + pass + + device_id_num = fields.Char(string='Biometric Device ID', + help="The ID of the Biometric Device") + punch_type = fields.Selection([('0', 'Check In'), ('1', 'Check Out'), + ('2', 'Break Out'), ('3', 'Break In'), + ('4', 'Overtime In'), ('5', 'Overtime Out'), + ('255', 'Duplicate')], + string='Punching Type', + help='Punching type of the attendance') + attendance_type = fields.Selection([('1', 'Finger'), ('15', 'Face'), + ('2', 'Type_2'), ('3', 'Password'), + ('4', 'Card'), ('255', 'Duplicate')], + string='Category', + help="Attendance detecting methods") + punching_time = fields.Datetime(string='Punching Time', + help="Punching time in the device") + address_id = fields.Many2one('res.partner', string='Working Address', + help="Working address of the employee") + company_id = fields.Many2one('res.company', string='Company', + help="Name of the Company", + default=lambda self: self.env.company) diff --git a/hr_biometric_attendance/security/biometric_device_details_security.xml b/hr_biometric_attendance/security/biometric_device_details_security.xml new file mode 100644 index 000000000..5a1888d50 --- /dev/null +++ b/hr_biometric_attendance/security/biometric_device_details_security.xml @@ -0,0 +1,17 @@ + + + + + ZK Machine Multi-Company Rule + + [('company_id', 'in', user.company_ids.ids)] + + + + + ZK Machine Daily Attendance Multi-Company Rule + + [('company_id', 'in', user.company_ids.ids)] + + + \ No newline at end of file diff --git a/hr_biometric_attendance/security/ir.model.access.csv b/hr_biometric_attendance/security/ir.model.access.csv new file mode 100644 index 000000000..619bb3565 --- /dev/null +++ b/hr_biometric_attendance/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_biometric_device_details_user,access.biometric.device.details,model_biometric_device_details,base.group_user,1,1,1,1 +access_daily_attendance_user,access.daily.attendance,model_daily_attendance,base.group_user,1,1,1,1 +access_zk_machine_attendance_user,access.zk.machine.attendance,model_zk_machine_attendance,base.group_user,1,1,1,1 +access_zk_user_management_user,access.zk.user.management,model_zk_user_management,base.group_user,1,1,1,1 +access_employee_biometric_user,access.employee.biometric,model_employee_biometric,base.group_user,1,1,1,1 +access_clear_fingerprint_templates_user,access.fingerprint.templates,model_fingerprint_templates,base.group_user,1,1,1,1 diff --git a/hr_biometric_attendance/static/description/assets/V-18-GIF.gif b/hr_biometric_attendance/static/description/assets/V-18-GIF.gif new file mode 100644 index 0000000000000000000000000000000000000000..3d2841744c5111444ebe97137ed3c1e68e133511 GIT binary patch literal 555674 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 w7k$aKnpH>VPDbKuCI@_xofLz9}CBeeWmIeYkw5 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 Z6 zWgXk&b95m2>9cK~O30p@a$CjW05bF=<7E=EHMgxXdD5WrUq zYGfH%l>zE@cfGBH^cl2~2GELt!4YD;<`AlM2;c+1VbttfrEQZ_KLLS-N3gP;e@A) zJo7ny^r8IqpO#l)jYCzw8jBpf8#OmLJYC+if?EbH7W?@-7LyPrbSVIh+l`tw8*

h(0a(`FA>?}@aLXCvduqpvcz|19HC?8B1?LXkv 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