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