Fix problem when thousand separator is used (#18)

This commit is contained in:
Dmitriy Sokolov 2019-05-14 13:07:00 +03:00
parent 651a43cc25
commit 6f274f763f
No known key found for this signature in database
GPG Key ID: DE2C98901898AB74
2 changed files with 11 additions and 5 deletions

View File

@ -20,6 +20,7 @@ from django.utils import timezone
from django.template.defaultfilters import slugify from django.template.defaultfilters import slugify
from django.templatetags.static import StaticNode from django.templatetags.static import StaticNode
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from django.utils.encoding import force_text
from django.contrib.admin.widgets import AdminDateWidget, AdminSplitDateTime as BaseAdminSplitDateTime from django.contrib.admin.widgets import AdminDateWidget, AdminSplitDateTime as BaseAdminSplitDateTime
@ -57,7 +58,7 @@ class DateRangeFilter(admin.filters.FieldListFilter):
# slugify converts any non-unicode characters to empty characters # slugify converts any non-unicode characters to empty characters
# but system_name is required, if title converts to empty string use id # but system_name is required, if title converts to empty string use id
# https://github.com/silentsokolov/django-admin-rangefilter/issues/18 # https://github.com/silentsokolov/django-admin-rangefilter/issues/18
'system_name': slugify(self.title) if slugify(self.title) else id(self.title), 'system_name': force_text(slugify(self.title) if slugify(self.title) else id(self.title)),
'query_string': cl.get_query_string( 'query_string': cl.get_query_string(
{}, remove=self._get_expected_fields() {}, remove=self._get_expected_fields()
) )
@ -127,7 +128,8 @@ class DateRangeFilter(admin.filters.FieldListFilter):
return form_class return form_class
def _get_form_fields(self): def _get_form_fields(self):
return OrderedDict(( return OrderedDict(
(
(self.lookup_kwarg_gte, forms.DateField( (self.lookup_kwarg_gte, forms.DateField(
label='', label='',
widget=AdminDateWidget(attrs={'placeholder': _('From date')}), widget=AdminDateWidget(attrs={'placeholder': _('From date')}),
@ -140,7 +142,8 @@ class DateRangeFilter(admin.filters.FieldListFilter):
localize=True, localize=True,
required=False required=False
)), )),
)) )
)
@staticmethod @staticmethod
def get_js(): def get_js():
@ -174,7 +177,8 @@ class DateTimeRangeFilter(DateRangeFilter):
return expected_fields return expected_fields
def _get_form_fields(self): def _get_form_fields(self):
return OrderedDict(( return OrderedDict(
(
(self.lookup_kwarg_gte, forms.SplitDateTimeField( (self.lookup_kwarg_gte, forms.SplitDateTimeField(
label='', label='',
widget=AdminSplitDateTime(attrs={'placeholder': _('From date')}), widget=AdminSplitDateTime(attrs={'placeholder': _('From date')}),
@ -187,7 +191,8 @@ class DateTimeRangeFilter(DateRangeFilter):
localize=True, localize=True,
required=False required=False
)), )),
)) )
)
def _make_query_filter(self, request, validated_data): def _make_query_filter(self, request, validated_data):
query_params = {} query_params = {}

View File

@ -59,6 +59,7 @@ setup(
'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Topic :: Utilities', 'Topic :: Utilities',
], ],
) )