|
1 from django.db.models import signals |
|
2 from django.conf import settings |
|
3 from django.contrib.auth.models import User, Group |
|
4 from ldt.core.models import Owner |
|
5 from ldt.user.models import ldt, IriGroup |
|
6 from django.contrib.contenttypes.models import ContentType |
|
7 # import logging |
|
8 from django.core.exceptions import ObjectDoesNotExist |
|
9 |
|
10 |
|
11 def post_save_ldt(instance, raw, created, **kwargs): |
|
12 signals.post_save.send(sender=User, instance=instance, raw=raw, created=created) |
|
13 |
|
14 signals.post_save.connect(post_save_ldt, ldt) |
|
15 |
|
16 def post_save_irigroup(instance, raw, created, **kwargs): |
|
17 signals.post_save.send(sender=Group, instance=instance, raw=raw, created=created) |
|
18 |
|
19 signals.post_save.connect(post_save_irigroup, IriGroup) |
|
20 |
|
21 def post_save_user(instance, raw, created, **kwargs): |
|
22 if created: |
|
23 try: |
|
24 owner = Owner.objects.get(user=instance) |
|
25 except ObjectDoesNotExist: |
|
26 owner=Owner(user=instance) |
|
27 owner.save() |
|
28 |
|
29 signals.post_save.connect(post_save_user, User) |
|
30 |
|
31 def post_save_group(instance, raw, created, **kwargs): |
|
32 if created: |
|
33 try: |
|
34 owner = Owner.objects.get(group=instance) |
|
35 except ObjectDoesNotExist: |
|
36 owner=Owner(group=instance) |
|
37 owner.save() |
|
38 |
|
39 signals.post_save.connect(post_save_group, Group) |
|
40 |
|
41 |
|
42 def test_cms(): |
|
43 if 'cms' in settings.INSTALLED_APPS: |
|
44 return True |
|
45 else: |
|
46 return False |
|
47 |
|
48 def test_ldt(): |
|
49 if 'ldt.ldt_utils' in settings.INSTALLED_APPS: |
|
50 return True |
|
51 else: |
|
52 return False |
|
53 |
|
54 def get_content_type_list() : |
|
55 content_type_list = [] |
|
56 if test_cms(): |
|
57 content_type = ContentType.objects.get(app_label='cms', model='page') |
|
58 content_type_list.append(content_type) |
|
59 content_type = ContentType.objects.get(app_label='snippet', model='snippet') |
|
60 content_type_list.append(content_type) |
|
61 # if test_ldt(): |
|
62 # content_type = ContentType.objects.get(app_label='ldt', model='content') |
|
63 # content_type_list.append(content_type) |
|
64 return content_type_list |
|
65 |
|
66 |