Add settings for help_text

This commit is contained in:
Adam Dobrawy 2016-01-04 07:00:45 +01:00 committed by Ryan P Kilby
parent 5fabef7581
commit da35aa60f0
2 changed files with 23 additions and 2 deletions

View File

@ -8,6 +8,7 @@ from django import forms
from django.db.models import Q
from django.db.models.sql.constants import QUERY_TERMS
from django.db.models.constants import LOOKUP_SEP
from django.conf import settings
from django.utils import six
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
@ -83,7 +84,13 @@ class Filter(object):
if not hasattr(self, '_field'):
help_text = self.extra.pop('help_text', None)
if help_text is None:
help_text = _('This is an exclusion filter') if self.exclude else _('Filter')
if self.exclude and getattr(settings, "FILTERS_HELP_TEXT_EXCLUDE", True):
help_text = _('This is an exclusion filter')
elif not self.exclude and getattr(settings, "FILTERS_HELP_TEXT_FILTER", True):
help_text = _('Filter')
else:
help_text = ''
if (self.lookup_expr is None or
isinstance(self.lookup_expr, (list, tuple))):

View File

@ -7,7 +7,7 @@ import warnings
import unittest
from django import forms
from django.test import TestCase
from django.test import TestCase, override_settings
from django_filters import filters
from django_filters.fields import (
@ -70,6 +70,20 @@ class FilterTests(TestCase):
self.assertIsInstance(field, forms.Field)
self.assertEqual(field.help_text, 'This is an exclusion filter')
@override_settings(FILTERS_HELP_TEXT_FILTER=False)
def test_default_field_settings(self):
f = Filter()
field = f.field
self.assertIsInstance(field, forms.Field)
self.assertEqual(field.help_text, '')
@override_settings(FILTERS_HELP_TEXT_EXCLUDE=False)
def test_field_with_exclusion_settings(self):
f = Filter(exclude=True)
field = f.field
self.assertIsInstance(field, forms.Field)
self.assertEqual(field.help_text, '')
def test_field_with_single_lookup_expr(self):
f = Filter(lookup_expr='iexact')
field = f.field