web/ldt/management/__init__.py
changeset 0 ecdfc63274bf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/ldt/management/__init__.py	Tue Jun 08 01:16:35 2010 +0200
@@ -0,0 +1,66 @@
+from django.db.models import signals
+from django.conf import settings
+from django.contrib.auth.models import User, Group 
+from ldt.core.models import Owner
+from ldt.user.models import ldt, IriGroup
+from django.contrib.contenttypes.models import ContentType
+# import logging
+from django.core.exceptions import ObjectDoesNotExist
+
+    
+def post_save_ldt(instance, raw, created, **kwargs):
+    signals.post_save.send(sender=User, instance=instance, raw=raw, created=created)     
+    
+signals.post_save.connect(post_save_ldt, ldt) 
+
+def post_save_irigroup(instance, raw, created, **kwargs):
+    signals.post_save.send(sender=Group, instance=instance, raw=raw, created=created)
+    
+signals.post_save.connect(post_save_irigroup, IriGroup) 
+
+def post_save_user(instance, raw, created, **kwargs):
+    if created:
+        try:
+            owner = Owner.objects.get(user=instance)
+        except ObjectDoesNotExist:
+            owner=Owner(user=instance)
+            owner.save() 
+    
+signals.post_save.connect(post_save_user, User) 
+
+def post_save_group(instance, raw, created, **kwargs):
+    if created:
+        try:
+            owner = Owner.objects.get(group=instance)
+        except ObjectDoesNotExist:
+            owner=Owner(group=instance)
+            owner.save()
+    
+signals.post_save.connect(post_save_group, Group) 
+
+    
+def test_cms():
+    if 'cms' in settings.INSTALLED_APPS:
+        return True
+    else:
+        return False
+        
+def test_ldt():
+    if 'ldt.ldt' in settings.INSTALLED_APPS:
+        return True
+    else:
+        return False
+
+def get_content_type_list() :
+    content_type_list = []
+    if test_cms():
+        content_type = ContentType.objects.get(app_label='cms', model='page')
+        content_type_list.append(content_type)
+        content_type = ContentType.objects.get(app_label='snippet', model='snippet')
+        content_type_list.append(content_type)
+    # if test_ldt():
+        # content_type = ContentType.objects.get(app_label='ldt', model='content')
+        # content_type_list.append(content_type)
+    return content_type_list
+
+