From 4f2e595e6649f036c306abf0400cf45ce352375b Mon Sep 17 00:00:00 2001 From: Tim Laszlo Date: Fri, 8 Jun 2012 10:34:10 -0500 Subject: web_reports: group filtering for element views --- .../Server/Reports/reports/templates/config_items/listing.html | 1 + src/lib/Bcfg2/Server/Reports/reports/urls.py | 4 ++-- src/lib/Bcfg2/Server/Reports/reports/views.py | 6 ++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/Bcfg2/Server/Reports/reports/templates/config_items/listing.html b/src/lib/Bcfg2/Server/Reports/reports/templates/config_items/listing.html index a43eedb89..f81325054 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/templates/config_items/listing.html +++ b/src/lib/Bcfg2/Server/Reports/reports/templates/config_items/listing.html @@ -9,6 +9,7 @@ {% block pagebanner %}{{mod_or_bad|capfirst}} Element Listing{% endblock %} {% block content %} +{% filter_navigator %} {% if item_list %} {% for type_name, type_data in item_list %}
diff --git a/src/lib/Bcfg2/Server/Reports/reports/urls.py b/src/lib/Bcfg2/Server/Reports/reports/urls.py index 90c6c724d..865ee6208 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/urls.py +++ b/src/lib/Bcfg2/Server/Reports/reports/urls.py @@ -23,7 +23,6 @@ urlpatterns += patterns('Bcfg2.Server.Reports.reports', *timeviewUrls( (r'^summary/?$', 'views.display_summary', None, 'reports_summary'), (r'^timing/?$', 'views.display_timing', None, 'reports_timing'), - (r'^elements/(?P\w+)/?$', 'views.config_item_list', None, 'reports_item_list'), (r'^common/(?P\d+)/?$', 'views.common_problems', None, 'reports_common_problems'), (r'^common/?$', 'views.common_problems', None, 'reports_common_problems'), )) @@ -32,7 +31,8 @@ urlpatterns += patterns('Bcfg2.Server.Reports.reports', *filteredUrls(*timeviewUrls( (r'^grid/?$', 'views.client_index', None, 'reports_grid_view'), (r'^detailed/?$', - 'views.client_detailed_list', None, 'reports_detailed_list') + 'views.client_detailed_list', None, 'reports_detailed_list'), + (r'^elements/(?P\w+)/?$', 'views.config_item_list', None, 'reports_item_list'), ))) urlpatterns += patterns('Bcfg2.Server.Reports.reports', diff --git a/src/lib/Bcfg2/Server/Reports/reports/views.py b/src/lib/Bcfg2/Server/Reports/reports/views.py index 2dd811ca0..5d9a71285 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/views.py +++ b/src/lib/Bcfg2/Server/Reports/reports/views.py @@ -14,6 +14,7 @@ from django.shortcuts import render_to_response, get_object_or_404 from django.core.urlresolvers import \ resolve, reverse, Resolver404, NoReverseMatch from django.db import connection +from django.db.models import Q from Bcfg2.Server.Reports.reports.models import * @@ -148,14 +149,15 @@ def config_item(request, pk, type="bad"): @timeview -def config_item_list(request, type, timestamp=None): +def config_item_list(request, type, timestamp=None, **kwargs): """Render a listing of affected elements""" mod_or_bad = type.lower() type = convert_entry_type_to_id(type) if type < 0: raise Http404 - current_clients = Interaction.objects.get_interaction_per_client_ids(timestamp) + current_clients = Interaction.objects.interaction_per_client(timestamp) + current_clients = [q['id'] for q in _handle_filters(current_clients, **kwargs).values('id')] ldata = list(Entries_interactions.objects.filter( interaction__in=current_clients, type=type).values()) -- cgit v1.2.3-1-g7c22