Ejemplo n.º 1
0
def search_device(request):
    ip_address = request.GET.get('ip_address', '')
    device_name = request.GET.get('device_name', '')
    if ip_address != '' and device_name == '':
        device_all_list = Device.objects.filter(device_ip=ip_address)
    elif device_name != '' and ip_address == '':
        device_all_list = Device.objects.filter(
            device_name__icontains=device_name)
    elif ip_address != '' and device_name != '':
        device_all_list = Device.objects.filter(
            device_name__icontains=device_name, device_ip=ip_address)
    else:
        device_all_list = Device.objects.all()

    page_of_objects, page_range = pages(request, device_all_list)

    context = {}
    context['devices'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['search_device_name'] = device_name
    context['search_ip_address'] = ip_address
    context['count'] = Device.objects.all().count()

    return render(request, 'device_list.html', context)
Ejemplo n.º 2
0
def search_porterror_fix(request):
    context = {}
    port_error_fix_record_search_form = PortErrorFixRecordSearchForm(
        request.GET)
    if port_error_fix_record_search_form.is_valid():
        time_begin = port_error_fix_record_search_form.cleaned_data[
            'time_begin']
        time_end = port_error_fix_record_search_form.cleaned_data['time_end']
        fix_records = PortErrorFixRecord.objects.exclude(
            problem_detail__icontains='系统自判').filter(
                begin_time__range=(time_begin,
                                   time_end)).order_by('-begin_time')
    else:
        context[
            'port_error_fix_record_search_form'] = PortErrorFixRecordSearchForm(
            )
        return render(request, 'port_error_fix_record_list.html', context)

    page_of_objects, page_range = pages(request, fix_records)

    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['time_begin'] = timezone.datetime.strftime(time_begin,
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_end,
                                                     '%Y-%m-%d+%H:%M:%S')
    context[
        'port_error_fix_record_search_form'] = port_error_fix_record_search_form
    return render(request, 'port_error_fix_record_list.html', context)
Ejemplo n.º 3
0
def search_group_client(request):
    context = {}
    group_client_search_form = GroupClientSearchForm(request.GET)
    if group_client_search_form.is_valid():
        client_name = group_client_search_form.cleaned_data['client_name']
        product_id = group_client_search_form.cleaned_data['product_id']
        if client_name != '' and product_id is None:
            group_client_all_list = ZxClientInfo.objects.raw(
                __GROUP_CLIENT_QUERY +
                "HAVING client_info.client_name like '%{}%'".format(
                    client_name))
        elif client_name == '' and product_id is not None:
            group_client_all_list = ZxClientInfo.objects.raw(
                __GROUP_CLIENT_QUERY +
                "HAVING client_info.product_id = {}".format(product_id))
        elif client_name != '' and product_id is not None:
            group_client_all_list = ZxClientInfo.objects.raw(
                __GROUP_CLIENT_QUERY +
                "HAVING client_info.client_name like '%{}%' and client_info.product_id = {}"
                .format(client_name, product_id))
        else:
            group_client_all_list = ZxClientInfo.objects.raw(
                __GROUP_CLIENT_QUERY)
    else:
        context['group_client_search_form'] = group_client_search_form
        return render(request, 'group_client_list.html', context)
    page_of_objects, page_range = pages(request, group_client_all_list)
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['group_client_search_form'] = group_client_search_form
    return render(request, 'group_client_list.html', context)
Ejemplo n.º 4
0
def search_oneway(request):
    context = {}
    oneway_search_form = OneWaySearchForm(request.GET)
    if oneway_search_form.is_valid():
        time_begin = oneway_search_form.cleaned_data['time_begin']
        time_end = oneway_search_form.cleaned_data['time_end']
        device_name = oneway_search_form.cleaned_data['device_name']
        device_filter = ''
        if device_name != '' or device_name is not None:
            device_filter = "HAVING device_name like '%{}%' ".format(
                device_name)
        oneway_all_list = OneWayDevice.objects.raw(
            __QUERY_ONEWAY_LIST + device_filter + __ONEWAY_ORDER_FIELD,
            (time_begin, time_end))
    else:
        context['oneway_search_form'] = oneway_search_form
        context['oneway_tag_form'] = OneWayTagForm()
        return render(request, 'oneway_list.html', context)

    page_of_objects, page_range = pages(request, oneway_all_list)

    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context[
        'search_paras'] = 'time_begin={}&time_end={}&device_name={}'.format(
            timezone.datetime.strftime(time_begin, '%Y-%m-%d+%H:%M:%S'),
            timezone.datetime.strftime(time_end, '%Y-%m-%d+%H:%M:%S'),
            device_name)
    context['oneway_search_form'] = oneway_search_form
    context['oneway_tag_form'] = OneWayTagForm()
    return render(request, 'oneway_list.html', context)
Ejemplo n.º 5
0
def porterror_fix_list(request):
    context = {}
    time_begin = request.GET.get('time_begin', '')
    time_end = request.GET.get('time_end', '')
    if time_begin == '' or time_end == '':
        today_time = timezone.datetime.now()
        time_end = timezone.datetime(year=today_time.year,
                                     month=today_time.month,
                                     day=today_time.day,
                                     hour=23,
                                     minute=59,
                                     second=59)
        time_begin = time_end + timezone.timedelta(days=-2)  # 默认下载当天的数据
    else:
        time_begin = timezone.datetime.strptime(time_begin,
                                                '%Y-%m-%d %H:%M:%S')
        time_end = timezone.datetime.strptime(time_end, '%Y-%m-%d %H:%M:%S')
    # fix_records = PortErrorFixRecord.objects.all().order_by('-begin_time')
    fix_records = PortErrorFixRecord.objects.exclude(
        problem_detail__icontains='系统自判').order_by('-begin_time')
    page_of_objects, page_range = pages(request, fix_records)

    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['time_begin'] = timezone.datetime.strftime(time_begin,
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_end,
                                                     '%Y-%m-%d+%H:%M:%S')
    context[
        'port_error_fix_record_search_form'] = PortErrorFixRecordSearchForm()
    return render(request, 'port_error_fix_record_list.html', context)
Ejemplo n.º 6
0
def port_error_list(request):
    order_field = request.GET.get('order_field', 'crc')
    time_begin, time_end = getDateRange(-2)  # 默认-2
    time_range = (time_begin, time_end)
    porterror_query = __queryline(order_field)
    porterror_all_list = PortErrorDiff.objects.raw(
        porterror_query, (time_begin, time_end, time_begin, time_end))
    page_of_objects, page_range = pages(request, porterror_all_list)
    my_tasks_cnt = 0
    if request.user.is_authenticated:
        my_tasks_cnt = PortErrorFixRecord.objects.filter(
            worker=request.user.first_name, status=False).count()

    context = {}
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['time_begin'] = timezone.datetime.strftime(time_range[0],
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_range[1],
                                                     '%Y-%m-%d+%H:%M:%S')
    context['order_field'] = order_field
    context['my_tasks_cnt'] = my_tasks_cnt
    context['porterror_search_form'] = PortErrorSearchForm()
    return render(request, 'port_error_list.html', context)
Ejemplo n.º 7
0
def device_list(request):
    device_all_list = Device.objects.all()
    page_of_objects, page_range = pages(request, device_all_list)

    context = {}
    context['devices'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['count'] = Device.objects.all().count()
    return render(request, 'device_list.html', context)
Ejemplo n.º 8
0
def group_client_list(request):
    context = {}
    group_client_all_list = ZxClientInfo.objects.raw(__GROUP_CLIENT_QUERY)
    page_of_objects, page_range = pages(request, group_client_all_list)

    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['group_client_search_form'] = GroupClientSearchForm()
    return render(request, 'group_client_list.html', context)
Ejemplo n.º 9
0
def my_port_error_tasks(request):
    context = {}
    worker = request.user.first_name
    porterror_query = __QUERY_MY_FIX_TASKS
    porterror_all_list = PortErrorDiff.objects.raw(porterror_query, (worker, ))
    page_of_objects, page_range = pages(request, porterror_all_list)
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    return render(request, 'my_port_error_tasks.html', context)
Ejemplo n.º 10
0
def natpool_list(request):
    context = {}
    natpool_all_list = NatPoolUsage.objects.filter(
        record_time__range=getDateRange(-2)).annotate(
            nat_total=(F('device1_nat_usage') +
                       F('device2_nat_usage'))).order_by(
                           F('nat_total').desc())
    page_of_objects, page_range = pages(request, natpool_all_list)
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['natpool_search_form'] = NatPoolSearchForm()
    return render(request, 'natpool.html', context)
Ejemplo n.º 11
0
def moudle_list(request):
    # 默认展示前3天数据
    moudle_all_list = OpticalMoudleDiff.objects.filter(
        record_time__range=getDateRange(-3))
    # moudle_all_list = OpticalMoudleDiff.objects.all()

    page_of_objects, page_range = pages(request, moudle_all_list)

    context = {}
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['moudle_search_form'] = MoudleSearchForm()
    return render(request, 'moudle_list.html', context)
Ejemplo n.º 12
0
def ping_result_detail(request):
    context = {}
    source_device = request.GET.get('source_device', '')
    target_device = request.GET.get('target_device', '')
    target_ip = request.GET.get('target_ip', '')
    time_begin, _ = getDateRange(-2)
    time_end, _ = getDateRange(-1)
    ping_detail_list = LinkPingTest.objects.filter(
        source_device=source_device,
        target_device=target_device,
        record_time__range=(time_begin, time_end)).order_by('-record_time')
    page_of_objects, page_range = pages(request, ping_detail_list)
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['search_paras'] = '&source_device={}&target_device={}'.format(
        source_device, target_device)
    return render(request, 'ping_result_detail.html', context)
Ejemplo n.º 13
0
def oneway_list(request):
    time_begin, time_end = getDateRange(-1)
    time_range = (time_begin, time_end)
    oneway_all_list = OneWayDevice.objects.raw(
        __QUERY_ONEWAY_LIST + __ONEWAY_ORDER_FIELD, time_range)
    page_of_objects, page_range = pages(request, oneway_all_list)
    context = {}
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    # context['time_begin'] = timezone.datetime.strftime(time_begin, '%Y-%m-%d+%H:%M:%S')
    # context['time_end'] = timezone.datetime.strftime(time_end, '%Y-%m-%d+%H:%M:%S')
    context[
        'search_paras'] = 'time_begin={}&time_end={}&device_name={}'.format(
            timezone.datetime.strftime(time_begin, '%Y-%m-%d+%H:%M:%S'),
            timezone.datetime.strftime(time_end, '%Y-%m-%d+%H:%M:%S'), '')
    context['oneway_search_form'] = OneWaySearchForm()
    context['oneway_tag_form'] = OneWayTagForm()
    return render(request, 'oneway_list.html', context)
Ejemplo n.º 14
0
def search_moudle(request):
    moudle_search_form = MoudleSearchForm(request.GET)
    if moudle_search_form.is_valid():
        device_name = moudle_search_form.cleaned_data['device_name']
        status = moudle_search_form.cleaned_data['status']
        time_begin = moudle_search_form.cleaned_data['time_begin']
        time_end = moudle_search_form.cleaned_data['time_end']
        time_range = (time_begin, time_end)
        if device_name != '':
            moudle_all_list = OpticalMoudleDiff.objects.filter(
                device_name__icontains=device_name,
                status__contains=status,
                record_time__range=time_range)
        elif status != '':
            moudle_all_list = OpticalMoudleDiff.objects.filter(
                status=status, record_time__range=time_range)
        else:
            moudle_all_list = OpticalMoudleDiff.objects.filter(
                record_time__range=time_range)
    else:
        context = {}
        context['moudle_search_form'] = moudle_search_form
        return render(request, 'moudle_list.html', context)
    page_of_objects, page_range = pages(request, moudle_all_list)

    context = {}
    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['search_device_name'] = device_name
    context['search_status'] = status
    context['time_begin'] = timezone.datetime.strftime(time_range[0],
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_range[1],
                                                     '%Y-%m-%d+%H:%M:%S')
    context['moudle_search_form'] = moudle_search_form

    return render(request, 'moudle_list.html', context)
Ejemplo n.º 15
0
def search_natpool(request):
    context = {}
    natpool_search_form = NatPoolSearchForm(request.GET)
    if natpool_search_form.is_valid():
        time_begin = natpool_search_form.cleaned_data['time_begin']
        time_end = natpool_search_form.cleaned_data['time_end']
        device_name = natpool_search_form.cleaned_data['device_name']
        if device_name != '':
            natpool_all_list = NatPoolUsage.objects.filter(
                Q(device1__icontains=device_name)
                | Q(device2__icontains=device_name),
                Q(record_time__range=(time_begin, time_end))).annotate(
                    nat_total=(F('device1_nat_usage') +
                               F('device2_nat_usage'))).order_by(
                                   F('nat_total').desc())
            context['search_device_name'] = device_name
        else:
            natpool_all_list = NatPoolUsage.objects.filter(
                record_time__range=(time_begin, time_end)).annotate(
                    nat_total=(F('device1_nat_usage') +
                               F('device2_nat_usage'))).order_by(
                                   F('nat_total').desc())
    else:
        context['natpool_search_form'] = natpool_search_form
        return render(request, 'natpool.html', context)

    page_of_objects, page_range = pages(request, natpool_all_list)

    context['records'] = page_of_objects
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['time_begin'] = timezone.datetime.strftime(time_begin,
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_end,
                                                     '%Y-%m-%d+%H:%M:%S')
    context['natpool_search_form'] = natpool_search_form
    return render(request, 'natpool.html', context)
Ejemplo n.º 16
0
def search_port_error(request):
    context = {}
    order_field = request.GET.get('order_field', 'crc')
    porterror_search_form = PortErrorSearchForm(request.GET)
    if porterror_search_form.is_valid():
        time_begin = porterror_search_form.cleaned_data['time_begin']
        time_end = porterror_search_form.cleaned_data['time_end']
        pwr_problem = porterror_search_form.cleaned_data['pwr_problem']
        otherCmd = ''
        if pwr_problem:
            otherCmd += 'HAVING tx_state = 0 OR rx_state = 0 '
        porterror_query = __queryline(order_field, otherCmd=otherCmd)
        porterror_all_list = PortErrorDiff.objects.raw(
            porterror_query, (time_begin, time_end, time_begin, time_end))
    else:
        context['porterror_search_form'] = porterror_search_form
        return render(request, 'port_error_list.html', context)

    page_of_objects, page_range = pages(request, porterror_all_list)
    my_tasks_cnt = 0
    if request.user.is_authenticated:
        my_tasks_cnt = PortErrorFixRecord.objects.filter(
            worker=request.user.first_name, status=False).count()

    context['records'] = page_of_objects.object_list
    context['page_of_objects'] = page_of_objects
    context['page_range'] = page_range
    context['time_begin'] = timezone.datetime.strftime(time_begin,
                                                       '%Y-%m-%d+%H:%M:%S')
    context['time_end'] = timezone.datetime.strftime(time_end,
                                                     '%Y-%m-%d+%H:%M:%S')
    context['order_field'] = order_field
    context['my_tasks_cnt'] = my_tasks_cnt
    context['pwr_problem'] = pwr_problem
    context['porterror_search_form'] = porterror_search_form
    return render(request, 'port_error_list.html', context)