def set_defaults(config): config.setdefault('plugins_with_extra_fields', {}) config['plugins_with_extra_fields'].setdefault('ShopReorderButtonPlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Margins': ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], 'extra_units:Margins': 'px,em' }, )) config['plugins_with_extra_fields'].setdefault('ShopCancelOrderButtonPlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Margins': ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], 'extra_units:Margins': 'px,em' }, ))
def set_defaults(config): config.setdefault('bootstrap3', {}) config['bootstrap3'].setdefault( 'breakpoints', ( ('xs', (768, 'mobile', _("mobile phones"), 750, 768)), ('sm', (768, 'tablet', _("tablets"), 750, 992)), ('md', (992, 'laptop', _("laptops"), 970, 1200)), ('lg', (1200, 'desktop', _("large desktops"), 1170, 1980)),)) for tpl in config['bootstrap3']['breakpoints']: if len(tpl[1]) != 5: msg = "The configuration directive CMSPLUGIN_CASCADE['bootstrap3']['bootstrap3']['{}'] requires 5 parameters" raise ImproperlyConfigured(msg.format(tpl[0])) config['bootstrap3'].setdefault('gutter', 30) config['plugins_with_extra_fields'].setdefault('BootstrapButtonPlugin', PluginExtraFieldsConfig()) config['plugins_with_extra_fields'].setdefault('BootstrapRowPlugin', PluginExtraFieldsConfig()) config['plugins_with_extra_fields'].setdefault('BootstrapJumbotronPlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-bottom', 'padding-top', 'padding-bottom'], 'extra_units:Paddings': 'px,em' } )) config['plugins_with_extra_fields'].setdefault('HeadingPlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Margins': ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], 'extra_units:Margins': 'px,em' }, allow_override=False )) config['plugins_with_extra_fields'].setdefault('HorizontalRulePlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-bottom'], 'extra_units:Paddings': 'px,em' }, allow_override=False )) config['plugins_with_extra_render_templates'].setdefault('BootstrapSecondaryMenuPlugin', ( ('cascade/bootstrap3/secmenu-list-group.html', _("List Group")), ('cascade/bootstrap3/secmenu-unstyled-list.html', _("Unstyled List")),)) if os.getenv('DJANGO_CLIENT_FRAMEWORK', '').startswith('angular'): config['bootstrap3']['template_basedir'] = 'angular-ui'
def set_defaults(config): config.setdefault('bootstrap4', {}) config['bootstrap4'].setdefault('default_bounds', { Breakpoint.xs: Bound(320, 572), Breakpoint.sm: Bound(540, 540), Breakpoint.md: Bound(720, 720), Breakpoint.lg: Bound(960, 960), Breakpoint.xl: Bound(1140, 1140), }) config['bootstrap4'].setdefault('fluid_bounds', { Breakpoint.xs: Bound(320, 576), Breakpoint.sm: Bound(576, 768), Breakpoint.md: Bound(768, 992), Breakpoint.lg: Bound(992, 1200), Breakpoint.xl: Bound(1200, 1980), }) config['bootstrap4'].setdefault('gutter', 30) config['plugins_with_extra_mixins'].setdefault('BootstrapAccordionPlugin', BootstrapUtilities( BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault('BootstrapAccordionGroupPlugin', BootstrapUtilities( BootstrapUtilities.background_and_color, BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault('BootstrapCardPlugin', BootstrapUtilities( BootstrapUtilities.background_and_color, BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault('BootstrapCarouselPlugin', BootstrapUtilities( BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault('BootstrapContainerPlugin', BootstrapUtilities( BootstrapUtilities.paddings, )) config['plugins_with_extra_mixins'].setdefault('HeadingPlugin', BootstrapUtilities( BootstrapUtilities.margins, )) config['plugins_with_extra_fields'].setdefault('BootstrapJumbotronPlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-bottom', 'padding-top', 'padding-bottom'], 'extra_units:Paddings': 'px,rem' } )) config['plugins_with_extra_render_templates'].setdefault('BootstrapSecondaryMenuPlugin', [ ('cascade/bootstrap4/secmenu-list-group.html', _("List Group")), ('cascade/bootstrap4/secmenu-unstyled-list.html', _("Unstyled List")) ])
def set_defaults(config): from cmsplugin_cascade.extra_fields.config import PluginExtraFieldsConfig config.setdefault('plugins_with_extra_fields', {}) plugins_with_extra_fields = config['plugins_with_extra_fields'] plugins_with_extra_fields.setdefault( 'HorizontalRulePlugin', PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Border': ['border-top'], 'extra_fields:Border Radius': ['border-radius'], 'extra_units:Border Radius': 'px,rem', }, allow_override=False, ))
def set_defaults(config): config.setdefault('bootstrap4', {}) config['bootstrap4'].setdefault( 'default_bounds', OrderedDict([ (Breakpoint.xs, Bound(320, 572)), (Breakpoint.sm, Bound(540, 540)), (Breakpoint.md, Bound(720, 720)), (Breakpoint.lg, Bound(960, 960)), (Breakpoint.xl, Bound(1140, 1140)), ])) config['bootstrap4'].setdefault( 'fluid_bounds', OrderedDict([ (Breakpoint.xs, Bound(320, 576)), (Breakpoint.sm, Bound(576, 768)), (Breakpoint.md, Bound(768, 992)), (Breakpoint.lg, Bound(992, 1200)), (Breakpoint.xl, Bound(1200, 1980)), ])) config['bootstrap4'].setdefault('gutter', 30) config['plugins_with_extra_mixins'].setdefault( 'BootstrapAccordionPlugin', BootstrapUtilities(BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault( 'BootstrapAccordionGroupPlugin', BootstrapUtilities( BootstrapUtilities.background_and_color, BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault( 'BootstrapCardPlugin', BootstrapUtilities( BootstrapUtilities.background_and_color, BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault( 'BootstrapCarouselPlugin', BootstrapUtilities(BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault( 'BootstrapContainerPlugin', BootstrapUtilities(BootstrapUtilities.paddings, )) config['plugins_with_extra_mixins'].setdefault( 'HeadingPlugin', BootstrapUtilities(BootstrapUtilities.margins, )) config['plugins_with_extra_mixins'].setdefault( 'HorizontalRulePlugin', BootstrapUtilities(BootstrapUtilities.margins, )) config['plugins_with_extra_fields'].setdefault( 'BootstrapTabSetPlugin', PluginExtraFieldsConfig(css_classes={ 'multiple': True, 'class_names': ['nav-tabs', 'nav-pills', 'nav-fill', 'nav-justified'], }, )) config['plugins_with_extra_render_templates'].setdefault( 'BootstrapSecondaryMenuPlugin', [('cascade/bootstrap4/secmenu-list-group.html', _("List Group")), ('cascade/bootstrap4/secmenu-unstyled-list.html', _("Unstyled List")) ])
) LANGUAGE_CODE = 'en' CMS_TEMPLATES = ( ('cascade/testing.html', 'Default Page'), ) CMSPLUGIN_CASCADE_PLUGINS = ( 'cmsplugin_cascade.link', 'cmsplugin_cascade.bootstrap3', ) CMSPLUGIN_CASCADE = { 'plugins_with_extra_fields': { 'BootstrapButtonPlugin': PluginExtraFieldsConfig(), 'BootstrapContainerPlugin': PluginExtraFieldsConfig(), 'BootstrapColumnPlugin': PluginExtraFieldsConfig(), 'BootstrapRowPlugin': PluginExtraFieldsConfig(), 'BootstrapPicturePlugin': PluginExtraFieldsConfig(), 'SimpleWrapperPlugin': PluginExtraFieldsConfig(), }, 'plugins_with_sharables': { 'BootstrapImagePlugin': ( 'image_shapes', 'image_width_responsive', 'image_width_fixed', 'image_height', 'resize_options', ), 'BootstrapPicturePlugin': (
##################### DJANGOCMS-CASCADE CMSPLUGIN_CASCADE_PLUGINS = ( 'cmsplugin_cascade.segmentation', 'cmsplugin_cascade.generic', 'cmsplugin_cascade.leaflet', 'cmsplugin_cascade.link', # 'cmsplugin_cascade.sharable', 'cmsplugin_cascade.bootstrap3', ) CMSPLUGIN_CASCADE = { 'alien_plugins': ('TextPlugin', 'TextLinkPlugin',), 'plugins_with_extra_fields': { 'BootstrapRowPlugin' : PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Margins': ['margin-top', 'margin-bottom'], 'extra_units:Margins' : 'px,em'}), 'BootstrapJumbotronPlugin': PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Margins': ['padding-top', 'padding-bottom', 'margin-bottom'], 'extra_units:Margins' : 'px,em'}), }, # 'bootstrap3' : ( # ('xs', (768, 'mobile', _("mobile phones"), 750, 768)), # ('sm', (768, 'tablet', _("tablets"), 750, 992)), # ('md', (992, 'laptop', _("laptops"), 970, 1200)), # ('lg', (1200, 'desktop', _("large desktops"), 1170, 2500)), # ), 'segmentation_mixins' : ( ( 'cmsplugin_cascade.segmentation.mixins.EmulateUserModelMixin', 'cmsplugin_cascade.segmentation.mixins.EmulateUserAdminMixin',
def CMSPLUGIN_CASCADE(self): import os from collections import OrderedDict from importlib import import_module from django.core.exceptions import ImproperlyConfigured from django.utils.translation import ugettext_lazy from cmsplugin_cascade.widgets import (NumberInputWidget, MultipleCascadingSizeWidget, ColorPickerWidget, SelectTextAlignWidget, SelectOverflowWidget) if hasattr(self, '_config_CMSPLUGIN_CASCADE'): return self._config_CMSPLUGIN_CASCADE INSTALLED_APPS = self._setting('INSTALLED_APPS') config = self._setting('CMSPLUGIN_CASCADE', {}) config.setdefault('alien_plugins', ['TextPlugin']) config.setdefault('plugin_prefix', None) config.setdefault('plugins_with_extra_fields', {}) if 'cmsplugin_cascade.extra_fields' in INSTALLED_APPS: from cmsplugin_cascade.extra_fields.config import PluginExtraFieldsConfig plugins_with_extra_fields = config['plugins_with_extra_fields'] plugins_with_extra_fields.setdefault('SimpleWrapperPlugin', PluginExtraFieldsConfig()) plugins_with_extra_fields.setdefault( 'HeadingPlugin', PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Margins': [ 'margin-top', 'margin-right', 'margin-bottom', 'margin-left' ], 'extra_units:Margins': 'px,em' }, allow_override=False)) plugins_with_extra_fields.setdefault( 'HorizontalRulePlugin', PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-bottom'], 'extra_units:Paddings': 'px,em' }, allow_override=False)) for plugin, plugin_config in plugins_with_extra_fields.items(): if not isinstance(plugin_config, PluginExtraFieldsConfig): msg = "CMSPLUGIN_CASCADE['plugins_with_extra_fields']['{}'] must instantiate a class of type PluginExtraFieldsConfig" raise ImproperlyConfigured(msg.format(plugin)) config.setdefault('plugins_with_sharables', {}) if 'cmsplugin_cascade.sharable' in INSTALLED_APPS: config['plugins_with_sharables'].setdefault( 'FramedIconPlugin', ( 'font_size', 'color', 'background_color', 'text_align', 'border', 'border_radius', )) config['exclude_hiding_plugin'] = list( config.get('exclude_hiding_plugin', [])) config['exclude_hiding_plugin'].append('SegmentPlugin') config.setdefault('link_plugin_classes', ( 'cmsplugin_cascade.link.plugin_base.DefaultLinkPluginBase', 'cmsplugin_cascade.link.plugin_base.LinkElementMixin', 'cmsplugin_cascade.link.forms.LinkForm', )) config['plugins_with_bookmark'] = list( config.get('plugins_with_bookmark', [])) config['plugins_with_bookmark'].extend( ['SimpleWrapperPlugin', 'HeadingPlugin']) config.setdefault('bookmark_prefix', '') config.setdefault('extra_inline_styles', OrderedDict()) extra_inline_styles = config['extra_inline_styles'] extra_inline_styles.setdefault( 'Margins', (['margin-top', 'margin-right', 'margin-bottom', 'margin-left' ], MultipleCascadingSizeWidget)) extra_inline_styles.setdefault('Paddings', ([ 'padding-top', 'padding-right', 'padding-bottom', 'padding-left' ], MultipleCascadingSizeWidget)) extra_inline_styles.setdefault( 'Widths', (['min-width', 'width', 'max-width'], MultipleCascadingSizeWidget)) extra_inline_styles.setdefault('Heights', (['min-height', 'height', 'max-height' ], MultipleCascadingSizeWidget)) extra_inline_styles.setdefault( 'Text Alignement', (('text-align', ), SelectTextAlignWidget)) extra_inline_styles.setdefault( 'Font Size', (('font-size', ), MultipleCascadingSizeWidget)) extra_inline_styles.setdefault('Line Height', (('line-height', ), NumberInputWidget)) extra_inline_styles.setdefault('Colors', (( 'color', 'background-color', ), ColorPickerWidget)) extra_inline_styles.setdefault('Overflow', (( 'overflow', 'overflow-x', 'overflow-y', ), SelectOverflowWidget)) if 'cmsplugin_cascade.segmentation' in INSTALLED_APPS: config.setdefault('segmentation_mixins', [ ('cmsplugin_cascade.segmentation.mixins.EmulateUserModelMixin', 'cmsplugin_cascade.segmentation.mixins.EmulateUserAdminMixin') ]) config.setdefault( 'icon_font_root', os.path.abspath( os.path.join(self._setting('MEDIA_ROOT'), 'icon_fonts'))) config.setdefault('plugins_with_extra_render_templates', {}) config['plugins_with_extra_render_templates'].setdefault( 'TextLinkPlugin', [ ('cascade/link/text-link.html', ugettext_lazy("default")), ('cascade/link/text-link-linebreak.html', ugettext_lazy("with line break")), ]) config['plugins_with_extra_render_templates'].setdefault( 'LeafletPlugin', [ ('cascade/plugins/leaflet.html', ugettext_lazy("default")), ('cascade/plugins/googlemap.html', ugettext_lazy("Google Map")), ]) config.setdefault('allow_plugin_hiding', False) config.setdefault('cache_strides', True) for module_name in self.CASCADE_PLUGINS: try: settings_module = import_module( '{}.settings'.format(module_name)) getattr(settings_module, 'set_defaults')(config) except (ImportError, AttributeError, AppRegistryNotReady): continue self._config_CMSPLUGIN_CASCADE = config return config
('shop/catalog/product-heading.html', _("Product Heading")), ('myshop/catalog/manufacturer-filter.html', _("Manufacturer Filter")), ], # required to purchase real estate 'ShopAddToCartPlugin': [ (None, _("Default")), ('myshop/catalog/commodity-add2cart.html', _("Add Commodity to Cart")), ], }, 'plugins_with_sharables': { 'BootstrapImagePlugin': ['image_shapes', 'image_width_responsive', 'image_width_fixed', 'image_height', 'resize_options'], 'BootstrapPicturePlugin': ['image_shapes', 'responsive_heights', 'responsive_zoom', 'resize_options'], }, 'plugins_with_extra_fields': { 'BootstrapCardPlugin': PluginExtraFieldsConfig(), 'BootstrapCardHeaderPlugin': PluginExtraFieldsConfig(), 'BootstrapCardBodyPlugin': PluginExtraFieldsConfig(), 'BootstrapCardFooterPlugin': PluginExtraFieldsConfig(), 'SimpleIconPlugin': PluginExtraFieldsConfig(), }, 'plugins_with_extra_mixins': { 'BootstrapContainerPlugin': BootstrapUtilities(), 'BootstrapRowPlugin': BootstrapUtilities(BootstrapUtilities.paddings), 'BootstrapYoutubePlugin': BootstrapUtilities(BootstrapUtilities.margins), 'BootstrapButtonPlugin': BootstrapUtilities(BootstrapUtilities.floats), }, 'leaflet': { 'tilesURL': 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', 'accessToken': 'pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', 'apiKey': 'AIzaSyD71sHrtkZMnLqTbgRmY_NsO0A9l9BQmv4',
'cascade/js/admin/linkpluginbase.js': ('cascade/js/admin/sharableglossary.js', ), 'cascade/js/admin/defaultlinkplugin.js': ('cascade/js/admin/linkpluginbase.js', ), 'cascade/js/admin/imageplugin.js': ('cascade/js/admin/linkpluginbase.js', ), 'cascade/js/admin/pictureplugin.js': ('cascade/js/admin/linkpluginbase.js', ), } """The editor of some plugins requires JavaScript file. Here we can specify which is a list of dependencies""" CMSPLUGIN_CASCADE['dependencies'].update(orig_config.get('dependencies', {})) if 'cmsplugin_cascade.extra_fields' in settings.INSTALLED_APPS: CMSPLUGIN_CASCADE['plugins_with_extra_fields'] = { 'BootstrapButtonPlugin': PluginExtraFieldsConfig(), 'BootstrapRowPlugin': PluginExtraFieldsConfig(), 'BootstrapJumbotronPlugin': PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Paddings': ['padding-top', 'padding-bottom'], 'extra_units:Paddings': 'px,em' }), 'SimpleWrapperPlugin': PluginExtraFieldsConfig(), 'HeadingPlugin': PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], 'extra_units:Paddings':
'cmsplugin_cascade.leaflet', 'cmsplugin_cascade.link', # 'cmsplugin_cascade.sharable', 'cmsplugin_cascade.bootstrap3', ) CMSPLUGIN_CASCADE = { 'alien_plugins': ( 'TextPlugin', 'TextLinkPlugin', ), 'plugins_with_extra_fields': { 'BootstrapRowPlugin': PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Margins': ['margin-top', 'margin-bottom'], 'extra_units:Margins': 'px,em' }), 'BootstrapJumbotronPlugin': PluginExtraFieldsConfig( inline_styles={ 'extra_fields:Margins': ['padding-top', 'padding-bottom', 'margin-bottom'], 'extra_units:Margins': 'px,em' }), }, # 'bootstrap3' : ( # ('xs', (768, 'mobile', _("mobile phones"), 750, 768)), # ('sm', (768, 'tablet', _("tablets"), 750, 992)), # ('md', (992, 'laptop', _("laptops"), 970, 1200)),
'cascade/js/ring.js': 'cascade/js/underscore.js', 'cascade/js/admin/sharableglossary.js': 'cascade/js/ring.js', 'cascade/js/admin/segmentplugin.js': 'cascade/js/ring.js', 'cascade/js/admin/jumbotronplugin.js': 'cascade/js/ring.js', 'cascade/js/admin/fonticonplugin.js': 'cascade/js/ring.js', 'cascade/js/admin/linkpluginbase.js': ('cascade/js/admin/sharableglossary.js',), 'cascade/js/admin/defaultlinkplugin.js': ('cascade/js/admin/linkpluginbase.js',), 'cascade/js/admin/imageplugin.js': ('cascade/js/admin/linkpluginbase.js',), 'cascade/js/admin/pictureplugin.js': ('cascade/js/admin/linkpluginbase.js',), } """The editor of some plugins requires JavaScript file. Here we can specify which is a list of dependencies""" CMSPLUGIN_CASCADE['dependencies'].update(orig_config.get('dependencies', {})) if 'cmsplugin_cascade.extra_fields' in settings.INSTALLED_APPS: CMSPLUGIN_CASCADE['plugins_with_extra_fields'] = { 'BootstrapButtonPlugin': PluginExtraFieldsConfig(), 'BootstrapRowPlugin': PluginExtraFieldsConfig(), 'BootstrapJumbotronPlugin': PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Paddings': ['padding-top', 'padding-bottom'], 'extra_units:Paddings': 'px,em'}), 'SimpleWrapperPlugin': PluginExtraFieldsConfig(), 'HeadingPlugin': PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-right', 'margin-bottom', 'margin-left'], 'extra_units:Paddings': 'px,em'}, allow_override=False), 'HorizontalRulePlugin': PluginExtraFieldsConfig(inline_styles={ 'extra_fields:Paddings': ['margin-top', 'margin-bottom'], 'extra_units:Paddings': 'px,em'}, allow_override=False), } CMSPLUGIN_CASCADE['plugins_with_extra_fields'].update( orig_config.get('plugins_with_extra_fields', {})) for plugin, config in CMSPLUGIN_CASCADE['plugins_with_extra_fields'].items():