--- 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)