X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..768497c92cb75290c032f4ffd586eccab6fd3eec:/src/search/fields.py?ds=inline diff --git a/src/search/fields.py b/src/search/fields.py index 45d8b7ecf..e2cfb5463 100755 --- a/src/search/fields.py +++ b/src/search/fields.py @@ -3,7 +3,7 @@ # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # from django import forms -from django.forms.widgets import flatatt +from django.forms.utils import flatatt from django.utils.encoding import smart_unicode from django.utils.safestring import mark_safe from json import dumps @@ -18,11 +18,12 @@ class JQueryAutoCompleteWidget(forms.TextInput): return u'$(\'#%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) + final_attrs = self.build_attrs(self.attrs, attrs) + final_attrs["name"] = name if value: final_attrs['value'] = smart_unicode(value) - if not self.attrs.has_key('id'): + if 'id' not in self.attrs: final_attrs['id'] = 'id_%s' % name html = u''' @@ -30,7 +31,7 @@ class JQueryAutoCompleteWidget(forms.TextInput): %(js)s//--> ''' % { '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) @@ -42,10 +43,12 @@ class JQueryAutoCompleteSearchWidget(JQueryAutoCompleteWidget): def render_js(self, field_id, options): return u"" - + 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 +57,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)