django 1.2, compatibility fixes
[wolnelektury.git] / apps / sponsors / fields.py
index 678788e..ba98081 100644 (file)
@@ -1,10 +1,14 @@
-# -*- encoding: utf-8 -*-
+# -*- 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
 from django.db import models
 from django import forms
 from django.utils import simplejson as json
+from south.modelsinspector import add_introspection_rules
 
 
 class JSONEncoder(json.JSONEncoder):
@@ -28,7 +32,7 @@ def loads(str):
 
 class JSONFormField(forms.CharField):
     widget = forms.Textarea
-    
+
     def clean(self, value):
         try:
             loads(value)
@@ -43,7 +47,7 @@ class JSONField(models.TextField):
         defaults.update(kwargs)
         return super(JSONField, self).formfield(**defaults)
 
-    def db_type(self):
+    def db_type(self, connection):
         return 'text'
 
     def get_internal_type(self):
@@ -51,7 +55,7 @@ class JSONField(models.TextField):
 
     def contribute_to_class(self, cls, name):
         super(JSONField, self).contribute_to_class(cls, name)
-        
+
         def get_value(model_instance):
             return loads(getattr(model_instance, self.attname, None))
         setattr(cls, 'get_%s_value' % self.name, get_value)
@@ -59,3 +63,5 @@ class JSONField(models.TextField):
         def set_value(model_instance, json):
             return setattr(model_instance, self.attname, dumps(json))
         setattr(cls, 'set_%s_value' % self.name, set_value)
+
+add_introspection_rules([], [r"^sponsors\.fields\.JSONField"])