/
__init__.py
105 lines (82 loc) · 3.85 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
from cms.signals.apphook import debug_server_restart, trigger_server_restart
from cms.signals.permissions import post_save_user, post_save_user_group, pre_save_user, pre_delete_user, pre_save_group, pre_delete_group, pre_save_pagepermission, pre_delete_pagepermission, pre_save_globalpagepermission, pre_delete_globalpagepermission
from cms.utils.conf import get_cms_setting
from django.db.models import signals
from django.dispatch import Signal
from cms.models import PagePermission, GlobalPagePermission, User, PageUser, PageUserGroup
from django.conf import settings
from django.contrib.auth.models import Group
#################### Our own signals ###################
# fired after page location is changed - is moved from one node to other
page_moved = Signal(providing_args=["instance"])
# fired after page gets published - copied to public model - there may be more
# than one instances published before this signal gets called
post_publish = Signal(providing_args=["instance", "language"])
post_unpublish = Signal(providing_args=["instance", "language"])
# fired if a public page with an apphook is added or changed
urls_need_reloading = Signal(providing_args=[])
# *disclaimer*
# The generic object operation signals are very likely to change
# as their usage evolves.
# As a result, rely on these at your own risk
pre_obj_operation = Signal(
providing_args=[
"operation",
"request",
"token",
"obj",
]
)
post_obj_operation = Signal(
providing_args=[
"operation",
"request",
"token",
"obj",
]
)
pre_placeholder_operation = Signal(
providing_args=[
"operation",
"request",
"language",
"token",
"origin",
]
)
post_placeholder_operation = Signal(
providing_args=[
"operation",
"request",
"language",
"token",
"origin",
]
)
################### apphook reloading ###################
if settings.DEBUG:
urls_need_reloading.connect(debug_server_restart)
urls_need_reloading.connect(
trigger_server_restart,
dispatch_uid='aldryn-apphook-reload-handle-urls-need-reloading'
)
###################### permissions #######################
if get_cms_setting('PERMISSION'):
# only if permissions are in use
signals.pre_save.connect(pre_save_user, sender=User, dispatch_uid='cms_pre_save_user')
signals.post_save.connect(post_save_user, sender=User, dispatch_uid='cms_post_save_user')
signals.pre_delete.connect(pre_delete_user, sender=User, dispatch_uid='cms_pre_delete_user')
signals.pre_save.connect(pre_save_user, sender=PageUser, dispatch_uid='cms_pre_save_pageuser')
signals.pre_delete.connect(pre_delete_user, sender=PageUser, dispatch_uid='cms_pre_delete_pageuser')
signals.pre_save.connect(pre_save_group, sender=Group, dispatch_uid='cms_pre_save_group')
signals.post_save.connect(post_save_user_group, sender=Group, dispatch_uid='cms_post_save_group')
signals.pre_delete.connect(pre_delete_group, sender=Group, dispatch_uid='cms_post_save_group')
signals.pre_save.connect(pre_save_group, sender=PageUserGroup, dispatch_uid='cms_pre_save_pageusergroup')
signals.pre_delete.connect(pre_delete_group, sender=PageUserGroup, dispatch_uid='cms_pre_delete_pageusergroup')
signals.pre_save.connect(pre_save_pagepermission, sender=PagePermission, dispatch_uid='cms_pre_save_pagepermission')
signals.pre_delete.connect(pre_delete_pagepermission, sender=PagePermission,
dispatch_uid='cms_pre_delete_pagepermission')
signals.pre_save.connect(pre_save_globalpagepermission, sender=GlobalPagePermission,
dispatch_uid='cms_pre_save_globalpagepermission')
signals.pre_delete.connect(pre_delete_globalpagepermission, sender=GlobalPagePermission,
dispatch_uid='cms_pre_delete_globalpagepermission')