Browse Source

Aug 07: [FIX] Bug Fixed 'hr_zk_attendance'

pull/331/head
Cybrosys Technologies 9 months ago
parent
commit
5463939cbd
  1. 3
      hr_zk_attendance/__manifest__.py
  2. 14
      hr_zk_attendance/data/download_data.xml
  3. 6
      hr_zk_attendance/doc/RELEASE_NOTES.md
  4. 10
      hr_zk_attendance/models/biometric_device_details.py

3
hr_zk_attendance/__manifest__.py

@ -21,7 +21,7 @@
################################################################################
{
'name': 'Biometric Device Integration',
'version': '17.0.1.1.1',
'version': '17.0.1.2.2',
'category': 'Human Resources',
'summary': "Integrating Biometric Device (Model: ZKteco uFace 202) With HR"
"Attendance (Face + Thumb)",
@ -40,6 +40,7 @@
'views/hr_employee_views.xml',
'views/daily_attendance_views.xml',
'views/biometric_device_attendance_menus.xml',
'data/download_data.xml'
],
'images': ['static/description/banner.png'],
'license': 'AGPL-3',

14
hr_zk_attendance/data/download_data.xml

@ -0,0 +1,14 @@
<?xml version="1.0"?>
<odoo noupdate="1">
<record forcecreate="True" id="cron_download_data" model="ir.cron">
<field name="name">Download Data</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_admin"/>
<field name="interval_number">10</field>
<field name="interval_type">minutes</field>
<field name="numbercall">-1</field>
<field name="model_id" ref="hr_zk_attendance.model_biometric_device_details"/>
<field name="state">code</field>
<field name="code">model.cron_download()</field>
</record>
</odoo>

6
hr_zk_attendance/doc/RELEASE_NOTES.md

@ -11,3 +11,9 @@
##### UPDT
- Added a new feature to Set the timezone for the device.
#### 31.07.2024
#### Version 17.0.1.2.2
##### UPDT
- Added a new feature to schedule attendance downloading

10
hr_zk_attendance/models/biometric_device_details.py

@ -22,7 +22,7 @@
import datetime
import logging
import pytz
from odoo import fields, models, _
from odoo import api, fields, models, _
from odoo.exceptions import UserError, ValidationError
_logger = logging.getLogger(__name__)
@ -74,6 +74,7 @@ class BiometricDeviceDetails(models.Model):
}
except Exception as error:
raise ValidationError(f'{error}')
def action_set_timezone(self):
"""Function to set user's timezone to device"""
for info in self:
@ -109,7 +110,6 @@ class BiometricDeviceDetails(models.Model):
raise UserError(_(
"Please Check the Connection"))
def action_clear_attendance(self):
"""Methode to clear record from the zk.machine.attendance model and
from the device"""
@ -146,6 +146,12 @@ class BiometricDeviceDetails(models.Model):
except Exception as error:
raise ValidationError(f'{error}')
@api.model
def cron_download(self):
machines = self.env['biometric.device.details'].search([])
for machine in machines:
machine.action_download_attendance()
def action_download_attendance(self):
"""Function to download attendance records from the device"""
_logger.info("++++++++++++Cron Executed++++++++++++++++++++++")

Loading…
Cancel
Save