1
|
from qommon.publisher import get_publisher_class, get_request
|
2
|
from qommon.misc import get_cfg
|
3
|
|
4
|
import modules.admin
|
5
|
import modules.backoffice
|
6
|
import modules.links_ui
|
7
|
import modules.announces_ui
|
8
|
import modules.events_ui
|
9
|
import modules.forms_ui
|
10
|
import modules.formpage
|
11
|
import modules.template
|
12
|
import modules.root
|
13
|
|
14
|
get_publisher_class().register_translation_domain('auquotidien')
|
15
|
get_publisher_class().default_configuration_path = 'au-quotidien-wcs-settings.xml'
|
16
|
|
17
|
def check_visibility(target):
|
18
|
user = get_request().user
|
19
|
if not user:
|
20
|
return False
|
21
|
admin_role = get_cfg('aq-permissions', {}).get(target.strip('/'), None)
|
22
|
if not (user.is_admin or admin_role in (user.roles or [])):
|
23
|
return False
|
24
|
return True
|
25
|
|
26
|
rdb = get_publisher_class().backoffice_directory_class
|
27
|
|
28
|
rdb.register_menu_item('forms', None)
|
29
|
rdb.register_directory('forms', modules.forms_ui.FormsDirectory())
|
30
|
rdb.register_menu_item('forms/', _('Forms'))
|
31
|
|
32
|
rdb.register_menu_item('pending', _('Pending Forms'))
|
33
|
|
34
|
rdb.register_directory('announces', modules.announces_ui.AnnouncesDirectory())
|
35
|
rdb.register_menu_item('announces/', _('Announces'), check_visibility)
|
36
|
|
37
|
rdb.register_directory('links', modules.links_ui.LinksDirectory())
|
38
|
rdb.register_menu_item('links/', _('Links'), check_visibility)
|
39
|
|
40
|
rdb.register_directory('events', modules.events_ui.EventsDirectory())
|
41
|
rdb.register_menu_item('events/', _('Events'), check_visibility)
|
42
|
|