fixed theme counts (#318, #319)
[wolnelektury.git] / apps / catalogue / fields.py
index eedff67..2c0c765 100644 (file)
@@ -1,4 +1,7 @@
 # -*- 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.
+#
 import datetime
 
 from django.conf import settings
@@ -10,6 +13,8 @@ from django.forms.util import smart_unicode
 from django.utils import simplejson as json
 from django.utils.html import escape
 from django.utils.safestring import mark_safe
+from django.utils.translation import ugettext_lazy as _
+from south.modelsinspector import add_introspection_rules
 
 
 class JSONEncoder(json.JSONEncoder):
@@ -39,7 +44,7 @@ class JSONFormField(forms.CharField):
             loads(value)
             return value
         except ValueError, e:
-            raise forms.ValidationError('Enter a valid JSON value. Error: %s' % e)
+            raise forms.ValidationError(_('Enter a valid JSON value. Error: %s') % e)
 
 
 class JSONField(models.TextField):
@@ -65,6 +70,8 @@ class JSONField(models.TextField):
             return setattr(model_instance, self.attname, dumps(json))
         setattr(cls, 'set_%s_value' % self.name, set_value)
 
+add_introspection_rules([], ["^catalogue\.fields\.JSONField"])
+
 
 class JQueryAutoCompleteWidget(forms.TextInput):
     def __init__(self, source, options=None, *args, **kwargs):
@@ -80,7 +87,7 @@ class JQueryAutoCompleteWidget(forms.TextInput):
         if self.options:
             options += ', %s' % self.options
         
-        return u'$(\'#%s\').autocomplete(%s%s);' % (field_id, source, options)
+        return u'$(\'#%s\').autocomplete(%s%s).result(autocomplete_result_handler);' % (field_id, source, options)
     
     def render(self, name, value=None, attrs=None):
         final_attrs = self.build_attrs(attrs, name=name)