Reorder ConfigurationManager model, because it broke co-ment lite
authorProduction Moz <dev@sopinspace.com>
Tue, 25 Jun 2013 17:58:49 +0200
changeset 511 54d72b4da009
parent 510 8bde4b6584eb
child 512 3764ea0fa1bc
Reorder ConfigurationManager model, because it broke co-ment lite
src/cm/models.py
--- a/src/cm/models.py	Tue Jun 25 16:27:14 2013 +0200
+++ b/src/cm/models.py	Tue Jun 25 17:58:49 2013 +0200
@@ -26,75 +26,6 @@
 from django.db import connection
 from datetime import datetime
 
-# default conf values
-DEFAULT_CONF = {
-                'workspace_name' : 'Workspace',
-                'site_url' : settings.SITE_URL,
-                'email_from' : settings.DEFAULT_FROM_EMAIL,
-                }
-
-from cm.role_models import change_role_model
-
-class ConfigurationManager(models.Manager):
-    def set_workspace_name(self, workspace_name):
-        if workspace_name:
-            self.set_key('workspace_name', workspace_name)
-
-    def get_key(self, key, default_value=None):
-        try:
-            return self.get(key=key).value
-        except Configuration.DoesNotExist:
-            return DEFAULT_CONF.get(key, default_value)
-
-    def del_key(self, key):
-        try:
-            self.get(key=key).delete()
-        except Configuration.DoesNotExist:
-            return None
-        
-    def set_key(self, key, value):
-        conf, created = self.get_or_create(key=key)
-        if created or conf.value != value:
-            conf.value = value
-            conf.save()
-            if key == 'workspace_role_model':
-                change_role_model(value)
-
-    def __getitem__(self, key):
-        if not key.startswith('f_'):
-            return self.get_key(key, None)
-        else:
-            return getattr(self,key)()
-    
-    def f_get_logo_url(self):
-        key = self.get_key('workspace_logo_file_key', None)
-        if key:
-            attach = Attachment.objects.get(key=key)
-            return attach.data.url
-        else:
-            return None 
-    
-import base64
-
-class Configuration(models.Model):
-    key = models.TextField(blank=False) # , unique=True cannot be added: creates error on mysql (?)
-    raw_value = models.TextField(blank=False)
-    
-    def get_value(self):
-        return pickle.loads(base64.b64decode(self.raw_value.encode('utf8')))
-        
-    def set_value(self, value):        
-        self.raw_value = base64.b64encode(pickle.dumps(value, 0)).encode('utf8')
-                
-    value = property(get_value, set_value)
-                
-    objects = ConfigurationManager()
-    
-    def __unicode__(self):
-        return '%s: %s' % (self.key, self.value)    
-    
-ApplicationConfiguration = Configuration.objects     
-
 class TextManager(Manager):
     def create_text(self, title, format, content, note, name, email, tags, user=None, state='approved', **kwargs):
         content = on_content_receive(content, format)
@@ -419,6 +350,75 @@
         
 # http://docs.djangoproject.com/en/dev/topics/files/#topics-files
 
+# default conf values
+DEFAULT_CONF = {
+                'workspace_name' : 'Workspace',
+                'site_url' : settings.SITE_URL,
+                'email_from' : settings.DEFAULT_FROM_EMAIL,
+                }
+
+from cm.role_models import change_role_model
+
+class ConfigurationManager(models.Manager):
+    def set_workspace_name(self, workspace_name):
+        if workspace_name:
+            self.set_key('workspace_name', workspace_name)
+
+    def get_key(self, key, default_value=None):
+        try:
+            return self.get(key=key).value
+        except Configuration.DoesNotExist:
+            return DEFAULT_CONF.get(key, default_value)
+
+    def del_key(self, key):
+        try:
+            self.get(key=key).delete()
+        except Configuration.DoesNotExist:
+            return None
+        
+    def set_key(self, key, value):
+        conf, created = self.get_or_create(key=key)
+        if created or conf.value != value:
+            conf.value = value
+            conf.save()
+            if key == 'workspace_role_model':
+                change_role_model(value)
+
+    def __getitem__(self, key):
+        if not key.startswith('f_'):
+            return self.get_key(key, None)
+        else:
+            return getattr(self,key)()
+    
+    def f_get_logo_url(self):
+        key = self.get_key('workspace_logo_file_key', None)
+        if key:
+            attach = Attachment.objects.get(key=key)
+            return attach.data.url
+        else:
+            return None 
+    
+import base64
+
+class Configuration(models.Model):
+    key = models.TextField(blank=False) # , unique=True cannot be added: creates error on mysql (?)
+    raw_value = models.TextField(blank=False)
+    
+    def get_value(self):
+        return pickle.loads(base64.b64decode(self.raw_value.encode('utf8')))
+        
+    def set_value(self, value):        
+        self.raw_value = base64.b64encode(pickle.dumps(value, 0)).encode('utf8')
+                
+    value = property(get_value, set_value)
+                
+    objects = ConfigurationManager()
+    
+    def __unicode__(self):
+        return '%s: %s' % (self.key, self.value)    
+    
+ApplicationConfiguration = Configuration.objects     
+
 class AttachmentManager(KeyManager):
     def create_attachment(self, text_version, filename, data):
         attach = self.create(text_version=text_version)