Пример #1
0
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
Пример #2
0
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
Пример #3
0
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)
Пример #4
0
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)