X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/357027375ff8867f42ca34bcbfb5a78b5b185fc3..84a3f7f335bf15b4671cc56c26d243bf539a9536:/src/search/fields.py?ds=sidebyside
diff --git a/src/search/fields.py b/src/search/fields.py
old mode 100755
new mode 100644
index 45d8b7ecf..18a5c1564
--- a/src/search/fields.py
+++ b/src/search/fields.py
@@ -1,10 +1,10 @@
-# -*- 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.forms.widgets import RadioSelect
+from django.utils.encoding import smart_str
from django.utils.safestring import mark_safe
from json import dumps
@@ -15,22 +15,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_str(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 +42,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,8 +57,15 @@ 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)
super(JQueryAutoCompleteSearchField, self).__init__(*args, **kwargs)
+
+
+
+class InlineRadioWidget(RadioSelect):
+ option_template_name = 'search/inline_radio_widget_option.html'