def get_options(self): registry = queryUtility(IRegistry) adapted = IMosaicRegistryAdapter(registry) pt = self.obtainType() kwargs = { 'type': pt, 'context': self.context, 'request': self.request, } result = adapted(**kwargs) result['canChangeLayout'] = checkPermission( 'plone.CustomizeContentLayouts', self.context) result['context_url'] = self.context.absolute_url() result['tinymce'] = get_tinymce_options(self.context, self.field, self.request) if 'pattern_options' in result['tinymce']: # BBB Plone 4.3.x result['tinymce'] = result['tinymce']['pattern_options'] result['customContentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace('.', '-')) result['contentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace('.', '-').replace('-content', '-contentLayout')) result['customContentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name) result['contentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name.replace('.content', '.contentLayout')) result['available_layouts'] = getContentLayoutsForType(pt) return {'data': result}
def test__tinymce_options_different_contexts(self): """Test if ``get_tinymce_options`` can be called with different contexts, including invalid and form contexts. """ request = self.layer['request'] portal = self.layer['portal'] portal.invokeFactory('Folder', 'sub') sub = portal.sub # TinyMCE on portal context options = get_tinymce_options(portal, None, request) self.assertEqual(options['relatedItems']['basePath'], '/plone') # TinyMCE on sub folder context options = get_tinymce_options(sub, None, request) self.assertEqual(options['relatedItems']['basePath'], '/plone/sub')
def get_options(self): registry = queryUtility(IRegistry) adapted = IMosaicRegistryAdapter(registry) pt = self.obtainType() kwargs = { 'type': pt, 'context': self.context, 'request': self.request, } result = adapted(**kwargs) result['canChangeLayout'] = checkPermission( 'plone.CustomizeContentLayouts', self.context) result['context_url'] = self.context.absolute_url() result['tinymce'] = get_tinymce_options( self.context, self.field, self.request)['pattern_options'] result['customContentLayout_selector'] = '#formfield-%s' % self.name.replace('.', '-') result['contentLayout_selector'] = '#formfield-%s' % ( self.name.replace('.', '-').replace('-content', '-contentLayout')) result['customContentLayout_field_selector'] = '[name="%s"]' % self.name result['contentLayout_field_selector'] = '[name="%s"]' % ( self.name.replace('.content', '.contentLayout')) result['available_layouts'] = getContentLayoutsForType(pt) return {'data': result}
def _base_args(self, context, field, request): args = super(TinyMCEWidget, self)._base_args(context, field, request) args["name"] = field.getName() properties = getToolByName(context, "portal_properties") charset = properties.site_properties.getProperty("default_charset", "utf-8") args["value"] = (request.get(field.getName(), field.getAccessor(context)())).decode(charset) args.setdefault("pattern_options", {}) merged = dict_merge(get_tinymce_options(context, field, request), args["pattern_options"]) args["pattern_options"] = merged return args
def _base_args(self): args = super(RichTextWidget, self)._base_args() args['name'] = self.name value = self.value and self.value.raw_encoded or '' args['value'] = (self.request.get( self.field.getName(), value)).decode('utf-8') args.setdefault('pattern_options', {}) merged = dict_merge(get_tinymce_options(self.context, self.field, self.request), # noqa args['pattern_options']) args['pattern_options'] = merged['pattern_options'] return args
def get_options(self): registry = queryUtility(IRegistry) adapted = IMosaicRegistryAdapter(registry) pt = self.obtainType() kwargs = { 'type': pt, 'context': self.context, 'request': self.request, } result = adapted(**kwargs) sm = getSecurityManager() result['canChangeLayout'] = sm.checkPermission( 'Plone: Customize Content Layouts', self.context) # This is a site permission... # you can either manage layouts globally or not result['canManageLayouts'] = sm.checkPermission( 'Plone: Manage Content Layouts', api.portal.get()) result['context_url'] = self.context.absolute_url() result['tinymce'] = get_tinymce_options( self.context, self.field, self.request ) if 'pattern_options' in result['tinymce']: # BBB Plone 4.3.x result['tinymce'] = result['tinymce']['pattern_options'] result['customContentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace('.', '-') ) result['contentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace( '.', '-' ).replace( '-customContentLayout', '-contentLayout' ) ) result['customContentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name ) result['contentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name.replace('.customContentLayout', '.contentLayout') ) result['available_layouts'] = getContentLayoutsForType(pt) result['user_layouts'] = getUserContentLayoutsForType(pt) return {'data': result}
def get_options(self): registry = queryUtility(IRegistry) adapted = IMosaicRegistryAdapter(registry) kwargs = { 'type': self.obtainType(), 'context': self.context, 'request': self.request, } result = adapted(**kwargs) result['can_change_layout'] = True result['context_url'] = self.context.absolute_url() result['tinymce'] = get_tinymce_options( self.context, self.field, self.request)['pattern_options'] return {'data': result}
def _base_args(self): args = super(RichTextWidget, self)._base_args() args["name"] = self.name properties = getToolByName(self.context, "portal_properties") charset = properties.site_properties.getProperty("default_charset", "utf-8") value = self.value and self.value.raw_encoded or "" args["value"] = (self.request.get(self.field.getName(), value)).decode(charset) args.setdefault("pattern_options", {}) merged = dict_merge( get_tinymce_options(self.context, self.field, self.request), args["pattern_options"] # noqa ) args["pattern_options"] = merged["pattern_options"] return args
def _base_args(self): args = super(RichTextWidget, self)._base_args() args['name'] = self.name properties = getToolByName(self.context, 'portal_properties') charset = properties.site_properties.getProperty('default_charset', 'utf-8') value = self.value and self.value.raw_encoded or '' args['value'] = (self.request.get( self.field.getName(), value)).decode(charset) args.setdefault('pattern_options', {}) merged = dict_merge(get_tinymce_options(self.context, self.field, self.request), # noqa args['pattern_options']) args['pattern_options'] = merged['pattern_options'] return args
def _base_args(self, context, field, request): args = super(TinyMCEWidget, self)._base_args(context, field, request) args['name'] = field.getName() properties = getToolByName(context, 'portal_properties') charset = properties.site_properties.getProperty( 'default_charset', 'utf-8') args['value'] = (request.get( field.getName(), field.getAccessor(context)())).decode(charset) args.setdefault('pattern_options', {}) merged = dict_merge(get_tinymce_options(context, field, request), args['pattern_options']) args['pattern_options'] = merged['pattern_options'] return args
def _base_args(self, context, field, request): args = super(TinyMCEWidget, self)._base_args(context, field, request) args['name'] = field.getName() properties = getToolByName(context, 'portal_properties') charset = properties.site_properties.getProperty('default_charset', 'utf-8') args['value'] = (request.get(field.getName(), field.getAccessor(context)()) ).decode(charset) args.setdefault('pattern_options', {}) merged = dict_merge(get_tinymce_options(context, field, request), args['pattern_options']) args['pattern_options'] = merged['pattern_options'] return args
def _base_args(self): args = super(RichTextWidget, self)._base_args() args['name'] = self.name value = self.value and self.value.raw_encoded or '' args['value'] = (self.request.get( self.field.getName(), value)).decode('utf-8') args.setdefault('pattern_options', {}) merged_options = dict_merge( get_tinymce_options( self.context, self.field, self.request ), args['pattern_options'] ) args['pattern_options'] = merged_options return args
def rich_text_args(self): args = super(RichTextWidget, self)._base_args() args['name'] = self.name value = self.value and self.value.raw_encoded or '' args['value'] = (self.request.get(self.field.getName(), value)).decode('utf-8') args.setdefault('pattern_options', {}) # displays tinymce editor for anonymous users if api.user.is_anonymous(): add_resource_on_request(self.request, 'mockup-patterns-tinymce-logged-out') merged_options = dict_merge( get_tinymce_options(self.context, self.field, self.request), # noqa args['pattern_options']) args['pattern_options'] = merged_options return args
def _base_args(self): args = super(RichTextWidget, self)._base_args() args['name'] = self.name value = self.value and self.value.raw or u'' value = self.request.get(self.name, value) args['value'] = value args.setdefault('pattern_options', {}) merged_options = dict_merge( get_tinymce_options( self.wrapped_context(), self.field, self.request, ), args['pattern_options'], ) args['pattern_options'] = merged_options return args
def _base_args(self): args = { 'pattern': self.pattern, 'pattern_options': self.pattern_options.copy(), } context = aq_parent(self.wrapped_context()) args['name'] = self.name properties = getToolByName(context, 'portal_properties') charset = properties.site_properties.getProperty('default_charset', 'utf-8') value = self.value and self.value.raw_encoded or '' args['value'] = (self.request.get( self.field.getName(), value)).decode(charset) args.setdefault('pattern_options', {}) merged = dict_merge(get_tinymce_options(context, self.field, self.request), # noqa args['pattern_options']) args['pattern_options'] = merged return args
def get_options(self): registry = queryUtility(IRegistry) adapted = IMosaicRegistryAdapter(registry) pt = self.obtainType() kwargs = { 'type': pt, 'context': self.context, 'request': self.request, } result = adapted(**kwargs) sm = getSecurityManager() result['canChangeLayout'] = sm.checkPermission( 'Plone: Customize Content Layouts', self.context) # This is a site permission... # you can either manage layouts globally or not result['canManageLayouts'] = sm.checkPermission( 'Plone: Manage Content Layouts', api.portal.get()) result['context_url'] = self.context.absolute_url() result['tinymce'] = get_tinymce_options(self.context, self.field, self.request) if 'pattern_options' in result['tinymce']: # BBB Plone 4.3.x result['tinymce'] = result['tinymce']['pattern_options'] result['customContentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace('.', '-')) result['contentLayout_selector'] = '#formfield-{0:s}'.format( self.name.replace('.', '-').replace('-customContentLayout', '-contentLayout')) result['customContentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name) result['contentLayout_field_selector'] = '[name="{0:s}"]'.format( self.name.replace('.customContentLayout', '.contentLayout')) result['available_layouts'] = getContentLayoutsForType( pt, self.context) # noqa result['user_layouts'] = getUserContentLayoutsForType(pt) return {'data': result}