fnp
/
wolnelektury.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Search
[wolnelektury.git]
/
src
/
search
/
fields.py
diff --git
a/src/search/fields.py
b/src/search/fields.py
old mode 100755
(executable)
new mode 100644
(file)
index
45d8b7e
..
18a5c15
--- 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
# 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
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):
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:
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
final_attrs['id'] = 'id_%s' % name
- html =
u
'''<input type="text" %(attrs)s/>
+ html = '''<input type="text" %(attrs)s/>
<script type="text/javascript">//<!--
%(js)s//--></script>
''' % {
'attrs': flatatt(final_attrs),
<script type="text/javascript">//<!--
%(js)s//--></script>
''' % {
'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)
}
return mark_safe(html)
@@
-41,11
+42,13
@@
class JQueryAutoCompleteSearchWidget(JQueryAutoCompleteWidget):
super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs)
def render_js(self, field_id, options):
- return
u
""
-
+ return ""
+
class JQueryAutoCompleteField(forms.CharField):
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)
if 'widget' not in kwargs:
options['source'] = source
kwargs['widget'] = JQueryAutoCompleteWidget(options)
@@
-54,8
+57,15
@@
class JQueryAutoCompleteField(forms.CharField):
class JQueryAutoCompleteSearchField(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)
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'