Esempio n. 1
0
    def test_toolbar_title_extension(self):
        old_toolbars = deepcopy(toolbar_pool.toolbars)

        class SampleExtension(ExtensionToolbar):
            model = MyTitleExtension

            def populate(self):
                current_page_menu = self._setup_extension_toolbar()
                if current_page_menu:
                    position = 0
                    urls = self.get_title_extension_admin()
                    for title_extension, url in urls:
                        current_page_menu.add_modal_item(
                            'TestItem',
                            url=url,
                            disabled=not self.toolbar.edit_mode_active,
                            position=position)

        toolbar_pool.register(SampleExtension)
        with self.login_user_context(self.admin):
            response = self.client.get('{}?edit'.format(
                self.page.get_absolute_url()))
            self.assertIn("TestItem", response.rendered_content)

        toolbar_pool.toolbars = old_toolbars
    def replace_toolbar(cls):
        name = "%s.%s" % (PageToolbar.__module__, PageToolbar.__name__)
        if name in toolbar_pool.toolbars.keys():
            log.debug("unregister cms toolbar '%s'", PageToolbar)
            toolbar_pool.unregister(PageToolbar)

        log.debug("Register cms toolbar '%s'", cls)
        toolbar_pool.register(cls)
Esempio n. 3
0
 def test_settings(self):
     toolbars = toolbar_pool.toolbars
     toolbar_pool.clear()
     with SettingsOverride(CMS_TOOLBARS=['cms.cms_toolbar.BasicToolbar', 'cms.cms_toolbar.PlaceholderToolbar']):
         toolbar_pool.register(TestToolbar)
         self.assertEqual(len(list(self.pool.get_toolbars().keys())), 2)
         api.create_page("home", "simple.html", "en", published=True)
         with self.login_user_context(self.get_superuser()):
             response = self.client.get("/en/?edit")
             self.assertEqual(response.status_code, 200)
     toolbar_pool.toolbars = toolbars
Esempio n. 4
0
 def test_settings(self):
     toolbars = toolbar_pool.toolbars
     toolbar_pool.clear()
     with self.settings(CMS_TOOLBARS=['cms.cms_toolbar.BasicToolbar', 'cms.cms_toolbar.PlaceholderToolbar']):
         toolbar_pool.register(TestToolbar)
         self.assertEqual(len(list(self.pool.get_toolbars().keys())), 2)
         api.create_page("home", "simple.html", "en", published=True)
         with self.login_user_context(self.get_superuser()):
             response = self.client.get("/en/?%s" % get_cms_setting('CMS_TOOLBAR_URL__EDIT_ON'))
             self.assertEqual(response.status_code, 200)
     toolbar_pool.toolbars = toolbars
 def test_settings(self):
     pool = ToolbarPool()
     toolbars = toolbar_pool.toolbars
     toolbar_pool.clear()
     with self.settings(CMS_TOOLBARS=['cms.cms_toolbars.BasicToolbar', 'cms.cms_toolbars.PlaceholderToolbar']):
         toolbar_pool.register(TestToolbar)
         self.assertEqual(len(list(pool.get_toolbars().keys())), 2)
         api.create_page("home", "simple.html", "en", published=True)
         with self.login_user_context(self.get_superuser()):
             response = self.client.get("/en/?%s" % get_cms_setting('CMS_TOOLBAR_URL__EDIT_ON'))
             self.assertEqual(response.status_code, 200)
     toolbar_pool.toolbars = toolbars
Esempio n. 6
0
    def test_settings(self):
        pool = ToolbarPool()
        toolbars = toolbar_pool.toolbars
        toolbar_pool.clear()
        with self.settings(CMS_TOOLBARS=[
                'cms.cms_toolbars.BasicToolbar',
                'cms.cms_toolbars.PlaceholderToolbar'
        ]):
            toolbar_pool.register(TestToolbar)
            self.assertEqual(len(list(pool.get_toolbars().keys())), 2)
            page = api.create_page("home", "simple.html", "en", published=True)
            page_edit_url_on = self.get_edit_on_url(page.get_absolute_url())

            with self.login_user_context(self.get_superuser()):
                response = self.client.get(page_edit_url_on)
                self.assertEqual(response.status_code, 200)
        toolbar_pool.toolbars = toolbars
Esempio n. 7
0
    def test_toolbar_page_extension(self):
        old_toolbars = deepcopy(toolbar_pool.toolbars)
        class SampleExtension(ExtensionToolbar):
            model = MyPageExtension  # The PageExtension / TitleExtension you are working with

            def populate(self):
                current_page_menu = self._setup_extension_toolbar()
                if current_page_menu:
                    position = 0
                    page_extension, url = self.get_page_extension_admin()
                    if url:
                        current_page_menu.add_modal_item('TestItem', url=url,
                                                         disabled=not self.toolbar.edit_mode,
                                                         position=position)
        toolbar_pool.register(SampleExtension)
        with self.login_user_context(self.admin):
            response = self.client.get('/en/?edit')
            self.assertIn("TestItem", response.rendered_content)
        toolbar_pool.toolbars = old_toolbars
Esempio n. 8
0
    def test_toolbar_page_extension(self):
        old_toolbars = deepcopy(toolbar_pool.toolbars)
        class SampleExtension(ExtensionToolbar):
            model = MyPageExtension  # The PageExtension / TitleExtension you are working with

            def populate(self):
                current_page_menu = self._setup_extension_toolbar()
                if current_page_menu:
                    position = 0
                    page_extension, url = self.get_page_extension_admin()
                    if url:
                        current_page_menu.add_modal_item('TestItem', url=url,
                                                         disabled=not self.toolbar.edit_mode,
                                                         position=position)
        toolbar_pool.register(SampleExtension)
        with self.login_user_context(self.admin):
            response = self.client.get('/en/?edit')
            self.assertIn("TestItem", response.rendered_content)
        toolbar_pool.toolbars = old_toolbars
Esempio n. 9
0
    def test_toolbar_title_extension(self):
        old_toolbars = deepcopy(toolbar_pool.toolbars)

        class SampleExtension(ExtensionToolbar):
            model = MyTitleExtension

            def populate(self):
                current_page_menu = self._setup_extension_toolbar()
                if current_page_menu:
                    position = 0
                    urls = self.get_title_extension_admin()
                    for title_extension, url in urls:
                        current_page_menu.add_modal_item(
                            "TestItem", url=url, disabled=not self.toolbar.edit_mode, position=position
                        )

        toolbar_pool.register(SampleExtension)
        with self.login_user_context(self.admin):
            response = self.client.get("/en/?edit")
            self.assertIn("TestItem", response.rendered_content)
        toolbar_pool.toolbars = old_toolbars
Esempio n. 10
0
def configuration_post_save(sender, **kwargs):
    import repanier.cms_toolbar

    config = kwargs["instance"]
    if config.id is not None:
        repanier.apps.REPANIER_SETTINGS_CONFIG = config
        site = Site.objects.get_current()
        if site is not None:
            site.name = config.group_name
            site.domain = settings.ALLOWED_HOSTS[0]
            site.save()
        repanier.apps.REPANIER_SETTINGS_GROUP_NAME = config.group_name
        if config.name == PERMANENCE_NAME_PERMANENCE:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Permanence")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Permanences")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _(
                "Permanence of ")
        elif config.name == PERMANENCE_NAME_CLOSURE:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Closure")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Closures")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _(
                "Closure of ")
        elif config.name == PERMANENCE_NAME_DELIVERY:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Delivery")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Deliveries")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _(
                "Delivery of ")
        elif config.name == PERMANENCE_NAME_ORDER:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Order")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Orders")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Order of ")
        elif config.name == PERMANENCE_NAME_OPENING:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Opening")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Openings")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _(
                "Opening of ")
        else:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Distribution")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _(
                "Distributions")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _(
                "Distribution of ")
        repanier.apps.REPANIER_SETTINGS_MAX_WEEK_WO_PARTICIPATION = config.max_week_wo_participation
        repanier.apps.REPANIER_SETTINGS_SEND_ABSTRACT_ORDER_MAIL_TO_CUSTOMER = config.send_abstract_order_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_BOARD = config.send_order_mail_to_board
        repanier.apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_CUSTOMER = config.send_invoice_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_PRODUCER = config.send_invoice_mail_to_producer
        repanier.apps.REPANIER_SETTINGS_DISPLAY_ANONYMOUS_ORDER_FORM = config.display_anonymous_order_form
        repanier.apps.REPANIER_SETTINGS_DISPLAY_WHO_IS_WHO = config.display_who_is_who
        repanier.apps.REPANIER_SETTINGS_XLSX_PORTRAIT = config.xlsx_portrait
        if config.bank_account is not None and len(
                config.bank_account.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_BANK_ACCOUNT = None
        else:
            repanier.apps.REPANIER_SETTINGS_BANK_ACCOUNT = config.bank_account
        if config.vat_id is not None and len(config.vat_id.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_VAT_ID = None
        else:
            repanier.apps.REPANIER_SETTINGS_VAT_ID = config.vat_id
        repanier.apps.REPANIER_SETTINGS_PAGE_BREAK_ON_CUSTOMER_CHECK = config.page_break_on_customer_check
        repanier.apps.REPANIER_SETTINGS_SMS_GATEWAY_MAIL = config.sms_gateway_mail
        repanier.apps.REPANIER_SETTINGS_MEMBERSHIP_FEE = config.membership_fee
        repanier.apps.REPANIER_SETTINGS_MEMBERSHIP_FEE_DURATION = config.membership_fee_duration
        if config.currency == CURRENCY_LOC:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "✿"
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ ✿ * #,##0.00_ ;_ ✿ * -#,##0.00_ ;_ ✿ * \"-\"??_ ;_ @_ "
        elif config.currency == CURRENCY_CHF:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = 'Fr.'
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ Fr\. * #,##0.00_ ;_ Fr\. * -#,##0.00_ ;_ Fr\. * \"-\"??_ ;_ @_ "
        else:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "€"
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = True
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ € * #,##0.00_ ;_ € * -#,##0.00_ ;_ € * \"-\"??_ ;_ @_ "
        if config.home_site is not None and len(config.home_site.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_HOME_SITE = "/"
        else:
            repanier.apps.REPANIER_SETTINGS_HOME_SITE = config.home_site
        repanier.apps.REPANIER_SETTINGS_TRANSPORT = config.transport
        repanier.apps.REPANIER_SETTINGS_MIN_TRANSPORT = config.min_transport

        menu_pool.clear()
        toolbar_pool.unregister(repanier.cms_toolbar.RepanierToolbar)
        toolbar_pool.register(repanier.cms_toolbar.RepanierToolbar)
        cache.clear()
Esempio n. 11
0
            menu.add_sideframe_item(
                name=_('Interest page list'),
                url=admin_reverse('focus_interestpage_changelist'),
            )

        if add_ip_perm:
            menu.add_modal_item(
                name=_('Add new interest page'),
                url=admin_reverse('focus_interestpage_add'),
            )

        if self.is_current_app and self.toolbar.obj:
            obj = self.toolbar.obj
            if isinstance(obj, Concept) and change_concept_perm:
                url = admin_reverse('focus_concept_change', args=[obj.pk])
                menu.add_modal_item(
                    name=_('Edit this concept'),
                    url=url,
                    active=True,
                )
            if isinstance(obj, InterestPage) and change_ip_perm:
                url = admin_reverse('focus_interestpage_change', args=[obj.pk])
                menu.add_modal_item(
                    name=_('Edit this interest page'),
                    url=url,
                    active=True,
                )


toolbar_pool.register(FocusToolbar)  # register the toolbar
Esempio n. 12
0
        if not self.is_current_app:
            return

        menu = self.toolbar.get_or_create_menu('polls_cms_integration-polls',
                                               'Polls')

        menu.add_sideframe_item(
            name='Poll list',
            url=admin_reverse('polls_poll_changelist'),
        )

        menu.add_modal_item(
            name=('Add a new poll'),
            url=admin_reverse('polls_poll_add'),
        )

        buttonlist = self.toolbar.add_button_list()

        buttonlist.add_sideframe_button(
            name='Poll list',
            url=admin_reverse('polls_poll_changelist'),
        )

        buttonlist.add_modal_button(
            name='Add a new poll',
            url=admin_reverse('polls_poll_add'),
        )


toolbar_pool.register(PollToolbar)  # register the toolbar
Esempio n. 13
0
                # we reuse the name to avoid doubled elipsis.
                cleaned_name = item.name.rstrip(' .')
                real_item = ModalItem(
                    cleaned_name,
                    item.url,
                    active=item.active,
                    disabled=item.disabled,
                    extra_classes=item.extra_classes,
                    on_close=item.on_close,
                    side=item.side)
            elif isinstance(item, SubMenu):
                real_item = self.rebuild_menu(item)
            else:
                real_item = item

            items.append(real_item)

        menu.items = items
        return menu

    def populate(self):
        menus = [
            self.toolbar.get_menu(identifier)
            for identifier in (ADMIN_MENU_IDENTIFIER, PAGE_MENU_IDENTIFIER)
        ]

        for menu in [menu for menu in menus if menu]:
            self.rebuild_menu(menu)

toolbar_pool.register(ForceModalDialogToolbar)
                            Action.CANCEL):
            self.add_button(workflow_dropdown, action_type)
        self.add_action_admin_button(workflow_dropdown)
        if workflow_dropdown.buttons:
            self.toolbar.add_item(workflow_dropdown)


class EditorToolbar(CMSToolbar):
    def populate(self):
        action_dropdown = Dropdown(side=self.toolbar.RIGHT, )
        action_dropdown.add_primary_button(
            DropdownToggleButton(name=_('Pending your approval')))
        actions = Action.requiring_action(self.request.user)
        if actions:
            opts = Action._meta
            view = '{app_label}_{model_name}_change'.format(
                app_label=opts.app_label, model_name=opts.model_name)
            for a in actions:
                button = SideframeButton(name=str(a.title),
                                         url=admin_reverse(
                                             view, args=[a.get_request().pk]))
                action_dropdown.buttons.append(button)
            self.toolbar.add_item(action_dropdown)


toolbar_pool.register(EditorToolbar)
toolbar_pool.register(WorkflowExtensionToolbar)
toolbar_pool.toolbars[
    'cms.cms_toolbars.PlaceholderToolbar'] = WorkflowPlaceholderToolbar
toolbar_pool.toolbars['cms.cms_toolbars.PageToolbar'] = WorkflowPageToolbar
Esempio n. 15
0
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from cms.extensions.toolbar import ExtensionToolbar
from cms.toolbar_pool import toolbar_pool
from cms.toolbar.items import Break
from cms.cms_toolbars import PAGE_MENU_SECOND_BREAK
from cmsplugin_cascade.models import CascadePage


class CascadePageToolbar(ExtensionToolbar):
    model = CascadePage

    def populate(self):
        current_page_menu = self._setup_extension_toolbar()
        if current_page_menu:
            # retrieves the instance of the current extension (if any) and the toolbar item URL
            page_extension, url = self.get_page_extension_admin()
            if url:
                position = current_page_menu.find_first(Break, identifier=PAGE_MENU_SECOND_BREAK)
                disabled = not self.toolbar.edit_mode_active
                current_page_menu.add_modal_item(_("Extra Page Fields"), position=position, url=url, disabled=disabled)

if settings.CMSPLUGIN_CASCADE['register_page_editor']:
    toolbar_pool.register(CascadePageToolbar)
Esempio n. 16
0
#  Copyright (c) 2019. IIOTA (www.iiota.nl). All rights reserved.

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from django.utils.translation import ugettext_lazy as _

from cms.utils.urlutils import admin_reverse


class IIotaServicesToolbar(CMSToolbar):
    def populate(self):
        if not self.is_current_app:
            return

        menu = self.toolbar.get_or_create_menu(
            key='iiota_services_cms_integration',
            verbose_name='IIota Services')
        menu.add_sideframe_item(
            name=_('Services list'),
            url=admin_reverse('iiota_services_iiotaservice_changelist'))
        menu.add_sideframe_item(
            name=_('Add Service'),
            url=admin_reverse('iiota_services_iiotaservice_add'))


toolbar_pool.register(IIotaServicesToolbar)
from django.urls import reverse
from django.utils.translation import gettext_lazy as _

from cms.constants import RIGHT
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from cms.utils.urlutils import admin_reverse


class StaticGeneratorToolbar(CMSToolbar):

    def populate(self):
        buttonlist = self.toolbar.add_button_list(position=10, side=RIGHT)
        buttonlist.add_modal_button(
            name=_('Create static site'),
            url=reverse('generate'),
        )


toolbar_pool.register(StaticGeneratorToolbar)
Esempio n. 18
0
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class ZinniaToolbar(CMSToolbar):

    def populate(self):
        zinnia_menu = self.toolbar.get_or_create_menu(
            'zinnia-menu', _('Zinnia'))

        url = reverse('admin:zinnia_entry_add')
        zinnia_menu.add_sideframe_item(_('New entry'), url=url)

        url = reverse('admin:zinnia_category_add')
        zinnia_menu.add_sideframe_item(_('New category'), url=url)

        zinnia_menu.add_break()

        url = reverse('admin:zinnia_entry_changelist')
        zinnia_menu.add_sideframe_item(_('Entries list'), url=url)

        url = reverse('admin:zinnia_category_changelist')
        zinnia_menu.add_sideframe_item(_('Categories list'), url=url)

        url = reverse('admin:tagging_tag_changelist')
        zinnia_menu.add_sideframe_item(_('Tags list'), url=url)


toolbar_pool.register(ZinniaToolbar)
Esempio n. 19
0
"""Toolbar extensions for CMS"""
from django.urls import reverse
from django.utils.translation import gettext_lazy as _

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class BlogToolbar(CMSToolbar):
    def populate(self):
        if not hasattr(self.request, 'article'):
            return

        blog_menu = self.toolbar.get_or_create_menu('blog-menu', _('Blog'))
        article = self.request.article
        url = reverse('admin:fds_blog_article_change', args=(article.pk, ))
        blog_menu.add_modal_item(_('Edit article'), url=url)


toolbar_pool.register(BlogToolbar)
Esempio n. 20
0
from __future__ import absolute_import, division, generators, nested_scopes, print_function, unicode_literals, with_statement

from cms.toolbar_pool import toolbar_pool

from .utils import get_toolbar

toolbar_pool.register(get_toolbar('Shop'))
Esempio n. 21
0
from cms.utils.urlutils import admin_reverse
from gallery.models import Gallery


class GalleryToolbar(CMSToolbar):
    supported_apps = (
        'gallery',
        'gallery_cms_integration',
    )

    watch_models = [Gallery]

    def populate(self):
        if not self.is_current_app:
            return

        menu = self.toolbar.get_or_create_menu('gallery-app', _('Gallery'))

        menu.add_sideframe_item(
            name=_('Gallery list'),
            url=admin_reverse('gallery_gallery_changelist'),
        )

        menu.add_modal_item(
            name=_('Add new gallery'),
            url=admin_reverse('gallery_gallery_add'),
        )


toolbar_pool.register(GalleryToolbar)  # register the toolbar
Esempio n. 22
0
        )

        project.add_modal_item(
            name='Add a new Project',  # name of the new menu item
            url=admin_reverse(
                'portfolio_app_project_add'),  # the URL it should open with
        )

        # Menus Blog
        blog = self.toolbar.get_or_create_menu(
            'portfolio_cms_integration-blog',  # a unique key for this menu
            'Blog',  # the text that should appear in the menu
        )

        blog.add_modal_item(
            name='Blog list',  # name of the new menu item
            url=admin_reverse(
                'portfolio_app_blog_changelist'
            ),  # the URL it should open with appname_model_name_changelist
        )

        blog.add_modal_item(
            name='Add a new Blog',  # name of the new menu item
            url=admin_reverse(
                'portfolio_app_blog_add'),  # the URL it should open with
        )


# register the toolbar
toolbar_pool.register(PortfolioToolbar)
Esempio n. 23
0
# see https://github.com/kapt-labs/django-check-seo/wiki/Toolbar-shortcut#cms_toolbarspy

# Third party
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from django.utils.translation import ugettext_lazy as _


class DjangoSeoToolbar(CMSToolbar):
    def populate(self):

        self.toolbar.add_sideframe_item(
            _("Check SEO"),  # text
            "/django-check-seo/?page="
            + self.request.path,  # url (+ current page passed as a GET parameter)
        )


# register the toolbar
toolbar_pool.register(DjangoSeoToolbar)
Esempio n. 24
0
            menu.add_link_item(name=_('View on page'), url=url)
            menu.add_break()

        user = self.request.user

        add_model_perm = PublisherItem.has_add_permission(
            user, raise_exception=False)
        change_model_perm = PublisherItem.has_change_permission(
            user, raise_exception=False)
        delete_model_perm = PublisherItem.has_delete_permission(
            user, raise_exception=False)

        log.debug(
            "User %s 'PublisherItem' permissions: add:%r, change:%r, delete:%r",
            user, add_model_perm, change_model_perm, delete_model_perm)

        if change_model_perm:
            menu.add_sideframe_item(
                name=_('PublisherItem list'),
                url=admin_reverse(ADMIN_REVERSE_PREFIX + "_changelist"),
            )

        if add_model_perm:
            menu.add_modal_item(
                name=_('Add new list_item'),
                url=admin_reverse(ADMIN_REVERSE_PREFIX + "_add"),
            )


toolbar_pool.register(PublisherItemToolbar)
Esempio n. 25
0
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from django.urls import reverse


class OrchesterToolbar(CMSToolbar):
    def populate(self):
        menu = self.toolbar.get_or_create_menu(
            key='orchester_cms_integration',
            verbose_name='Orchester'
        )
        menu.add_break(identifier='settings_section')
        menu.add_sideframe_item(  # or add_button(), add_modal_item(), etc
            name='Admin panel',
            url=reverse('orchester:index')
        )


toolbar_pool.register(OrchesterToolbar)
Esempio n. 26
0
                name=_('Publisher list'),
                url=admin_reverse('datasets_publisher_changelist'),
            )

        if add_pub_perm:
            menu.add_modal_item(
                name=_('Add new publisher'),
                url=admin_reverse('datasets_publisher_add'),
            )

        if self.is_current_app and self.toolbar.obj:
            obj = self.toolbar.obj
            if isinstance(obj, CatalogRecord) and change_ds_perm:
                url = admin_reverse('datasets_catalogrecord_change',
                                    args=[obj.pk])
                menu.add_modal_item(
                    name=_('Edit this dataset'),
                    url=url,
                    active=True,
                )
            if isinstance(obj, Publisher) and change_pub_perm:
                url = admin_reverse('datasets_publisher_change', args=[obj.pk])
                menu.add_modal_item(
                    name=_('Edit this publisher'),
                    url=url,
                    active=True,
                )


toolbar_pool.register(DatasetsToolbar)  # register the toolbar
from django.shortcuts import reverse
from django.utils.translation import gettext_lazy as _

from cms.cms_toolbars import ADMIN_MENU_IDENTIFIER, PlaceholderToolbar
from cms.toolbar_pool import toolbar_pool

from .models import MenuContent


class NavigationToolbar(PlaceholderToolbar):
    menu_content_model = MenuContent

    def _add_navigation_menu(self):
        if not self.request.user.has_perm("{}.change_menucontent".format(
                self.menu_content_model._meta.app_label)):
            return
        admin_menu = self.toolbar.get_or_create_menu(ADMIN_MENU_IDENTIFIER)
        url = reverse("admin:{}_menucontent_changelist".format(
            self.menu_content_model._meta.app_label))
        admin_menu.add_sideframe_item(_("Navigation"), url=url, position=4)

    def post_template_populate(self):
        self._add_navigation_menu()


toolbar_pool.register(NavigationToolbar)
from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from .models import File


class FileToolbar(CMSToolbar):
    def populate(self):
        self.toolbar.get_or_create_menu(
            'file_cms_integration-files',  # a unique key for this menu
            'FileToolBar',  # the text that should appear in the menu
        )


# register the toolbar
toolbar_pool.register(FileToolbar)
Esempio n. 29
0
            url=admin_reverse('dgf_tournament_changelist'),
        )
        menu.add_modal_item(
            name=_('New tournament'),
            url=admin_reverse('dgf_tournament_add'),
        )


class FolderToolbar(CMSToolbar):
    def populate(self):
        menu = self.toolbar.get_or_create_menu(
            'filer-folder',
            _('Folders'),
        )
        menu.add_sideframe_item(
            name=_('All folders'),
            url=admin_reverse('filer_folder_changelist'),
        )
        background_folder = Folder.objects.get(name=settings.BACKGROUND_FOLDER)
        menu.add_sideframe_item(
            name=_(background_folder.name),
            url=admin_reverse('filer-directory_listing',
                              args=(background_folder.id, )),
        )


toolbar_pool.register(FriendsToolbar)
toolbar_pool.register(CourseToolbar)
toolbar_pool.register(TournamentToolbar)
toolbar_pool.register(FolderToolbar)
Esempio n. 30
0
"""Toolbar extensions for CMS"""
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class SocialaggregatorToolbar(CMSToolbar):
    def populate(self):
        socialaggregator_menu = self.toolbar.get_or_create_menu(
            'socialaggregator-menu', _('SocialAggregator'))

        url = reverse('admin:socialaggregator_feed_add')
        socialaggregator_menu.add_sideframe_item(_('New feed'), url=url)

        url = reverse('admin:socialaggregator_ressource_add')
        socialaggregator_menu.add_sideframe_item(_('New ressource'), url=url)

        socialaggregator_menu.add_break()

        url = reverse('admin:socialaggregator_feed_changelist')
        socialaggregator_menu.add_sideframe_item(_('Feeds list'), url=url)

        url = reverse('admin:socialaggregator_ressource_changelist')
        socialaggregator_menu.add_sideframe_item(_('Ressources list'), url=url)


toolbar_pool.register(SocialaggregatorToolbar)
        zinnia_menu.add_break()

        url = reverse('admin:zinnia_entry_changelist')
        zinnia_menu.add_sideframe_item(
            _('Entries list'),
            url=url,
            disabled=not user.has_perm('zinnia.change_entry'))

        url = reverse('admin:zinnia_category_changelist')
        zinnia_menu.add_sideframe_item(
            _('Categories list'),
            url=url,
            disabled=not user.has_perm('zinnia.change_category'))

        url = reverse('admin:tagging_tag_changelist')
        zinnia_menu.add_sideframe_item(
            _('Tags list'),
            url=url,
            disabled=not user.has_perm('tagging.change_tag'))

        # Remove complete menu if all items are disabled
        enabled_items = [
            item for item in zinnia_menu.get_items()
            if not getattr(item, 'disabled', True)
        ]
        if not enabled_items:
            self.toolbar.remove_item(zinnia_menu)


toolbar_pool.register(ZinniaToolbar)
Esempio n. 32
0
def configuration_post_save(sender, **kwargs):
    import repanier.cms_toolbar
    from repanier import apps

    config = kwargs["instance"]
    if config.id is not None:
        apps.REPANIER_SETTINGS_CONFIG = config
        if config.name == PERMANENCE_NAME_PERMANENCE:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Permanence")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Permanences")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Permanence of ")
        elif config.name == PERMANENCE_NAME_CLOSURE:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Closure")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Closures")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Closure of ")
        elif config.name == PERMANENCE_NAME_DELIVERY:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Delivery")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Deliveries")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Delivery of ")
        elif config.name == PERMANENCE_NAME_ORDER:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Order")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Orders")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Order of ")
        elif config.name == PERMANENCE_NAME_OPENING:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Opening")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Openings")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Opening of ")
        else:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Distribution")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Distributions")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Distribution of ")
        apps.REPANIER_SETTINGS_MAX_WEEK_WO_PARTICIPATION = (
            config.max_week_wo_participation)
        apps.REPANIER_SETTINGS_SEND_ABSTRACT_ORDER_MAIL_TO_CUSTOMER = (
            config.send_abstract_order_mail_to_customer)
        apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_BOARD = (
            config.send_order_mail_to_board)
        apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_CUSTOMER = (
            config.send_invoice_mail_to_customer)
        apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_PRODUCER = (
            config.send_invoice_mail_to_producer)
        apps.REPANIER_SETTINGS_DISPLAY_ANONYMOUS_ORDER_FORM = (
            config.display_anonymous_order_form)
        apps.REPANIER_SETTINGS_DISPLAY_WHO_IS_WHO = config.display_who_is_who
        apps.REPANIER_SETTINGS_XLSX_PORTRAIT = config.xlsx_portrait
        # if config.bank_account is not None and len(config.bank_account.strip()) == 0:
        #     apps.REPANIER_SETTINGS_BANK_ACCOUNT = None
        # else:
        apps.REPANIER_SETTINGS_BANK_ACCOUNT = config.bank_account
        # if config.vat_id is not None and len(config.vat_id.strip()) == 0:
        #     apps.REPANIER_SETTINGS_VAT_ID = None
        # else:
        apps.REPANIER_SETTINGS_VAT_ID = config.vat_id
        apps.REPANIER_SETTINGS_PAGE_BREAK_ON_CUSTOMER_CHECK = (
            config.page_break_on_customer_check)
        apps.REPANIER_SETTINGS_MEMBERSHIP_FEE = config.membership_fee
        apps.REPANIER_SETTINGS_MEMBERSHIP_FEE_DURATION = config.membership_fee_duration
        if config.currency == CURRENCY_LOC:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "✿"
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = (
                '_ ✿ * #,##0.00_ ;_ ✿ * -#,##0.00_ ;_ ✿ * "-"??_ ;_ @_ ')
        elif config.currency == CURRENCY_CHF:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "Fr."
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = (
                '_ Fr\. * #,##0.00_ ;_ Fr\. * -#,##0.00_ ;_ Fr\. * "-"??_ ;_ @_ '
            )
        else:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "€"
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = True
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = (
                '_ € * #,##0.00_ ;_ € * -#,##0.00_ ;_ € * "-"??_ ;_ @_ ')
        if config.home_site:
            apps.REPANIER_SETTINGS_HOME_SITE = config.home_site
        else:
            apps.REPANIER_SETTINGS_HOME_SITE = "/"
        # config.email = settings.DJANGO_SETTINGS_EMAIL_HOST_USER
        menu_pool.clear()
        toolbar_pool.unregister(repanier.cms_toolbar.RepanierToolbar)
        toolbar_pool.register(repanier.cms_toolbar.RepanierToolbar)
        cache.clear()
Esempio n. 33
0
"""Toolbar extensions for CMS"""
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class SlideshowToolbar(CMSToolbar):

    def populate(self):
        slideshows_menu = self.toolbar.get_or_create_menu(
            'slideshows-menu', _('Slideshows'))

        url = reverse('admin:slideshows_slideshow_add')
        slideshows_menu.add_sideframe_item(_('New slideshow'), url=url)

        url = reverse('admin:slideshows_slide_add')
        slideshows_menu.add_sideframe_item(_('New ressource'), url=url)

        slideshows_menu.add_break()

        url = reverse('admin:slideshows_slideshow_changelist')
        slideshows_menu.add_sideframe_item(_('Slideshows list'), url=url)

        url = reverse('admin:slideshows_slide_changelist')
        slideshows_menu.add_sideframe_item(_('Slides list'), url=url)


toolbar_pool.register(SlideshowToolbar)
Esempio n. 34
0
from cms.toolbar_pool import toolbar_pool

from barbeque.cms.toolbar import TitleExtensionToolbar

from .models import ExtensionModel


class ExtensionToolbar(TitleExtensionToolbar):
    model = ExtensionModel
    insert_after = 'Advanced settings'

toolbar_pool.register(ExtensionToolbar)
Esempio n. 35
0
def configuration_post_save(sender, **kwargs):
    import repanier.cms_toolbar
    from repanier import apps

    config = kwargs["instance"]
    if config.id is not None:
        apps.REPANIER_SETTINGS_CONFIG = config
        if config.name == PERMANENCE_NAME_PERMANENCE:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Permanence")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Permanences")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Permanence of ")
        elif config.name == PERMANENCE_NAME_CLOSURE:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Closure")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Closures")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Closure of ")
        elif config.name == PERMANENCE_NAME_DELIVERY:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Delivery")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Deliveries")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Delivery of ")
        elif config.name == PERMANENCE_NAME_ORDER:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Order")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Orders")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Order of ")
        elif config.name == PERMANENCE_NAME_OPENING:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Opening")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Openings")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Opening of ")
        else:
            apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Distribution")
            apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Distributions")
            apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Distribution of ")
        apps.REPANIER_SETTINGS_MAX_WEEK_WO_PARTICIPATION = config.max_week_wo_participation
        apps.REPANIER_SETTINGS_SEND_ABSTRACT_ORDER_MAIL_TO_CUSTOMER = config.send_abstract_order_mail_to_customer
        apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_BOARD = config.send_order_mail_to_board
        apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_CUSTOMER = config.send_invoice_mail_to_customer
        apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_PRODUCER = config.send_invoice_mail_to_producer
        apps.REPANIER_SETTINGS_DISPLAY_ANONYMOUS_ORDER_FORM = config.display_anonymous_order_form
        apps.REPANIER_SETTINGS_DISPLAY_WHO_IS_WHO = config.display_who_is_who
        apps.REPANIER_SETTINGS_XLSX_PORTRAIT = config.xlsx_portrait
        # if config.bank_account is not None and len(config.bank_account.strip()) == 0:
        #     apps.REPANIER_SETTINGS_BANK_ACCOUNT = None
        # else:
        apps.REPANIER_SETTINGS_BANK_ACCOUNT = config.bank_account
        # if config.vat_id is not None and len(config.vat_id.strip()) == 0:
        #     apps.REPANIER_SETTINGS_VAT_ID = None
        # else:
        apps.REPANIER_SETTINGS_VAT_ID = config.vat_id
        apps.REPANIER_SETTINGS_PAGE_BREAK_ON_CUSTOMER_CHECK = config.page_break_on_customer_check
        apps.REPANIER_SETTINGS_MEMBERSHIP_FEE = config.membership_fee
        apps.REPANIER_SETTINGS_MEMBERSHIP_FEE_DURATION = config.membership_fee_duration
        if config.currency == CURRENCY_LOC:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "✿"
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ ✿ * #,##0.00_ ;_ ✿ * -#,##0.00_ ;_ ✿ * \"-\"??_ ;_ @_ "
        elif config.currency == CURRENCY_CHF:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = 'Fr.'
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ Fr\. * #,##0.00_ ;_ Fr\. * -#,##0.00_ ;_ Fr\. * \"-\"??_ ;_ @_ "
        else:
            apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = "€"
            apps.REPANIER_SETTINGS_AFTER_AMOUNT = True
            apps.REPANIER_SETTINGS_CURRENCY_XLSX = "_ € * #,##0.00_ ;_ € * -#,##0.00_ ;_ € * \"-\"??_ ;_ @_ "
        if config.home_site:
            apps.REPANIER_SETTINGS_HOME_SITE = config.home_site
        else:
            apps.REPANIER_SETTINGS_HOME_SITE = "/"
        # config.email = settings.DJANGO_SETTINGS_EMAIL_HOST_USER
        menu_pool.clear()
        toolbar_pool.unregister(repanier.cms_toolbar.RepanierToolbar)
        toolbar_pool.register(repanier.cms_toolbar.RepanierToolbar)
        cache.clear()
Esempio n. 36
0
#  Copyright (c) 2019. IIOTA (www.iiota.nl). All rights reserved.

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool
from django.utils.translation import ugettext_lazy as _

from cms.utils.urlutils import admin_reverse


class ReferenceStoryToolbar(CMSToolbar):
    def populate(self):
        if not self.is_current_app:
            return

        menu = self.toolbar.get_or_create_menu(
            key='ref_stories_cms_integration',
            verbose_name='Reference Stories')
        menu.add_sideframe_item(
            name=_('Story list'),
            url=admin_reverse('reference_stories_referencestory_changelist'))
        menu.add_sideframe_item(
            name=_('Add Story'),
            url=admin_reverse('reference_stories_referencestory_add'))


toolbar_pool.register(ReferenceStoryToolbar)
from django.utils.translation import ugettext_lazy as _
from cms.toolbar_pool import toolbar_pool
from cms.toolbar_base import CMSToolbar
from cms.utils.urlutils import admin_reverse
from .models import Category


class CategoryToolbar(CMSToolbar):
    supported_apps = ('aldryn_categories', )

    watch_models = [Category]

    def populate(self):

        menu = self.toolbar.get_or_create_menu('aldryn_categorie-app',
                                               _('Categories'))

        menu.add_modal_item(
            name=_('Add new Category'),
            url=admin_reverse('aldryn_categories_category_add'),
        )

        menu.add_sideframe_item(
            name=_('Categories list'),
            url=admin_reverse('aldryn_categories_category_changelist'),
        )


toolbar_pool.register(CategoryToolbar)
Esempio n. 38
0
"""Toolbar extensions for CMS"""
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class SlideshowToolbar(CMSToolbar):
    def populate(self):
        slideshows_menu = self.toolbar.get_or_create_menu(
            'slideshows-menu', _('Slideshows'))

        url = reverse('admin:slideshows_slideshow_add')
        slideshows_menu.add_sideframe_item(_('New slideshow'), url=url)

        url = reverse('admin:slideshows_slide_add')
        slideshows_menu.add_sideframe_item(_('New ressource'), url=url)

        slideshows_menu.add_break()

        url = reverse('admin:slideshows_slideshow_changelist')
        slideshows_menu.add_sideframe_item(_('Slideshows list'), url=url)

        url = reverse('admin:slideshows_slide_changelist')
        slideshows_menu.add_sideframe_item(_('Slides list'), url=url)


toolbar_pool.register(SlideshowToolbar)
Esempio n. 39
0
        buttonlist = self.toolbar.add_button_list()

        buttonlist.add_sideframe_button(
            name='Poll list',
            url=admin_reverse('polls_question_changelist'),
        )

        buttonlist.add_modal_button(
            name='Add a new poll',
            url=admin_reverse('polls_question_add'),
        )


# register the toolbar
toolbar_pool.register(PollToolbar)

# from cms.utils.urlutils import admin_reverse
# from cms.toolbar_base import CMSToolbar
# from cms.toolbar_pool import toolbar_pool
# from polls.models import Question

# class PollToolbar(CMSToolbar):
#     supported_apps = ['polls']

#     def populate(self):

#         if not self.is_current_app:
#             return

#         menu = self.toolbar.get_or_create_menu('polls_cms_integration-polls', 'Polls')
Esempio n. 40
0
def configuration_post_save(sender, **kwargs):
    import repanier.cms_toolbar
    from repanier.models import BankAccount, Producer, Customer

    config = kwargs["instance"]
    if config.id is not None:
        repanier.apps.REPANIER_SETTINGS_CONFIG = config
        repanier.apps.REPANIER_SETTINGS_TEST_MODE = config.test_mode
        site = Site.objects.get_current()
        if site is not None:
            site.name = config.group_name
            site.domain = settings.ALLOWED_HOSTS[0]
            site.save()
        repanier.apps.REPANIER_SETTINGS_GROUP_NAME = config.group_name
        if config.name == PERMANENCE_NAME_PERMANENCE:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Permanence")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Permanences")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Permanence on ")
        elif config.name == PERMANENCE_NAME_CLOSURE:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Closure")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Closures")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Closure on ")
        elif config.name == PERMANENCE_NAME_DELIVERY:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Delivery")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Deliveries")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Delivery on ")
        elif config.name == PERMANENCE_NAME_ORDER:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Order")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Orders")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Order on ")
        elif config.name == PERMANENCE_NAME_OPENING:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Opening")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Openings")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Opening on ")
        else:
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_NAME = _("Distribution")
            repanier.apps.REPANIER_SETTINGS_PERMANENCES_NAME = _("Distributions")
            repanier.apps.REPANIER_SETTINGS_PERMANENCE_ON_NAME = _("Distribution on ")
        repanier.apps.REPANIER_SETTINGS_MAX_WEEK_WO_PARTICIPATION = config.max_week_wo_participation
        repanier.apps.REPANIER_SETTINGS_SEND_OPENING_MAIL_TO_CUSTOMER = config.send_opening_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_CUSTOMER = config.send_order_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_CANCEL_ORDER_MAIL_TO_CUSTOMER = config.send_cancel_order_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_ABSTRACT_ORDER_MAIL_TO_CUSTOMER = config.send_abstract_order_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_PRODUCER = config.send_order_mail_to_producer
        repanier.apps.REPANIER_SETTINGS_SEND_ABSTRACT_ORDER_MAIL_TO_PRODUCER = config.send_abstract_order_mail_to_producer
        repanier.apps.REPANIER_SETTINGS_SEND_ORDER_MAIL_TO_BOARD = config.send_order_mail_to_board
        repanier.apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_CUSTOMER = config.send_invoice_mail_to_customer
        repanier.apps.REPANIER_SETTINGS_SEND_INVOICE_MAIL_TO_PRODUCER = config.send_invoice_mail_to_producer
        repanier.apps.REPANIER_SETTINGS_INVOICE = config.invoice
        repanier.apps.REPANIER_SETTINGS_CLOSE_WO_SENDING = config.close_wo_sending
        repanier.apps.REPANIER_SETTINGS_DISPLAY_ANONYMOUS_ORDER_FORM = config.display_anonymous_order_form
        repanier.apps.REPANIER_SETTINGS_DISPLAY_PRODUCER_ON_ORDER_FORM = config.display_producer_on_order_form
        if config.bank_account is not None and len(config.bank_account.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_BANK_ACCOUNT = None
        else:
            repanier.apps.REPANIER_SETTINGS_BANK_ACCOUNT = config.bank_account
        if config.vat_id is not None and len(config.vat_id.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_VAT_ID = None
        else:
            repanier.apps.REPANIER_SETTINGS_VAT_ID = config.vat_id
        repanier.apps.REPANIER_SETTINGS_PAGE_BREAK_ON_CUSTOMER_CHECK = config.page_break_on_customer_check
        repanier.apps.REPANIER_SETTINGS_SMS_GATEWAY_MAIL = config.sms_gateway_mail
        repanier.apps.REPANIER_SETTINGS_CUSTOMERS_MUST_CONFIRM_ORDERS = config.customers_must_confirm_orders
        repanier.apps.REPANIER_SETTINGS_MEMBERSHIP_FEE = config.membership_fee
        repanier.apps.REPANIER_SETTINGS_MEMBERSHIP_FEE_DURATION = config.membership_fee_duration
        if config.currency == CURRENCY_LOC:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = u'✿'
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = u'_ ✿ * #,##0.00_ ;_ ✿ * -#,##0.00_ ;_ ✿ * "-"??_ ;_ @_ '
        elif config.currency == CURRENCY_CHF:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = 'Fr.'
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = False
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = '_ Fr\. * #,##0.00_ ;_ Fr\. * -#,##0.00_ ;_ Fr\. * "-"??_ ;_ @_ '
        else:
            repanier.apps.REPANIER_SETTINGS_CURRENCY_DISPLAY = u'€'
            repanier.apps.REPANIER_SETTINGS_AFTER_AMOUNT = True
            repanier.apps.REPANIER_SETTINGS_CURRENCY_XLSX = u'_ € * #,##0.00_ ;_ € * -#,##0.00_ ;_ € * "-"??_ ;_ @_ '
        if config.home_site is not None and len(config.home_site.strip()) == 0:
            repanier.apps.REPANIER_SETTINGS_HOME_SITE = "/"
        else:
            repanier.apps.REPANIER_SETTINGS_HOME_SITE = config.home_site
        repanier.apps.REPANIER_SETTINGS_TRANSPORT = config.transport
        repanier.apps.REPANIER_SETTINGS_MIN_TRANSPORT = config.min_transport
        bank_account = BankAccount.objects.filter(operation_status=BANK_LATEST_TOTAL).order_by('?').first()
        if bank_account is None:
            # If not latest total exists, create it with operation date before all movements
            bank_account = BankAccount.objects.all().order_by("operation_date").first()
            if bank_account is None:
                BankAccount.objects.create(operation_status=BANK_LATEST_TOTAL,
                                           operation_date=timezone.now().date())
            else:
                BankAccount.objects.create(operation_status=BANK_LATEST_TOTAL,
                                           operation_date=bank_account.operation_date + datetime.timedelta(
                                               days=-1))

        producer_buyinggroup = Producer.objects.filter(represent_this_buyinggroup=True).order_by('?').first()
        if producer_buyinggroup is None:
            producer_buyinggroup = Producer.objects.create(
                short_profile_name="z-%s" % repanier.apps.REPANIER_SETTINGS_GROUP_NAME,
                long_profile_name=repanier.apps.REPANIER_SETTINGS_GROUP_NAME,
                represent_this_buyinggroup=True
            )
        if producer_buyinggroup is not None:
            membership_fee_product = product.Product.objects.filter(is_membership_fee=True, is_active=True).order_by(
                '?').first()
            if membership_fee_product is None:
                membership_fee_product = product.Product.objects.create(
                    producer_id=producer_buyinggroup.id,
                    is_membership_fee=True,
                    order_unit=PRODUCT_ORDER_UNIT_SUBSCRIPTION,
                    vat_level=VAT_100
                )
            cur_language = translation.get_language()
            for language in settings.PARLER_LANGUAGES[settings.SITE_ID]:
                language_code = language["code"]
                translation.activate(language_code)
                membership_fee_product.set_current_language(language_code)
                membership_fee_product.long_name = "%s" % (_("Membership fee"))
                membership_fee_product.save()
            translation.activate(cur_language)

        customer_buyinggroup = Customer.objects.filter(represent_this_buyinggroup=True).order_by('?')
        if not customer_buyinggroup.exists():
            user = User.objects.create_user(
                username="******" % repanier.apps.REPANIER_SETTINGS_GROUP_NAME,
                email="%s%s" % (
                repanier.apps.REPANIER_SETTINGS_GROUP_NAME, settings.DJANGO_SETTINGS_ALLOWED_MAIL_EXTENSION),
                password=uuid.uuid1().hex,
                first_name=EMPTY_STRING, last_name=repanier.apps.REPANIER_SETTINGS_GROUP_NAME)
            Customer.objects.create(
                user=user,
                short_basket_name="z-%s" % repanier.apps.REPANIER_SETTINGS_GROUP_NAME,
                long_basket_name=repanier.apps.REPANIER_SETTINGS_GROUP_NAME,
                phone1='0499/96.64.32',
                represent_this_buyinggroup=True
            )

        menu_pool.clear()
        toolbar_pool.unregister(repanier.cms_toolbar.RepanierToolbar)
        toolbar_pool.register(repanier.cms_toolbar.RepanierToolbar)
        cache.clear()
Esempio n. 41
0
    def add_structure_mode_item(self, *args, **kwargs):
        if not self.toolbar.auto_translate:
            super(NewPhTb, self).add_structure_mode_item(*args, **kwargs)

class NewPageTb(PageToolbar):
    def add_draft_live(self, *args, **kwargs):
        return self.add_draft_live_item(
            template='cms/toolbar/items/live_draft_translate.html')

    def add_publish_button(self, *args, **kwargs):
        if not self.toolbar.auto_translate:
            super(NewPageTb, self).add_publish_button(*args, **kwargs)

# Remove existing page toolbar
toolbar_pool.unregister(PlaceholderToolbar)
toolbar_pool.register(NewPhTb)
toolbar_pool.unregister(PageToolbar)
toolbar_pool.register(NewPageTb)

from cms.templatetags.cms_admin import TreePublishRow
from cms.utils.compat.dj import force_unicode
from django.utils.safestring import mark_safe

old_render = TreePublishRow.render_tag

def render_tag(self, context, page, language):
    if page.auto_translate(language) and not page.auto_empty(language):
        return mark_safe('<span style="background-color:#ad7fa8;" class="%s" title="%s"></span>' % (
            'translated', force_unicode(_('Managed Translation'))))
    return old_render(self, context, page, language)
Esempio n. 42
0
"""Toolbar extensions for CMS"""
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _

from cms.toolbar_base import CMSToolbar
from cms.toolbar_pool import toolbar_pool


class SocialaggregatorToolbar(CMSToolbar):

    def populate(self):
        socialaggregator_menu = self.toolbar.get_or_create_menu(
            'socialaggregator-menu', _('SocialAggregator'))

        url = reverse('admin:socialaggregator_feed_add')
        socialaggregator_menu.add_sideframe_item(_('New feed'), url=url)

        url = reverse('admin:socialaggregator_ressource_add')
        socialaggregator_menu.add_sideframe_item(_('New ressource'), url=url)

        socialaggregator_menu.add_break()

        url = reverse('admin:socialaggregator_feed_changelist')
        socialaggregator_menu.add_sideframe_item(_('Feeds list'), url=url)

        url = reverse('admin:socialaggregator_ressource_changelist')
        socialaggregator_menu.add_sideframe_item(_('Ressources list'), url=url)


toolbar_pool.register(SocialaggregatorToolbar)