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