diff options
author | Tim Laszlo <tim.laszlo@gmail.com> | 2012-06-06 14:19:42 -0500 |
---|---|---|
committer | Tim Laszlo <tim.laszlo@gmail.com> | 2012-06-06 14:35:28 -0500 |
commit | 4063587b20cbd97e55069a7ea94a2a231b7de622 (patch) | |
tree | ed0f6e27b361d72d8e9b8e9635d27e460149741e /src/lib/Bcfg2/Server/Reports/reports/templatetags | |
parent | 1e954c9bd17ab7fcb31bb85a268303fd1266c761 (diff) | |
download | bcfg2-4063587b20cbd97e55069a7ea94a2a231b7de622.tar.gz bcfg2-4063587b20cbd97e55069a7ea94a2a231b7de622.tar.bz2 bcfg2-4063587b20cbd97e55069a7ea94a2a231b7de622.zip |
web_reports: add group filtering logic to grid and detailed list
Diffstat (limited to 'src/lib/Bcfg2/Server/Reports/reports/templatetags')
-rw-r--r-- | src/lib/Bcfg2/Server/Reports/reports/templatetags/bcfg2_tags.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Reports/reports/templatetags/bcfg2_tags.py b/src/lib/Bcfg2/Server/Reports/reports/templatetags/bcfg2_tags.py index d65833c48..61895df57 100644 --- a/src/lib/Bcfg2/Server/Reports/reports/templatetags/bcfg2_tags.py +++ b/src/lib/Bcfg2/Server/Reports/reports/templatetags/bcfg2_tags.py @@ -11,6 +11,7 @@ from django.utils.encoding import smart_unicode, smart_str from django.utils.safestring import mark_safe from datetime import datetime, timedelta from Bcfg2.Server.Reports.utils import filter_list +from Bcfg2.Server.Reports.reports.models import Group register = template.Library() @@ -120,13 +121,27 @@ def filter_navigator(context): filters = [] for filter in filter_list: + if filter == 'group': + continue if filter in kwargs: myargs = kwargs.copy() del myargs[filter] filters.append((filter, reverse(view, args=args, kwargs=myargs))) filters.sort(lambda x, y: cmp(x[0], y[0])) - return {'filters': filters} + + myargs = kwargs.copy() + selected=True + if 'group' in myargs: + del myargs['group'] + selected=False + groups = [('---', reverse(view, args=args, kwargs=myargs), selected)] + for group in Group.objects.values('name'): + myargs['group'] = group['name'] + groups.append((group['name'], reverse(view, args=args, kwargs=myargs), + group['name'] == kwargs.get('group', ''))) + + return {'filters': filters, 'groups': groups} except (Resolver404, NoReverseMatch, ValueError, KeyError): pass return dict() |