X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..56c5bac0c6b5fc622a0b274861a98b9dca00259e:/src/search/fields.py
diff --git a/src/search/fields.py b/src/search/fields.py
index 45d8b7ecf..10afd5914 100755
--- a/src/search/fields.py
+++ b/src/search/fields.py
@@ -1,10 +1,9 @@
-# -*- coding: utf-8 -*-
# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
from django import forms
-from django.forms.widgets import flatatt
-from django.utils.encoding import smart_unicode
+from django.forms.utils import flatatt
+from django.utils.encoding import smart_text
from django.utils.safestring import mark_safe
from json import dumps
@@ -15,22 +14,23 @@ class JQueryAutoCompleteWidget(forms.TextInput):
super(JQueryAutoCompleteWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
- return u'$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options)
+ return '$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options)
- def render(self, name, value=None, attrs=None):
- final_attrs = self.build_attrs(attrs, name=name)
+ def render(self, name, value=None, attrs=None, renderer=None):
+ final_attrs = self.build_attrs(self.attrs, attrs)
+ final_attrs["name"] = name
if value:
- final_attrs['value'] = smart_unicode(value)
+ final_attrs['value'] = smart_text(value)
- if not self.attrs.has_key('id'):
+ if 'id' not in self.attrs:
final_attrs['id'] = 'id_%s' % name
- html = u'''
+ html = '''
''' % {
'attrs': flatatt(final_attrs),
- 'js' : self.render_js(final_attrs['id'], self.options),
+ 'js': self.render_js(final_attrs['id'], self.options),
}
return mark_safe(html)
@@ -41,11 +41,13 @@ class JQueryAutoCompleteSearchWidget(JQueryAutoCompleteWidget):
super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
- return u""
-
+ return ""
+
class JQueryAutoCompleteField(forms.CharField):
- def __init__(self, source, options={}, *args, **kwargs):
+ def __init__(self, source, options=None, *args, **kwargs):
+ if options is None:
+ options = {}
if 'widget' not in kwargs:
options['source'] = source
kwargs['widget'] = JQueryAutoCompleteWidget(options)
@@ -54,7 +56,9 @@ class JQueryAutoCompleteField(forms.CharField):
class JQueryAutoCompleteSearchField(forms.CharField):
- def __init__(self, options={}, *args, **kwargs):
+ def __init__(self, options=None, *args, **kwargs):
+ if options is None:
+ options = {}
if 'widget' not in kwargs:
kwargs['widget'] = JQueryAutoCompleteSearchWidget(options)