def check_device(request, allow_create=True): ''' 根据设备的http请求 检查设备的注册情况返回有效设备对象 涉及http参数 HITACDMFun、SN、device_type ''' # try: #---参数 HITACDMFun 必须为 ['HIT','HIT Corporation','iCON','Rentris','Secure'] 成员 # re_device = request.GET["HITACDMFun"] # if re_device: # if re_device not in ['HIT','HIT Corporation','iCON','Rentris','Secure']: # return None # else: # return None # except: # return None from cmds_api import check_and_init_cmds_cache from protocol_content import POSDEVICE try: sn = request.GET["SN"] except: sn = request.raw_post_data.split("SN=")[1].split("&")[0] try: device = get_device(sn) except ObjectDoesNotExist: #---正在请求服务器的设备没有登记过 from mysite.utils import get_option if get_option("ATT") and allow_create and not request.REQUEST.has_key( 'PIN') and ( #没有查询用户信息的话,可以注册该考勤机 len(sn) >= 6 and settings.ICLOCK_AUTO_REG): #若SN正确,且设置可以自动注册 from mysite.personnel.models.model_area import Area device = Device( sn=sn, alias="auto_add", #---设备别名 last_activity=datetime.datetime.now(), area=Area.objects.get( pk=1), #Area.objects.all()[0], #---默认设在第一个考勤区域 ipaddress=request.META["REMOTE_ADDR"]) device.save(force_insert=True, log_msg=False) append_dev_cmd(device, "INFO") #---添加设备请求命令 定义此为 INFO 操作 else: return None if device.status in (STATUS_STOP, STATUS_PAUSED): #--- 设备处于暂停或者停止状态 return None check_and_init_cmds_cache(device) #检查缓存命令结构是否存在,如果不存在初始化缓存命令结构 device.last_activity = datetime.datetime.now() deviceType = request.REQUEST.get('device_type') if (deviceType == POSDEVICE): #消费机 device.deviceType = POSDEVICE else: device.deviceType = "" return device
def check_device(request, allow_create=True): ''' 根据设备的http请求 检查设备的注册情况返回有效设备对象 涉及http参数 HITACDMFun、SN、device_type ''' # try: #---参数 HITACDMFun 必须为 ['HIT','HIT Corporation','iCON','Rentris','Secure'] 成员 # re_device = request.GET["HITACDMFun"] # if re_device: # if re_device not in ['HIT','HIT Corporation','iCON','Rentris','Secure']: # return None # else: # return None # except: # return None from mysite.iclock.cache_cmds import check_and_init_cmds_cache try: sn = request.GET["SN"] except: sn = request.raw_post_data.split("SN=")[1].split("&")[0] try: device=get_device(sn) except ObjectDoesNotExist: #---正在请求服务器的设备没有登记过 from mysite.utils import get_option if get_option("ATT") and allow_create and not request.REQUEST.has_key('PIN') and ( #没有查询用户信息的话,可以注册该考勤机 len(sn) >= 6 and settings.ICLOCK_AUTO_REG): #若SN正确,且设置可以自动注册 from mysite.personnel.models.model_area import Area device = Device( sn=sn, alias="auto_add", #---设备别名 last_activity=datetime.datetime.now(), area=Area.objects.get(pk=1),#Area.objects.all()[0], #---默认设在第一个考勤区域 ipaddress=request.META["REMOTE_ADDR"]) device.save(force_insert=True, log_msg=False) append_dev_cmd(device, "INFO") #---添加设备请求命令 定义此为 INFO 操作 else: return None if device.status in (STATUS_STOP, STATUS_PAUSED): #--- 设备处于暂停或者停止状态 return None check_and_init_cmds_cache(device) #检查缓存命令结构是否存在,如果不存在初始化缓存命令结构 device.last_activity=datetime.datetime.now() deviceType = request.REQUEST.get('device_type') if(deviceType==POSDEVICE):#消费机 device.deviceType = POSDEVICE else: device.deviceType = "" return device
def delete_emp_data(pin): endTime = datetime.datetime.now() + datetime.timedelta(0, 5 * 60) append_dev_cmd(device, "DATA DEL_USER PIN=%s" % emp.pin(), None, endTime)