Project

General

Profile

Download (1.38 KB) Statistics
| Branch: | Tag: | Revision:

root / extra / auquotidien.py @ 958b2b8f

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

    
    (1-1/1)