Better management of manually-set members.
[wolnelektury.git] / src / search / fields.py
old mode 100755 (executable)
new mode 100644 (file)
index 1dc7870..10afd59
@@ -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
 # 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
 
 from django.utils.safestring import mark_safe
 from json import dumps
 
@@ -15,17 +14,18 @@ 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_text(value)
 
         if 'id' not in self.attrs:
             final_attrs['id'] = 'id_%s' % name
 
 
         if 'id' not in self.attrs:
             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>
             ''' % {
             <script type="text/javascript">//<!--
             %(js)s//--></script>
             ''' % {
@@ -41,7 +41,7 @@ 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):