32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from odoo import api, fields, models, tools
|
|
from odoo.exceptions import ValidationError
|
|
|
|
|
|
class AttendanceIot(models.Model):
|
|
_name = 'attendance.iot'
|
|
_description = '考勤机设备'
|
|
_rec_name = 'name'
|
|
|
|
name = fields.Char(string="设备号")
|
|
attendance_address = fields.Char(string="设备地址")
|
|
broker = fields.Char(string='服务器地址/ip')
|
|
port = fields.Char(string='端口号')
|
|
number = fields.Integer(string="数量", compute="compute_iot_num")
|
|
id_valid = fields.Datetime(string="设备有效期")
|
|
company_id = fields.Many2one('res.company', string="公司")
|
|
employee_ids = fields.Many2many('hr.employee', string="员工")
|
|
|
|
def open_record(self):
|
|
self.ensure_one()
|
|
return {
|
|
'name': '设备关联用户',
|
|
'type': 'ir.actions.act_window',
|
|
'res_model': 'attendance.iot.user',
|
|
'view_mode': 'tree',
|
|
'domain': [('attendance_iot_id', '=', self.id)],
|
|
}
|
|
|
|
def compute_iot_num(self):
|
|
for num in self:
|
|
num.number = len(self.env['attendance.iot.user'].search([('attendance_iot_id', '=', num.id)]))
|