Exemple #1
0
def devicehistory_view(request, **_):
    """Device history search results view"""

    selection = {
        'organization': request.GET.getlist('org'),
        'category': request.GET.getlist('cat'),
        'room__location': request.GET.getlist('loc'),
        'room': request.GET.getlist('room'),
        'netbox': request.GET.getlist('netbox'),
        'groups': request.GET.getlist('netboxgroup'),
        'module': request.GET.getlist('module'),
        'mode': request.GET.getlist('mode'),
    }

    grouped_history = None
    valid_params = [
        'to_date', 'from_date', 'eventtype', 'group_by', 'netbox', 'room'
    ]
    if len(set(valid_params) & set(request.GET.keys())) >= 1:
        form = DeviceHistoryViewFilter(request.GET)
    else:
        form = DeviceHistoryViewFilter()
    if form.is_valid():
        # We need to handle locations as they are tree-based
        selection['room__location'] = add_descendants(
            selection['room__location'])

        alert_history = fetch_history(selection, form)
        grouped_history = group_history_and_messages(
            alert_history,
            get_messages_for_history(alert_history),
            form.cleaned_data['group_by'],
        )

        # Quickselect expects 'loc' and not 'location'
        selection['loc'] = selection['room__location']
        del selection['room__location']

    info_dict = {
        'active': {
            'device': True
        },
        'search_description':
        describe_search_params(selection),
        'selection':
        selection,
        'history':
        grouped_history,
        'title':
        'NAV - Device History',
        'navpath': [
            ('Home', '/'),
            ('Device History', reverse('devicehistory-search')),
        ],
        'form':
        form,
    }
    return render(request, 'devicehistory/history_view.html', info_dict)
Exemple #2
0
def devicehistory_view(request):
    """Device history search results view"""

    selection = {
        'organization': request.REQUEST.getlist('org'),
        'category': request.REQUEST.getlist('cat'),
        'room__location': request.REQUEST.getlist('loc'),
        'room': request.REQUEST.getlist('room'),
        'netbox': request.REQUEST.getlist('netbox'),
        'module': request.REQUEST.getlist('module'),
        'mode': request.REQUEST.getlist('mode')
    }

    grouped_history = None
    valid_params = ['to_date', 'from_date', 'eventtype', 'group_by',
                    'netbox', 'room']
    if len(set(valid_params) & set(request.REQUEST.keys())) >= 1:
        form = DeviceHistoryViewFilter(request.REQUEST)
    else:
        form = DeviceHistoryViewFilter()
    if form.is_valid():
        alert_history = fetch_history(selection, form)
        grouped_history = group_history_and_messages(
            alert_history,
            get_messages_for_history(alert_history),
            form.cleaned_data['group_by']
        )

        # Quickselect expects 'loc' and not 'location'
        selection['loc'] = selection['room__location']
        del selection['room__location']

    info_dict = {
        'active': {'device': True},
        'search_description': describe_search_params(selection),
        'selection': selection,
        'history': grouped_history,
        'title': 'NAV - Device History',
        'navpath': [
            ('Home', '/'),
            ('Device History', reverse('devicehistory-search')),
        ],
        'form': form
    }
    return render_to_response(
        'devicehistory/history_view.html',
        info_dict,
        RequestContext(request)
    )