web/ldt/management/__init__.py
author ymh <ymh.work@gmail.com>
Tue, 08 Jun 2010 01:16:35 +0200
changeset 0 ecdfc63274bf
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
from django.db.models import signals
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
from django.conf import settings
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
from django.contrib.auth.models import User, Group 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
from ldt.core.models import Owner
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
from ldt.user.models import ldt, IriGroup
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
from django.contrib.contenttypes.models import ContentType
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
# import logging
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
from django.core.exceptions import ObjectDoesNotExist
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
def post_save_ldt(instance, raw, created, **kwargs):
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    signals.post_save.send(sender=User, instance=instance, raw=raw, created=created)     
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
signals.post_save.connect(post_save_ldt, ldt) 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
def post_save_irigroup(instance, raw, created, **kwargs):
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    signals.post_save.send(sender=Group, instance=instance, raw=raw, created=created)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
signals.post_save.connect(post_save_irigroup, IriGroup) 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
def post_save_user(instance, raw, created, **kwargs):
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    if created:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        try:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
            owner = Owner.objects.get(user=instance)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        except ObjectDoesNotExist:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
            owner=Owner(user=instance)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
            owner.save() 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
signals.post_save.connect(post_save_user, User) 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
def post_save_group(instance, raw, created, **kwargs):
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    if created:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        try:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
            owner = Owner.objects.get(group=instance)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        except ObjectDoesNotExist:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
            owner=Owner(group=instance)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
            owner.save()
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
signals.post_save.connect(post_save_group, Group) 
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
def test_cms():
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    if 'cms' in settings.INSTALLED_APPS:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        return True
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
    else:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
        return False
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
def test_ldt():
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    if 'ldt.ldt' in settings.INSTALLED_APPS:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
        return True
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    else:
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
        return False
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
def get_content_type_list() :
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
    content_type_list = []
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    if test_cms():
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
        content_type = ContentType.objects.get(app_label='cms', model='page')
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
        content_type_list.append(content_type)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        content_type = ContentType.objects.get(app_label='snippet', model='snippet')
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
        content_type_list.append(content_type)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    # if test_ldt():
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
        # content_type = ContentType.objects.get(app_label='ldt', model='content')
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        # content_type_list.append(content_type)
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
    return content_type_list
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
ecdfc63274bf first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66