Project

General

Profile

Download (2.53 KB) Statistics
| Branch: | Tag: | Revision:
3712d7d7 Frédéric Péters
from quixote import get_publisher

6b5f9a36 Frédéric Péters
from qommon.publisher import get_publisher_class, get_request
from qommon.misc import get_cfg
901b9cc8 Frédéric Péters
7f8fbe7e Frédéric Péters
import modules.admin
import modules.backoffice
3be7cfa9 Frédéric Péters
import modules.links_ui
import modules.announces_ui
9c8e4e26 Frédéric Péters
import modules.events_ui
958b2b8f Frédéric Péters
import modules.forms_ui
c43d0b77 Frédéric Péters
import modules.payments_ui
03c6494d Frédéric Péters
import modules.strongbox_ui
b7a2808c Frédéric Péters
import modules.formpage
c2ffbce0 Frédéric Péters
import modules.template
901b9cc8 Frédéric Péters
import modules.root
32470887 Frédéric Péters
import modules.form
c43d0b77 Frédéric Péters
import modules.payments
import modules.connectors
0eb3d025 Benjamin Dauvergne
import modules.abelium_domino_ui
import modules.abelium_domino_vars
import modules.abelium_domino_synchro
920f68b7 Frédéric Péters
b1c812cb Frédéric Péters
get_publisher_class().register_translation_domain('auquotidien')
de7546e8 Frédéric Péters
get_publisher_class().default_configuration_path = 'au-quotidien-wcs-settings.xml'
aa18beb5 Frédéric Péters
get_publisher_class().backoffice_feed_url = {
'fr': 'http://www.au-quotidien.com/fr/backoffice.atom'
}

920f68b7 Frédéric Péters
6b5f9a36 Frédéric Péters
def check_visibility(target):
user = get_request().user
if not user:
return False
3712d7d7 Frédéric Péters
target = target.strip('/')
if target in ('strongbox', ) and not get_publisher().has_site_option(target):
return False
admin_role = get_cfg('aq-permissions', {}).get(target, None)
ca53b88d Frédéric Péters
if not admin_role:
return False
6b5f9a36 Frédéric Péters
if not (user.is_admin or admin_role in (user.roles or [])):
return False
return True

a63d2be4 Frédéric Péters
rdb = get_publisher_class().backoffice_directory_class
6b5f9a36 Frédéric Péters
52a1d10c Frédéric Péters
rdb.items = []
rdb.register_menu_item('home', _('Pending Forms'))

958b2b8f Frédéric Péters
rdb.register_menu_item('forms', None)
rdb.register_directory('forms', modules.forms_ui.FormsDirectory())
52a1d10c Frédéric Péters
rdb.register_menu_item('forms/', _('Forms Management'), check_visibility)
6b5f9a36 Frédéric Péters
a63d2be4 Frédéric Péters
rdb.register_directory('announces', modules.announces_ui.AnnouncesDirectory())
6b5f9a36 Frédéric Péters
rdb.register_menu_item('announces/', _('Announces'), check_visibility)
a63d2be4 Frédéric Péters
2d881796 Frédéric Péters
rdb.register_directory('links', modules.links_ui.LinksDirectory())
6b5f9a36 Frédéric Péters
rdb.register_menu_item('links/', _('Links'), check_visibility)
2d881796 Frédéric Péters
9c8e4e26 Frédéric Péters
rdb.register_directory('events', modules.events_ui.EventsDirectory())
6b5f9a36 Frédéric Péters
rdb.register_menu_item('events/', _('Events'), check_visibility)
9c8e4e26 Frédéric Péters
c43d0b77 Frédéric Péters
rdb.register_directory('payments', modules.payments_ui.PaymentsDirectory())
rdb.register_menu_item('payments/', _('Payments'), check_visibility)

03c6494d Frédéric Péters
rdb.register_directory('strongbox', modules.strongbox_ui.StrongboxDirectory())
c71df2fa Frédéric Péters
rdb.register_menu_item('strongbox/', _('Strongbox'), check_visibility)
03c6494d Frédéric Péters
32470887 Frédéric Péters
import wcs.fields
wcs.fields.FileField.widget_class = modules.form.FileWithPreviewAndStrongboxWidget
0eb3d025 Benjamin Dauvergne
import wcs.admin.settings
wcs.admin.settings.SettingsDirectory.domino = modules.abelium_domino_ui.AbeliumDominoDirectory()
wcs.admin.settings.SettingsDirectory._q_exports.append('domino')