本文整理汇总了Python中z3c.form.widget.FieldWidget类的典型用法代码示例。如果您正苦于以下问题:Python FieldWidget类的具体用法?Python FieldWidget怎么用?Python FieldWidget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FieldWidget类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testWidgetExtract
def testWidgetExtract(self):
from zope.interface import Interface, implementer
from plone.app.textfield import RichText
from zope.publisher.browser import TestRequest
from Products.CMFCore.PortalContent import PortalContent
from plone.app.textfield.widget import RichTextWidget
from z3c.form.widget import FieldWidget
from z3c.form.interfaces import NOVALUE
class IWithText(Interface):
text = RichText(title=u"Text",
default_mime_type='text/structured',
output_mime_type='text/html')
@implementer(IWithText)
class Context(PortalContent):
text = None
request = TestRequest()
widget = FieldWidget(IWithText['text'], RichTextWidget(request))
widget.update()
value = widget.extract()
self.assertEquals(NOVALUE, value)
request.form['%s' % widget.name] = u"Sample **text**"
request.form['%s.mimeType' % widget.name] = 'text/structured'
value = widget.extract()
self.assertEquals(
u"<p>Sample <strong>text</strong></p>",
value.output.strip())
示例2: testWidgetConverter
def testWidgetConverter(self):
from zope.interface import Interface
from plone.app.textfield import RichText
from zope.publisher.browser import TestRequest
from plone.app.textfield.value import RichTextValue
from plone.app.textfield.widget import RichTextWidget
from plone.app.textfield.widget import RichTextConverter
from z3c.form.widget import FieldWidget
_marker = object()
class IWithText(Interface):
text = RichText(title=u"Text",
default_mime_type='text/structured',
output_mime_type='text/html',
missing_value=_marker)
request = TestRequest()
widget = FieldWidget(IWithText['text'], RichTextWidget(request))
widget.update()
converter = RichTextConverter(IWithText['text'], widget)
self.assertTrue(converter.toFieldValue(u'') is _marker)
self.assertTrue(converter.toFieldValue(RichTextValue(u'')) is _marker)
示例3: testWidgetAllowedTypesField
def testWidgetAllowedTypesField(self):
from zope.interface import Interface, implementer
from plone.app.textfield import RichText
from zope.publisher.browser import TestRequest
from Products.CMFCore.PortalContent import PortalContent
from plone.app.textfield.widget import RichTextWidget
from z3c.form.widget import FieldWidget
class IWithText(Interface):
text = RichText(
title=u"Text",
default_mime_type='text/structured',
output_mime_type='text/html',
allowed_mime_types=(
'text/structured',
'text/html'))
@implementer(IWithText)
class Context(PortalContent):
text = None
request = TestRequest()
widget = FieldWidget(IWithText['text'], RichTextWidget(request))
widget.update()
self.portal['portal_properties']['site_properties']._setPropValue(
'forbidden_contenttypes',
['text/structured'])
allowed = widget.allowedMimeTypes()
self.failUnless('text/html' in allowed)
self.failUnless('text/structured' in allowed)
示例4: DateFieldWidget
def DateFieldWidget(field, request):
"""IFieldWidget factory for DatetimeWidget."""
widget = FieldWidget(field, DateWidget(request))
currentYear = datetime.date.today().year
minimumYearRange = currentYear - 1900 # don't display dates before 1900
widget.years_range = (-minimumYearRange, 1)
return widget
示例5: ImageFieldWidget
def ImageFieldWidget(field, request):
image = FieldWidget(field, ImageWidget(request))
image.value = field.title
# Get the full resource URL for the image:
site = hooks.getSite()
image.src = unicode(zope.traversing.api.traverse(site, "++resource++" + field.image, request=request)())
return image
示例6: OptgroupFieldWidget
def OptgroupFieldWidget(field, request):
"""Factory for OptgroupWidget."""
widget = FieldWidget(field, OptgroupWidget(request))
if hasattr(field, "value_type"):
widget.multiple = getMultiAdapter((field, field.value_type, request), interfaces.IFieldWidget).multiple
else:
widget.multiple = getMultiAdapter((field, request), interfaces.IFieldWidget).multiple
return widget
示例7: DateFieldWidget
def DateFieldWidget(field, request):
widget = FieldWidget(field, DateWidget(request))
widget.pattern_options.setdefault('date', {})
try:
widget.pattern_options['date']['firstDay'] = first_weekday()
except ComponentLookupError:
pass
return widget
示例8: CarouselBackgroundLinkWidget
def CarouselBackgroundLinkWidget(field, request):
widget = FieldWidget(field, RelatedItemsWidget(request))
widget.vocabulary = 'plone.app.vocabularies.Catalog'
widget.pattern_options = widget.pattern_options.copy()
widget.pattern_options.update({
'selectableTypes': ['Image'],
'maximumSelectionSize': 1
})
return widget
示例9: CarouselReferencesWidget
def CarouselReferencesWidget(field, request):
widget = FieldWidget(field, RelatedItemsWidget(request))
widget.vocabulary = 'plone.app.vocabularies.Catalog'
widget.pattern_options = widget.pattern_options.copy()
widget.pattern_options.update({
'selectableTypes': None,
'maximumSelectionSize': None
})
return widget
示例10: test_widget_values
def test_widget_values(self):
from plone.app.widgets.dx import RichTextWidget
from plone.app.textfield.value import RichTextValue
widget = FieldWidget(self.field, RichTextWidget(self.request))
# set the context so we can get tinymce settings
widget.context = self.portal
widget.value = RichTextValue(u'Lorem ipsum \u2026')
base_args = widget._base_args()
self.assertEquals(base_args['value'], u'Lorem ipsum \u2026')
示例11: RecurrenceFieldWidget
def RecurrenceFieldWidget(field, request):
# Please note: If you create a new behavior with superclasses IEventBasic
# and IRecurrence, then you have to reconfigure the dotted path value of
# the start_field parameter for the RecurrenceWidget to the new
# behavior name, like: IMyNewBehaviorName.start.
widget = FieldWidget(field, RecurrenceWidget(request))
widget.start_field = 'IEventBasic.start'
widget.first_day = first_weekday_sun0
widget.show_repeat_forever = False
return widget
示例12: testRichTextAreaWidgetConverter
def testRichTextAreaWidgetConverter(self):
from zope.interface import Interface
from plone.app.textfield import RichText
from zope.publisher.browser import TestRequest
from plone.app.textfield.value import RichTextValue
from plone.app.textfield.widget import RichTextWidget
from plone.app.textfield.widget import RichTextAreaConverter
from z3c.form.widget import FieldWidget
_marker = object()
class IWithText(Interface):
text = RichText(title=u"Text",
default_mime_type='text/structured',
output_mime_type='text/html',
missing_value=_marker)
request = TestRequest()
widget = FieldWidget(IWithText['text'], RichTextWidget(request))
widget.update()
converter = RichTextAreaConverter(IWithText['text'], widget)
# Test with None input.
self.assertRaises(ValueError, converter.toFieldValue, None)
self.assertTrue(converter.toWidgetValue(None) is None)
# Test with string input.
self.assertTrue(converter.toFieldValue('') is _marker)
self.assertRaises(ValueError, converter.toFieldValue, b'Foo')
self.assertRaises(ValueError, converter.toWidgetValue, b'')
self.assertRaises(ValueError, converter.toWidgetValue, b'Foo')
# Test with unicode input.
self.assertTrue(converter.toFieldValue(u'') is _marker)
self.assertEqual(converter.toFieldValue(u'Foo').raw, u'Foo')
self.assertTrue(
isinstance(converter.toFieldValue(u'Foo'), RichTextValue)
)
self.assertEqual(converter.toWidgetValue(u''), u'')
self.assertEqual(converter.toWidgetValue(u'Foo'), u'Foo')
# Test with RichTextValue input.
self.assertTrue(converter.toFieldValue(RichTextValue(u'')) is _marker)
rich_text = RichTextValue(u'Foo')
self.assertEqual(converter.toFieldValue(rich_text), rich_text)
self.assertEqual(converter.toFieldValue(rich_text).raw, u'Foo')
self.assertEqual(converter.toWidgetValue(rich_text), u'Foo')
示例13: NotificationRulesFieldWidget
def NotificationRulesFieldWidget(field, request):
widget = FieldWidget(field, PatternWidget(request))
widget.pattern = 'uutask-notification-rules'
widget.pattern_options = dict()
widget.pattern_options['rule'] = dict(
field2=[i[:2] for i in TIME_UNITS],
field3=[i[:2] for i in TIME_RELATIONS],
field4=[i[:2] for i in SOURCE_NOTIFY_DATE],
)
widget.pattern_options['i18n'] = dict(
add_rule=_(u"Add rule"),
remove=_(u"Remove"),
)
alsoProvides(widget, IInheritParentValue)
return widget
示例14: test_dx_tinymcewidget_single_mimetype
def test_dx_tinymcewidget_single_mimetype(self):
"""A RichTextWidget with only one available mimetype should render the
pattern class directly on itself.
"""
if IMarkupSchema:
# if not, don't run this test
self._set_mimetypes(allowed=('text/html',))
from plone.app.z3cform.widget import RichTextWidget
widget = FieldWidget(self.field, RichTextWidget(self.request))
# set the context so we can get tinymce settings
widget.context = self.portal
rendered = widget.render()
self.assertTrue('<select' not in rendered)
self.assertTrue('pat-tinymce' in rendered)
self.assertTrue('data-pat-tinymce' in rendered)
示例15: test_widget_params
def test_widget_params(self):
from plone.app.z3cform.widget import RichTextWidget
widget = FieldWidget(self.field, RichTextWidget(self.request))
# set the context so we can get tinymce settings
widget.context = self.portal
widget.update()
base_args = widget._base_args()
self.assertEqual(base_args['name'], 'text')
self.assertEqual(base_args['value'], u'')
self.assertEqual(base_args['pattern'], 'tinymce')
self.assertEqual(base_args['pattern_options']['prependToUrl'],
'resolveuid/')
self.assertEqual(
base_args['pattern_options']['upload']['relativePath'],
'@@fileUpload')