X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/3be2da7359a9e68a577aa28a6a9d2ff0d3e0d8e4..ce097db0af8c96297501b569ec49477b76c1ceec:/src/search/fields.py diff --git a/src/search/fields.py b/src/search/fields.py index 10afd5914..1666a67ea 100644 --- a/src/search/fields.py +++ b/src/search/fields.py @@ -1,65 +1,8 @@ -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # -from django import forms -from django.forms.utils import flatatt -from django.utils.encoding import smart_text -from django.utils.safestring import mark_safe -from json import dumps +from django.forms.widgets import RadioSelect -class JQueryAutoCompleteWidget(forms.TextInput): - def __init__(self, options, *args, **kwargs): - self.options = dumps(options) - super(JQueryAutoCompleteWidget, self).__init__(*args, **kwargs) - - def render_js(self, field_id, options): - return '$(\'#%s\').autocomplete(%s).result(autocomplete_result_handler);' % (field_id, options) - - 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_text(value) - - if 'id' not in self.attrs: - final_attrs['id'] = 'id_%s' % name - - html = ''' - - ''' % { - 'attrs': flatatt(final_attrs), - 'js': self.render_js(final_attrs['id'], self.options), - } - - return mark_safe(html) - - -class JQueryAutoCompleteSearchWidget(JQueryAutoCompleteWidget): - def __init__(self, *args, **kwargs): - super(JQueryAutoCompleteSearchWidget, self).__init__(*args, **kwargs) - - def render_js(self, field_id, options): - return "" - - -class JQueryAutoCompleteField(forms.CharField): - 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) - - super(JQueryAutoCompleteField, self).__init__(*args, **kwargs) - - -class JQueryAutoCompleteSearchField(forms.CharField): - 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'