root/extra/auquotidien.py @ 23f4b827
| 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')
|
|||