diff --git a/oh_hr_zk_attendance/README.rst b/oh_hr_zk_attendance/README.rst deleted file mode 100644 index b2c34c341..000000000 --- a/oh_hr_zk_attendance/README.rst +++ /dev/null @@ -1,33 +0,0 @@ -Biometric Device Integration v10 -================================ -This Cybrosys's module integrates Odoo attendance with biometric device attendance. - -Features -======== -* Ingrates biometric device(Face+Thumb) with HR attendance. -* Managing attendance automatically -* Keeps zk machine history in Odoo -* Option to configure multiple zk devices -* Option to clear all zk history from both device and Odoo - -Technical Notes -=============== -Used Libraries: - -*This integration is only applicable for the the device ZKteco model 'uFace 202' & 'iFace990' -* zklib -you can install zklib library using "sudo pip install zklib" - -Compatible Devices - -*ZKteco model 'uFace 202' -*ZKteco model 'iFace990' - -Author -======= -* Cybrosys Techno Solutions - -Credits -======= -Developer: Jesni Banu @ cybrosys, jesni@cybrosys.in - diff --git a/oh_hr_zk_attendance/__init__.py b/oh_hr_zk_attendance/__init__.py deleted file mode 100644 index 4bed5090d..000000000 --- a/oh_hr_zk_attendance/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import models -from . import wizard diff --git a/oh_hr_zk_attendance/__manifest__.py b/oh_hr_zk_attendance/__manifest__.py deleted file mode 100644 index 84dd75f49..000000000 --- a/oh_hr_zk_attendance/__manifest__.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### -{ - 'name': 'Open HRMS Biometric Device Integration', - 'version': '11.0.1.0.0', - 'summary': """Integrating Biometric Device With HR Attendance (Face + Thumb)""", - 'description': 'This module integrates Odoo with the biometric device(Model: ZKteco uFace 202)', - 'category': 'Generic Modules/Human Resources', - 'author': 'Cybrosys Techno Solutions', - 'company': 'Cybrosys Techno Solutions', - 'website': "https://www.openhrms.com", - 'depends': ['base_setup', 'hr_attendance'], - 'data': [ - 'security/ir.model.access.csv', - 'wizard/generate_attendance.xml', - 'views/zk_machine_view.xml', - 'views/zk_machine_attendance_view.xml', - ], - 'images': ['static/description/banner.gif'], - 'license': 'AGPL-3', - 'external_dependencies': { - 'python': ['zklib'] - }, - 'demo': [], - 'images': ['static/description/banner.jpg'], - 'license': 'AGPL-3', - 'installable': False, - 'auto_install': False, - 'application': False, -} diff --git a/oh_hr_zk_attendance/doc/RELEASE_NOTES.md b/oh_hr_zk_attendance/doc/RELEASE_NOTES.md deleted file mode 100644 index ef01e947d..000000000 --- a/oh_hr_zk_attendance/doc/RELEASE_NOTES.md +++ /dev/null @@ -1,6 +0,0 @@ -## Module - -#### 24.04.2018 -#### Version 11.0.1.0.0 -##### ADD -- Initial commit for Open HRMS Project diff --git a/oh_hr_zk_attendance/models/__init__.py b/oh_hr_zk_attendance/models/__init__.py deleted file mode 100644 index 055de287c..000000000 --- a/oh_hr_zk_attendance/models/__init__.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2017-TODAY Cybrosys Technologies(). -# Author: Jesni Banu() -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### -from . import zk_machine -from . import machine_analysis - - - diff --git a/oh_hr_zk_attendance/models/__pycache__/__init__.cpython-35.pyc b/oh_hr_zk_attendance/models/__pycache__/__init__.cpython-35.pyc deleted file mode 100644 index f229db2a6..000000000 Binary files a/oh_hr_zk_attendance/models/__pycache__/__init__.cpython-35.pyc and /dev/null differ diff --git a/oh_hr_zk_attendance/models/__pycache__/machine_analysis.cpython-35.pyc b/oh_hr_zk_attendance/models/__pycache__/machine_analysis.cpython-35.pyc deleted file mode 100644 index a72f49b5d..000000000 Binary files a/oh_hr_zk_attendance/models/__pycache__/machine_analysis.cpython-35.pyc and /dev/null differ diff --git a/oh_hr_zk_attendance/models/__pycache__/zk_machine.cpython-35.pyc b/oh_hr_zk_attendance/models/__pycache__/zk_machine.cpython-35.pyc deleted file mode 100644 index 6097d1bad..000000000 Binary files a/oh_hr_zk_attendance/models/__pycache__/zk_machine.cpython-35.pyc and /dev/null differ diff --git a/oh_hr_zk_attendance/models/machine_analysis.py b/oh_hr_zk_attendance/models/machine_analysis.py deleted file mode 100644 index c24395668..000000000 --- a/oh_hr_zk_attendance/models/machine_analysis.py +++ /dev/null @@ -1,100 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### -from odoo import tools -from odoo import models, fields, api, _ - - -class HrEmployee(models.Model): - _inherit = 'hr.employee' - - device_id = fields.Char(string='Biometric Device ID', help='ID created in Biometric Device') - - -class ZkMachine(models.Model): - _name = 'zk.machine.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 = fields.Char(string='Biometric Device ID') - 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') - - attendance_type = fields.Selection([('1', 'Thump'), - ('15', 'Face')], string='Category') - punching_time = fields.Datetime(string='Punching Time') - address_id = fields.Many2one('res.partner', string='Working Address') - - -class ReportZkDevice(models.Model): - _name = 'zk.report.daily.attendance' - _auto = False - _order = 'punching_day desc' - - name = fields.Many2one('hr.employee', string='Employee') - punching_day = fields.Date(string='Date') - address_id = fields.Many2one('res.partner', string='Working Address') - attendance_type = fields.Selection([('1', 'Thump'), - ('15', 'Face')], - string='Category', help='Type of Detecting Attendance') - 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='Type of Punching') - punching_time = fields.Datetime(string='Punching Time') - - def init(self): - tools.drop_view_if_exists(self._cr, 'zk_report_daily_attendance') - self._cr.execute(""" - create or replace view zk_report_daily_attendance as ( - select - min(z.id) as id, - z.employee_id as name, - 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 - 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 - ) - """) - - diff --git a/oh_hr_zk_attendance/models/zk_machine.py b/oh_hr_zk_attendance/models/zk_machine.py deleted file mode 100644 index 6ff031d3c..000000000 --- a/oh_hr_zk_attendance/models/zk_machine.py +++ /dev/null @@ -1,274 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### -import pytz -import sys -import datetime -try: - from zklib import zklib - from zklib.zkconst import * - sys.path.append("zklib") -except ImportError: - pass -from struct import unpack -from odoo import api, fields, models -from odoo import _ -from odoo.exceptions import UserError, ValidationError - - -class HrAttendance(models.Model): - _inherit = 'hr.attendance' - - device_id = fields.Char(string='Biometric Device ID', help='Select the ZK device') - - -class ZkMachine(models.Model): - _name = 'zk.machine' - - name = fields.Char(string='Machine IP', required=True, help='IP address of ZK Machine') - port_no = fields.Integer(string='Port No', required=True, help='Port number of ZK Machine') - address_id = fields.Many2one('res.partner', string='Working Address') - company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.user.company_id.id) - - @api.multi - def device_connect(self, zk): - try: - command = CMD_CONNECT - command_string = '' - chksum = 0 - session_id = 0 - reply_id = -1 + USHRT_MAX - buf = zk.createHeader(command, chksum, session_id, - reply_id, command_string) - zk.zkclient.sendto(buf, zk.address) - try: - zk.data_recv, addr = zk.zkclient.recvfrom(1024) - zk.session_id = unpack('HHHH', zk.data_recv[:8])[2] - command = unpack('HHHH', zk.data_recv[:8])[0] - if command == 2005: - conn = True - else: - conn = False - except: - conn = False - return conn - except: - pass - - @api.multi - def clear_attendance(self): - for info in self: - try: - machine_ip = info.name - port = info.port_no - zk = zklib.ZKLib(machine_ip, port) - conn = self.device_connect(zk) - if conn: - zk.enableDevice() - clear_data = zk.getAttendance() - if clear_data: - zk.clearAttendance() - self._cr.execute("""delete from zk_machine_attendance""") - else: - 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.')) - except: - raise ValidationError('Warning !!! Machine is not connected') - - def getSizeUser(self, zk): - """Checks a returned packet to see if it returned CMD_PREPARE_DATA, - indicating that data packets are to be sent - - Returns the amount of bytes that are going to be sent""" - command = unpack('HHHH', zk.data_recv[:8])[0] - if command == CMD_PREPARE_DATA: - size = unpack('I', zk.data_recv[8:12])[0] - return size - else: - return False - - def zkgetuser(self, zk): - """Start a connection with the time clock""" - command = CMD_USERTEMP_RRQ - command_string = '\x05' - chksum = 0 - session_id = zk.session_id - reply_id = unpack('HHHH', zk.data_recv[:8])[3] - - buf = zk.createHeader(command, chksum, session_id, reply_id, command_string) - zk.zkclient.sendto(buf, zk.address) - try: - zk.data_recv, addr = zk.zkclient.recvfrom(1024) - - if self.getSizeUser(zk): - bytes = self.getSizeUser(zk) - - while bytes > 0: - data_recv, addr = zk.zkclient.recvfrom(1032) - zk.userdata.append(data_recv) - bytes -= 1024 - - zk.session_id = unpack('HHHH', zk.data_recv[:8])[2] - data_recv = zk.zkclient.recvfrom(8) - - users = {} - if len(zk.userdata) > 0: - userdata = ''.join(zk.userdata[0]) - userdata = userdata[11:] - while len(userdata) > 72: - uid, role, password, name, userid = unpack('2s2s8s28sx31s', userdata.ljust(72)[:72]) - uid = int(uid.encode("hex"), 16) - # Clean up some messy characters from the user name - password = password.split('\x00', 1)[0] - password = unicode(password.strip('\x00|\x01\x10x|\x000'), errors='ignore') - # uid = uid.split('\x00', 1)[0] - userid = unicode(userid.strip('\x00|\x01\x10x|\x000|\x9aC'), errors='ignore') - name = name.split('\x00', 1)[0] - if name.strip() == "": - name = uid - users[uid] = (userid, name, int(role.encode("hex"), 16), password) - userdata = userdata[72:] - return users - except: - return False - - @api.multi - def download_attendance(self): - zk_attendance = self.env['zk.machine.attendance'] - att_obj = self.env['hr.attendance'] - for info in self: - machine_ip = info.name - port = info.port_no - zk = zklib.ZKLib(machine_ip, port) - conn = self.device_connect(zk) - if conn: - zk.enableDevice() - user = self.zkgetuser(zk) - command = CMD_ATTLOG_RRQ - command_string = '' - chksum = 0 - session_id = zk.session_id - reply_id = unpack('HHHH', zk.data_recv[:8])[3] - buf = zk.createHeader(command, chksum, session_id, - reply_id, command_string) - zk.zkclient.sendto(buf, zk.address) - try: - zk.data_recv, addr = zk.zkclient.recvfrom(1024) - command = unpack('HHHH', zk.data_recv[:8])[0] - if command == CMD_PREPARE_DATA: - size = unpack('I', zk.data_recv[8:12])[0] - zk_size = size - else: - zk_size = False - if zk_size: - bytes = zk_size - while bytes > 0: - data_recv, addr = zk.zkclient.recvfrom(1032) - zk.attendancedata.append(data_recv) - bytes -= 1024 # 1024 - zk.session_id = unpack('HHHH', zk.data_recv[:8])[2] - data_recv = zk.zkclient.recvfrom(8) - attendance = [] - if len(zk.attendancedata) > 0: - # The first 4 bytes don't seem to be related to the user - for x in xrange(len(zk.attendancedata)): - if x > 0: - zk.attendancedata[x] = zk.attendancedata[x][8:] - attendancedata = ''.join(zk.attendancedata) - attendancedata = attendancedata[14:] - while len(attendancedata) > 0: - uid, state, timestamp, space = unpack('24s1s4s11s', attendancedata.ljust(40)[:40]) - pls = unpack('c', attendancedata[29:30]) - uid = uid.split('\x00', 1)[0] - tmp = '' - for i in reversed(xrange(len(timestamp.encode('hex')) / 2)): - tmp += timestamp.encode('hex')[i * 2:(i * 2) + 2] - attendance.append((uid, int(state.encode('hex'), 16), - decode_time(int(tmp, 16)), unpack('HHHH', space[:8])[0])) - attendancedata = attendancedata[40:] - except: - attendance = False - if attendance: - for each in attendance: - atten_time = each[2] - atten_time = datetime.strptime( - atten_time.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') - 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.strptime( - utc_dt, "%Y-%m-%d %H:%M:%S") - atten_time = fields.Datetime.to_string(atten_time) - if user: - for uid in user: - if user[uid][0] == str(each[0]): - get_user_id = self.env['hr.employee'].search( - [('device_id', '=', str(each[0]))]) - if get_user_id: - duplicate_atten_ids = zk_attendance.search( - [('device_id', '=', str(each[0])), ('punching_time', '=', atten_time)]) - if duplicate_atten_ids: - continue - else: - zk_attendance.create({'employee_id': get_user_id.id, - 'device_id': each[0], - 'attendance_type': str(each[1]), - 'punch_type': str(each[3]), - 'punching_time': atten_time, - 'address_id': info.address_id.id}) - att_var = att_obj.search([('employee_id', '=', get_user_id.id), - ('check_out', '=', False)]) - if each[3] == 0: - if not att_var: - att_obj.create({'employee_id': get_user_id.id, - 'check_in': atten_time}) - if each[3] == 1: - if len(att_var) == 1: - att_var.write({'check_out': atten_time}) - else: - att_var1 = att_obj.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': str(each[0]), 'name': user[uid][1]}) - zk_attendance.create({'employee_id': employee.id, - 'device_id': each[0], - 'attendance_type': str(each[1]), - 'punch_type': str(each[3]), - 'punching_time': atten_time, - 'address_id': info.address_id.id}) - att_obj.create({'employee_id': employee.id, - 'check_in': atten_time}) - else: - pass - zk.enableDevice() - zk.disconnect() - return True - else: - 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.')) diff --git a/oh_hr_zk_attendance/security/ir.model.access.csv b/oh_hr_zk_attendance/security/ir.model.access.csv deleted file mode 100644 index 438279985..000000000 --- a/oh_hr_zk_attendance/security/ir.model.access.csv +++ /dev/null @@ -1,4 +0,0 @@ -id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink -access_hr_zk_machine_user,zk.machine.hr_biometric_machine,model_zk_machine,hr_attendance.group_hr_attendance_user,1,1,1,1 -access_hr_zk_machine_user1,zk.machine.hr_biometric_machine1,model_zk_machine_attendance,hr_attendance.group_hr_attendance_user,1,1,1,1 -access_hr_zk_machine_user2,zk.machine.hr_biometric_machine2,model_zk_report_daily_attendance,hr_attendance.group_hr_attendance_user,1,1,1,1 diff --git a/oh_hr_zk_attendance/static/description/HRMS-BUTTON.png b/oh_hr_zk_attendance/static/description/HRMS-BUTTON.png deleted file mode 100644 index 0f1b65bea..000000000 Binary files a/oh_hr_zk_attendance/static/description/HRMS-BUTTON.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/attendance_log.png b/oh_hr_zk_attendance/static/description/attendance_log.png deleted file mode 100644 index 33f452bdc..000000000 Binary files a/oh_hr_zk_attendance/static/description/attendance_log.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/banner.jpg b/oh_hr_zk_attendance/static/description/banner.jpg deleted file mode 100644 index acc34b287..000000000 Binary files a/oh_hr_zk_attendance/static/description/banner.jpg and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/cybro-service.png b/oh_hr_zk_attendance/static/description/cybro-service.png deleted file mode 100644 index 252929a86..000000000 Binary files a/oh_hr_zk_attendance/static/description/cybro-service.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/cybro_logo.png b/oh_hr_zk_attendance/static/description/cybro_logo.png deleted file mode 100644 index bb309114c..000000000 Binary files a/oh_hr_zk_attendance/static/description/cybro_logo.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/devicelog.png b/oh_hr_zk_attendance/static/description/devicelog.png deleted file mode 100644 index d38a4253a..000000000 Binary files a/oh_hr_zk_attendance/static/description/devicelog.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/employee.png b/oh_hr_zk_attendance/static/description/employee.png deleted file mode 100644 index 960dafcdb..000000000 Binary files a/oh_hr_zk_attendance/static/description/employee.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/icon.png b/oh_hr_zk_attendance/static/description/icon.png deleted file mode 100644 index 396f97c37..000000000 Binary files a/oh_hr_zk_attendance/static/description/icon.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/index.html b/oh_hr_zk_attendance/static/description/index.html deleted file mode 100644 index 336ed0457..000000000 --- a/oh_hr_zk_attendance/static/description/index.html +++ /dev/null @@ -1,107 +0,0 @@ -
-
-

Open HRMS

-

Most advanced open source HR management software

-
-
- -
-
-
-
- - - - -
-
-
-
- -
-
-

Open HRMS Biometric Device Integration

-

This Module Integrates Biometric Device With HR Attendance

-

Cybrosys Technologies

-
-
-
- Ingrates biometric device(Face+Thumb) with HR attendance.
- Option to keep the device attendance log in Odoo.
- Option to clear the device attendance log from both device and Odoo.
- Automating HR attendance.
- Option to configure multiple devices.
-
-

-
- - This module will support with
-
    -
  • ZKteco model 'uFace 202'
  • -
  • ZKteco model 'iFace990'
  • -
-
-
-
-
- -
-
-
-

Overview

-

- Automation is an implementation factor for a successful ERP. With this module, - HR attendance can automate by integrating Thumb / Face detection device with Odoo. - We can configure a user both from thumbing device or Odoo employee form. -

-
-
-
- -
-
- Note:- This integration is only applicable for the the device ZKteco model 'uFace 202'
- Please install zklib library (sudo pip install zklib)
-
-
- -
-
-

Our Odoo Services

-
-
-
- - - -
-
-
- -
-

Need Any Help?

- -
- diff --git a/oh_hr_zk_attendance/static/description/zk_config.png b/oh_hr_zk_attendance/static/description/zk_config.png deleted file mode 100644 index a09abdcd5..000000000 Binary files a/oh_hr_zk_attendance/static/description/zk_config.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/zk_warn2.png b/oh_hr_zk_attendance/static/description/zk_warn2.png deleted file mode 100644 index 4b213123d..000000000 Binary files a/oh_hr_zk_attendance/static/description/zk_warn2.png and /dev/null differ diff --git a/oh_hr_zk_attendance/static/description/zk_warning.png b/oh_hr_zk_attendance/static/description/zk_warning.png deleted file mode 100644 index 4b6670aa6..000000000 Binary files a/oh_hr_zk_attendance/static/description/zk_warning.png and /dev/null differ diff --git a/oh_hr_zk_attendance/views/zk_machine_attendance_view.xml b/oh_hr_zk_attendance/views/zk_machine_attendance_view.xml deleted file mode 100644 index c88da6d33..000000000 --- a/oh_hr_zk_attendance/views/zk_machine_attendance_view.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - zk.report.daily.attendance.search - zk.report.daily.attendance - - - - - - - - - - zk.report.daily.attendance.tree - zk.report.daily.attendance - - - - - - - - - - - - - - Attendance Analysis - zk.report.daily.attendance - form - tree - {'search_default_my_attendance':1} - - - - - diff --git a/oh_hr_zk_attendance/views/zk_machine_view.xml b/oh_hr_zk_attendance/views/zk_machine_view.xml deleted file mode 100644 index f987bbff5..000000000 --- a/oh_hr_zk_attendance/views/zk_machine_view.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - zk.machine.form - zk.machine - -
- -
-
- - - - - - - - - -
-
-
-
- - - zk.machine.tree - zk.machine - - - - - - - - - - - - Attendances - zk.machine - form - tree,form - - - - Generate Attendances - zk.attendance - form - form - new - - - - hr.employee.form - hr.employee - - - - - - - - - - - - -
- diff --git a/oh_hr_zk_attendance/wizard/__init__.py b/oh_hr_zk_attendance/wizard/__init__.py deleted file mode 100644 index 35ff76b13..000000000 --- a/oh_hr_zk_attendance/wizard/__init__.py +++ /dev/null @@ -1,24 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### - -from . import generate_attendance diff --git a/oh_hr_zk_attendance/wizard/__pycache__/__init__.cpython-35.pyc b/oh_hr_zk_attendance/wizard/__pycache__/__init__.cpython-35.pyc deleted file mode 100644 index 32ee29a61..000000000 Binary files a/oh_hr_zk_attendance/wizard/__pycache__/__init__.cpython-35.pyc and /dev/null differ diff --git a/oh_hr_zk_attendance/wizard/__pycache__/generate_attendance.cpython-35.pyc b/oh_hr_zk_attendance/wizard/__pycache__/generate_attendance.cpython-35.pyc deleted file mode 100644 index 075e1b851..000000000 Binary files a/oh_hr_zk_attendance/wizard/__pycache__/generate_attendance.cpython-35.pyc and /dev/null differ diff --git a/oh_hr_zk_attendance/wizard/generate_attendance.py b/oh_hr_zk_attendance/wizard/generate_attendance.py deleted file mode 100644 index 2b7db6d54..000000000 --- a/oh_hr_zk_attendance/wizard/generate_attendance.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- -################################################################################### -# A part of OpenHRMS Project -# -# Cybrosys Technologies Pvt. Ltd. -# Copyright (C) 2018-TODAY Cybrosys Technologies (). -# Author: Jesni Banu () -# -# This program is free software: you can modify -# it under the terms of the GNU Affero General Public License (AGPL) as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -################################################################################### - -from odoo import models, fields - - -class ZkAttendanceConfig(models.TransientModel): - _name = 'zk.attendance' - - device_id = fields.Many2one('zk.machine', string='Device ID') - - def download_attendance(self): - self.device_id.download_attendance() - - def clear_attendance(self): - self.device_id.clear_attendance() diff --git a/oh_hr_zk_attendance/wizard/generate_attendance.xml b/oh_hr_zk_attendance/wizard/generate_attendance.xml deleted file mode 100644 index 6445e7f45..000000000 --- a/oh_hr_zk_attendance/wizard/generate_attendance.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - zk.attendance.form - zk.attendance - -
- - - - -
-
-
-
\ No newline at end of file diff --git a/ohrms_core/static/description/banner.jpg b/ohrms_core/static/description/banner.jpg index 86002370d..d3cd63049 100644 Binary files a/ohrms_core/static/description/banner.jpg and b/ohrms_core/static/description/banner.jpg differ