Skip to content
Snippets Groups Projects
Commit 06295f5d authored by David Cramer's avatar David Cramer
Browse files

level filters are now precise

parent fa2289fc
No related branches found
Tags v1.13.5
No related merge requests found
1.13.5
* Level filters are now precise (they no longer show their level + messages from higher levels).
1.13.4
* Updated message details page to resemble look and feel of group details.
......
......@@ -64,22 +64,22 @@ class SentryFilter(object):
# This must be a string
default = ''
show_label = True
def __init__(self, request):
self.request = request
def is_set(self):
return bool(self.get_value())
def get_value(self):
return self.request.GET.get(self.get_query_param(), self.default) or ''
def get_query_param(self):
return getattr(self, 'query_param', self.column)
def get_widget(self):
return self.widget(self, self.request)
def get_query_string(self):
column = self.column
query_dict = self.request.GET.copy()
......@@ -88,24 +88,24 @@ class SentryFilter(object):
if column in query_dict:
del query_dict[self.column]
return '?' + query_dict.urlencode()
def get_choices(self):
from sentry.models import FilterValue
return SortedDict((l, l) for l in FilterValue.objects.filter(key=self.column)\
.values_list('value', flat=True)\
.order_by('value'))
def get_query_set(self, queryset):
from sentry.models import MessageIndex
kwargs = {self.column: self.get_value()}
if self.column.startswith('data__'):
return MessageIndex.objects.get_for_queryset(queryset, **kwargs)
return queryset.filter(**kwargs)
def process(self, data):
"""``self.request`` is not available within this method"""
return data
def render(self):
widget = self.get_widget()
return widget.render(self.get_value())
......@@ -158,9 +158,9 @@ class SiteFilter(SentryFilter):
class LevelFilter(SentryFilter):
label = 'Level'
column = 'level'
def get_choices(self):
return SortedDict((str(k), v) for k, v in settings.LOG_LEVELS)
def get_query_set(self, queryset):
return queryset.filter(level__gte=self.get_value())
return queryset.filter(level=self.get_value())
......@@ -36,7 +36,7 @@ if sys.version_info[:2] < (2, 5):
setup(
name='django-sentry',
version='1.13.4',
version='1.13.5',
author='David Cramer',
author_email='dcramer@gmail.com',
url='http://github.com/dcramer/django-sentry',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment