class ISound(model.Schema, utils.IUserMixin, utils.IVotingMixin): title = schema.TextLine( title=u'Sound name', required=True, ) description = schema.Text( title=u'Sound description', required=True, ) soundcloud_id = schema.TextLine( title=u'Soundcloud ID', required=True, ) sound_in_step = RelationList( title=u'In pilgrimage steps', description=u'Select pilgrimage steps where this sound will appear.', default=[], value_type=RelationChoice(source=ObjPathSourceBinder( path={'query': '/en/pilgrimage-steps'}, ), ), required=False, ) featured_sound_in_step = RelationList( title=u'As featured in pilgrimage steps', description= u'Select pilgrimage steps where this sound will appear as a featured resource.', default=[], value_type=RelationChoice(source=ObjPathSourceBinder( path={'query': '/en/pilgrimage-steps'}, ), ), required=False, )
class IVideo(model.Schema, utils.IUserMixin, utils.IVotingMixin): title = schema.TextLine( title=u'Video name', required=True, ) description = schema.Text( title=u'Video description', required=True, ) url_youtube = schema.TextLine( title=u'Youtube URL', required=True, ) video_in_step = RelationList( title=u'In pilgrimage steps', description=u'Select pilgrimage steps where this video will appear.', default=[], value_type=RelationChoice(source=ObjPathSourceBinder( path={'query': '/en/pilgrimage-steps'}, ), ), required=False, ) featured_video_in_step = RelationList( title=u'As featured in pilgrimage steps', description= u'Select pilgrimage steps where this video will appear as a featured resource.', default=[], value_type=RelationChoice(source=ObjPathSourceBinder( path={'query': '/en/pilgrimage-steps'}, ), ), required=False, )
class IRelatedContacts(model.Schema): model.fieldset( 'related_contacts', label=_(u'Related contacts'), fields=('aboveContentContact', 'aboveVisbileFields', 'belowContentContact', 'belowVisbileFields', 'see_map', 'see_logo_in_popup'), ) aboveContentContact = RelationList( title=u'Above content related contact', default=[], value_type=RelationChoice( title=_(u'Related'), source=ObjPathSourceBinder(portal_type=('person', 'organization', 'held_position'))), required=False, ) form.widget(aboveVisbileFields=OrderedSelectFieldWidget) aboveVisbileFields = schema.Tuple( title=_(u'Visible fields for above viewlet'), description=_(u'Please select which fields should be visible.'), required=False, default=('street', 'number', 'zip_code', 'city', 'phone', 'cell_phone', 'fax', 'email', 'website', 'activity'), value_type=schema.Choice( vocabulary=u'cpskin.core.vocabularies.contact_fields')) belowContentContact = RelationList( title=u'Below content related contact', default=[], value_type=RelationChoice( title=_(u'Related'), source=ObjPathSourceBinder(portal_type=('person', 'organization', 'held_position'))), required=False, ) form.widget(belowVisbileFields=OrderedSelectFieldWidget) belowVisbileFields = schema.Tuple( title=_(u'Visible fields for below viewlet'), description=_(u'Please select which fields should be visible.'), required=False, default=('title', ), value_type=schema.Choice( vocabulary=u'cpskin.core.vocabularies.contact_fields')) see_map = schema.Bool( title=_(u'See map'), description=_(u'Do you want to map with links of contacts ?'), required=False, default=True) see_logo_in_popup = schema.Bool( title=_(u'See logo on map popup'), description=_(u'Do you want to logo of contact on the popup on map ?'), required=False, default=True)
class IMassChangePortletsSchema(interface.Interface): """Define masschange form fields""" if not HAS_W: selected_obj_paths = RelationList( title= u"Objects to change (leave empty for all Folders and Documents)", required=False, default=[], value_type=RelationChoice(title=u"Related", source=ObjPathSourceBinder())) else: directives.widget('selected_obj_paths', RelatedItemsWidget) selected_obj_paths = RelationList( title= u"Objects to change tags (leave empty for all Folders and Documents)", required=False, default=[], value_type=RelationChoice( title=u"Related", vocabulary="plone.app.vocabularies.Catalog")) text_replace_fields = zope.schema.Tuple( title=u"Fields to update", required=False, description=u"Select fields where you want to apply the text replace", default=('text', ), value_type=zope.schema.Choice(vocabulary=make_vocabulary( (u'text', u"Text body (text)"), (u'header', u"Portlet header"), (u'footer', u"Portlet footer"), ))) directives.widget(text_replace_fields=CheckBoxFieldWidget) text_replace_mode = zope.schema.Choice( title=u"Text replacement mode", required=False, description=u"Select fields where you want to apply the text replace", default=u'plain', vocabulary=make_vocabulary( (u'plain', u"Replace plain text by another one"), (u'regexp', u"Replace pattern using regular expression."), (u'empty', u"Set text on all empty fields."), )) directives.widget(text_replace_mode=RadioFieldWidget) text_replace_source = zope.schema.TextLine( title=u"Text / pattern to replace", description= u"Set the plain text or regular expression to replace. If you choose 'set text on all empty fields', leave this field empty.", required=False, ) text_replace_destination = zope.schema.TextLine( title=u"Replacement text / pattern", required=False, description= u"In regular expression mode, you can use \\1, \\2, etc. here to get pattern groups", )
class IResourceUpload(model.Schema): name = schema.TextLine( title=u'Name', required=True, ) email = schema.TextLine( title=u'E-mail', required=False, ) church = schema.TextLine( title=u'Your church', required=False, ) message = schema.Text( title=u'Message', required=True, ) video = RelationList( title=u'Video', default=[], value_type=RelationChoice( source=ObjPathSourceBinder( path={'query': '/en/resources/videos'} ), ), required=False ) sound = RelationList( title=u'Sound', default=[], value_type=RelationChoice( source=ObjPathSourceBinder( path={'query': '/en/resources/sounds'} ), ), required=False ) document = RelationList( title=u'Document', default=[], value_type=RelationChoice( source=ObjPathSourceBinder( path={'query': '/en/resources/documents'} ), ), required=False )
def __init__(self, portal_types=None, display_backrefs=False, **kwargs): self.display_backrefs = display_backrefs kw = dict() if portal_types: kw['portal_type'] = portal_types RelationList.__init__(self, value_type=RelationChoice( title=u'', source=ObjPathSourceBinder(**kw)), **kwargs)
class ICover(model.Schema): title = schema.TextLine(title=_(u"Cover"), required=True) application = RelationList(title=_(u"application relation list"), required=False, value_type=RelationChoice( title=_(u"application"), source=CatalogSource(Type='category'), )) polyester = RelationList(title=_(u"polyester relation list"), required=False, value_type=RelationChoice( title=_(u"polyester"), source=CatalogSource(Type='polyester'), ))
class IArgomentiSchema(model.Schema): """Marker interface for Argomenti""" tassonomia_argomenti = RelationList( title=_("tassonomia_argomenti_label", default="Tassonomia argomenti"), description=_( "tassonomia_argomenti_help", default="Seleziona una lista di argomenti d'interesse per questo" " contenuto.", ), value_type=RelationChoice( title=_("Argomenti correlati"), vocabulary="plone.app.vocabularies.Catalog", ), required=False, default=[], ) correlato_in_evidenza = RelationList( title=_("correlato_in_evidenza_label", default="Correlato in evidenza"), description=_( "correlato_in_evidenza_help", default="Seleziona un correlato da mettere in evidenza per questo" " contenuto.", ), value_type=RelationChoice( title=_("Correlato in evidenza"), vocabulary="plone.app.vocabularies.Catalog", ), required=False, default=[], ) form.widget( "tassonomia_argomenti", RelatedItemsFieldWidget, vocabulary="plone.app.vocabularies.Catalog", pattern_options={ "maximumSelectionSize": 20, "selectableTypes": ["Pagina Argomento"], }, ) form.widget( "correlato_in_evidenza", RelatedItemsFieldWidget, vocabulary="plone.app.vocabularies.Catalog", pattern_options={"maximumSelectionSize": 1}, ) dexteritytextindexer.searchable("tassonomia_argomenti")
class Iusuario(Interface): title = schema.TextLine(title=_(u'Nome'), required=True) description = schema.TextLine(title=_(u'Sobrenome'), required=False) apelido = schema.TextLine(title=_(u'Apelido'), required=True) cpf = schema.TextLine(title=_(u'CPF'), description=_(u'Deve ter 11 digitos'), required=True, min_length=0, max_length=11) sexo = schema.Choice(title=_(u'sexo'), vocabulary=opSexos, required=False) #Add varios elementos na lista filmesFavoritos = RelationList( title=_(u'Filmes Favoritos'), value_type=RelationChoice(source=CatalogSource(portal_type='filme')), description=_( u'Dos filmes que estao no sistema, dizer quais declara favorito'), required=False, ) #Add um elemento # filmesFavoritos = RelationChoice( # title = _(u'Filmes Favoritos'), # source = CatalogSource(portal_type = 'filme'), # required = False, # ) endereco = schema.Choice(title=_(u"Endereco"), source=getPaises, required=False) aniversario = schema.Date(title=(u'Data de Nascimento'), required=False) dexteritytextindexer.searchable('title', 'description', 'apelido')
class IRelatedDocuments(form.Schema): """The relatedDocument behvavior is a opengever.document specific relateditems behavior. Only allows opengever.documents """ relatedItems = RelationList( title=_(u'label_related_documents', default=u'Related Documents'), default=[], value_type=RelationChoice( title=u"Related", source=RepositoryPathSourceBinder( portal_type=("opengever.document.document", "ftw.mail.mail"), navigation_tree_query={ 'object_provides': [ 'opengever.repository.repositoryroot.IRepositoryRoot', 'opengever.repository.repositoryfolder.' + 'IRepositoryFolderSchema', 'opengever.dossier.behaviors.dossier.IDossierMarker', 'opengever.document.document.IDocumentSchema', 'ftw.mail.mail.IMail', ] }), ), required=False, ) form.fieldset( u'common', label=_(u'fieldset_common', default=u'Common'), fields=[ u'relatedItems', ], )
class IDatasetCorrelati(model.Schema): dataset_correlati = RelationList( title=_("dataset_correlati_label", default="Dataset correlati"), description=_( "dataset_correlati_help", default="Seleziona una lista di schede dataset collegate a questo" " contenuto.", ), default=[], value_type=RelationChoice(vocabulary="plone.app.vocabularies.Catalog"), required=False, ) form.widget( "dataset_correlati", RelatedItemsFieldWidget, vocabulary="plone.app.vocabularies.Catalog", pattern_options={ "selectableTypes": ["Dataset"], "maximumSelectionSize": 50, }, ) model.fieldset( "correlati", label=_("correlati_label", default="Contenuti collegati"), fields=["dataset_correlati"], )
class ILuoghiCorrelatiEvento(model.Schema): """ Events have a differente fieldset for this field """ luoghi_correlati = RelationList( title=_("luoghi_correlati_label", default="Luoghi correlati"), description=_( "luoghi_correlati_event_help", default="Seleziona una lista di luoghi citati. Se il luogo " "dell'evento non è presente sul sito, inserisci le sue " "informazioni nei campi seguenti.", ), default=[], value_type=RelationChoice(vocabulary="plone.app.vocabularies.Catalog"), required=False, ) form.widget( "luoghi_correlati", RelatedItemsFieldWidget, vocabulary="plone.app.vocabularies.Catalog", pattern_options={ "selectableTypes": ["Venue"], "maximumSelectionSize": 50, }, ) model.fieldset( "luogo", label=_("luogo_label", default="Luogo"), fields=["luoghi_correlati"], )
class IStruttureCorrelate(model.Schema): strutture_politiche = RelationList( title="Strutture politiche coinvolte", default=[], value_type=RelationChoice( title=_("Struttura politica coinvolta"), vocabulary="plone.app.vocabularies.Catalog", ), required=False, missing_value=(), description=_( "strutture_politiche_help", default="Seleziona la lista delle strutture politiche coinvolte.", ), ) form.widget( "strutture_politiche", RelatedItemsFieldWidget, vocabulary="plone.app.vocabularies.Catalog", pattern_options={ "maximumSelectionSize": 10, "selectableTypes": ["UnitaOrganizzativa"], }, ) model.fieldset( "informazioni", label=_("informazioni_label", default="Ulteriori informazioni"), fields=["strutture_politiche"], )
class IGefaehrdung(model.Schema): """ Marker interface and Dexterity Python Schema for Gefaehrdung """ directives.widget("focus", CheckBoxFieldWidget) focus = schema.List(title="Fokus", value_type=schema.Choice(vocabulary=ziele)) schwachstelle = schema.Text(title=u"Schwachstelle", required=True) quelle = schema.TextLine(title=u"Gefährdungsquelle", required=False) szenario = schema.Text(title=u"Gefährdungsszenario", required=False) grad_wahrscheinlichkeit = schema.Choice( title=u"Index Gefährdungsbewertung", vocabulary=ampel, required=True) wahrscheinlichkeit = schema.Text( title=u"Erläuterung zur Gefährdungsbewertung", required=False) massnahmen = RelationList( title=u"Maßnahmen zur Vermeidung oder Minimierung des Risikos", value_type=RelationChoice(vocabulary='plone.app.vocabularies.Catalog'), required=False) erlaeuterung = schema.Text(title=u"Erläuterungen zu den Maßnahmen", required=False) directives.widget( "massnahmen", RelatedItemsFieldWidget, pattern_options={ "selectableTypes": ["Massnahme"], "basePath": make_relation_root_path, }, )
class IResponse(Interface): transition = schema.Choice( title=_("label_transition", default="Transition"), description=_(u"help_transition", default=""), source=util.getTransitionVocab, required=False, ) text = schema.Text( title=_('label_response', default="Response"), description=_('help_response', default=""), required=False, ) date_of_completion = schema.Date( title=_(u"label_date_of_completion", default=u"Date of completion"), description=_(u"help_date_of_completion", default=u""), required=False, ) relatedItems = RelationList( title=_(u'label_related_items', default=u'Related Items'), default=[], value_type=RelationChoice( title=u"Related", source=DossierPathSourceBinder( portal_type=("opengever.document.document", "ftw.mail.mail"), ), ), required=False, )
class ISchedule(model.Schema): """Schedule Type""" id = schema.TextLine( title=_(u"Code"), required=True, description=_( u"A String Based on Abbreviation of Administrative Area.")) title = schema.TextLine( title=_(u"Title"), required=True, ) description = schema.Text( title=_(u"Description"), required=False, ) body = RichTextField( title=_(u"Body"), required=False, ) temples = RelationList( title=_(u"Related Temples"), required=False, default=[], value_type=RelationChoice(title=u"Related Temple", source=CatalogSource(portal_type='Temple')), )
class IRestrictAddableDossierTemplates(model.Schema): model.fieldset( u'common', label=base_mf(u'fieldset_common', default=u'Common'), fields=[ u'addable_dossier_templates', ], ) addable_dossier_templates = RelationList( title=_(u'label_addable_dossier_templates', default=u'Addable dossier templates'), default=[], missing_value=[], value_type=RelationChoice( title=u'Addable dossiertemplate', source=SolrObjPathSourceBinder( portal_type=("opengever.dossier.dossiertemplate"), is_subdossier=False, navigation_tree_query={ 'object_provides': ['opengever.dossier.templatefolder.interfaces.ITemplateFolder', 'opengever.dossier.dossiertemplate.behaviors.IDossierTemplateSchema'] }), ), required=False, )
class IHomepage3(form.Schema, IBaseHomepage, IImageScaleTraversable): """ """ languageindependent('slider_items') slider_items = RelationList( title=u'Slider items', value_type=RelationChoice(source=ObjPathSourceBinder( object_provides=ICarouselImageEnabled.__identifier__)), required=True) languageindependent('news_source') news_source = RelationChoice( title=u'Source collection for news listing', source=ObjPathSourceBinder(object_provides=[ IATTopic.__identifier__, ICollection.__identifier__ ]), required=False) languageindependent('more_news_target') more_news_target = RelationChoice( title=u'Target for "More News" link', source=ObjPathSourceBinder(object_provides=[ IATTopic.__identifier__, ICollection.__identifier__ ]), required=False, ) form.widget( third_column_text="plone.app.z3cform.wysiwyg.WysiwygFieldWidget") third_column_text = schema.Text( title=u"Third Column Text", description=u'', required=False, )
class IRelatedItems(model.Schema): """Behavior interface to make a Dexterity type support related items. """ relatedItems = RelationList( title=_(u'label_related_items', default=u'Related Items'), default=[], value_type=RelationChoice( title=u'Related', vocabulary='plone.app.vocabularies.Catalog' ), required=False ) form.widget( 'relatedItems', RelatedItemsFieldWidget, vocabulary='plone.app.vocabularies.Catalog', pattern_options={ 'recentlyUsed': True, # Just turn on. Config in plone.app.widgets. } ) fieldset( 'categorization', label=_(u'Categorization'), fields=['relatedItems'] )
class IRelatedDocuments(model.Schema): """The 'Related documents' behvavior is an opengever.document specific 'Related items' behavior. Only allows references to opengever.documents. """ form.order_after(relatedItems='IDocumentMetadata.preserved_as_paper') relatedItems = RelationList( title=_(u'label_related_documents', default=u'Related Documents'), default=[], missing_value=[], value_type=RelationChoice( title=u"Related", source=RepositoryPathSourceBinder( portal_type=("opengever.document.document", "ftw.mail.mail"), navigation_tree_query={ 'object_provides': ['opengever.repository.repositoryroot.IRepositoryRoot', 'opengever.repository.repositoryfolder.' + 'IRepositoryFolderSchema', 'opengever.dossier.behaviors.dossier.IDossierMarker', 'opengever.document.document.IDocumentSchema', 'ftw.mail.mail.IMail', ] }), ), required=False, ) model.fieldset( u'common', label=_(u'fieldset_common', default=u'Common'), fields=[ u'relatedItems', ], )
class ISchedule(model.Schema): """Schedule Type""" title = schema.TextLine( title=_(u"Title"), required=False, ) description = schema.Text( title=_(u"Description"), required=False, ) body = RichTextField( title=_(u"Body"), required=False, ) temples = RelationList( title=_(u"Related Temples"), default=[], value_type=RelationChoice( title=u'Related Temple', source=CatalogSource(Type=['Temple','Folder']) ), required=False, ) directives.widget( 'temples', RelatedItemsFieldWidget, pattern_options={ 'recentlyUsed': True, } )
class IProduktOrdner(form.Schema, IImageScaleTraversable): """ Tabelle bzw. Ordner fuer Produktdatenblaetter """ bemerkungen = RichText( title=_(u"Bemerkungen"), description= _(u"Hier können Bemerkungen eingefügt werden, die im Kopfbereich der Produktordner\ angezeigt werden."), required=False, ) titelbilder = RelationList( title=u"Titelbilder", description= u"Hier können Sie Titelbilder für die Anzeige im Kopf der Seite auswählen", default=[], value_type=RelationChoice(title=_(u"Titelbilder"), source=ObjPathSourceBinder()), required=False, ) anzeige = schema.Bool( title=u"Anzeige des Titelbildes im Ordner.", default=True, required=False, ) spalte = schema.Bool( title=u"Anzeige des Titelbildes in der Zweispaltenansicht.", default=True, required=False, )
class IHerstellerOrdner(form.Schema, IImageScaleTraversable): """ Ordner bzw. Tabelle Produkthersteller """ titelbilder = RelationList( title=u"Titelbilder", description= u"Hier können Sie Titelbilder für die Anzeige im Kopf der Seite auswählen", default=[], value_type=RelationChoice(title=_(u"Titelbilder"), source=ObjPathSourceBinder()), required=False, ) anzeige = schema.Bool( title=u"Anzeige des Titelbildes im Ordner.", default=True, required=False, ) spalte = schema.Bool( title=u"Anzeige des Titelbildes in der Zweispaltenansicht.", default=True, required=False, )
class IRERNews(model.Schema): directives.order_after(image='IRichText.text') image = RelationChoice( title=_(u'Image'), required=False, vocabulary='plone.app.vocabularies.Catalog', ) directives.widget( 'image', RelatedItemsFieldWidget, source=CatalogSource(portal_type=('Image')), pattern_options={'resultTemplate': RESULT_TEMPLATE}, ) directives.order_after(image_caption='image') image_caption = schema.TextLine( title=_(u'label_image_caption', default=u'Image Caption'), description=u'', required=False, ) directives.order_after(related_links='image_caption') related_links = RelationList( title=_(u'Related links'), default=[], value_type=RelationChoice( title=u'Related', vocabulary='plone.app.vocabularies.Catalog', ), required=False) directives.widget('related_links', RelatedItemsFieldWidget, source=CatalogSource(portal_type=('Link')))
class IResponse(Schema): text = schema.Text( title=_('label_response', default="Response"), required=False, ) relatedItems = RelationList( title=_(u'label_related_items', default=u'Related Items'), default=[], missing_value=[], value_type=RelationChoice( title=u"Related", source=DossierPathSourceBinder( portal_type=("opengever.document.document", "ftw.mail.mail"), navigation_tree_query={ 'object_provides': [ 'opengever.dossier.behaviors.dossier.IDossierMarker', 'opengever.document.document.IDocumentSchema', 'opengever.task.task.ITask', 'ftw.mail.mail.IMail', 'opengever.meeting.proposal.IProposal', ], }, ), ), required=False, )
class ISelectTaskTemplateFolder(model.Schema): tasktemplatefolder = schema.Choice( title=_('label_tasktemplatefolder', default=u'Tasktemplatefolder'), source='opengever.tasktemplates.active_tasktemplatefolders', required=True ) related_documents = RelationList( title=_(u'label_related_documents', default=u'Related documents'), default=[], missing_value=[], value_type=RelationChoice( title=u"Related", source=DossierPathSourceBinder( portal_type=("opengever.document.document", "ftw.mail.mail"), navigation_tree_query={ 'object_provides': ['opengever.dossier.behaviors.dossier.IDossierMarker', 'opengever.document.document.IDocumentSchema', 'opengever.task.task.ITask', 'ftw.mail.mail.IMail', ], }), ), required=False, )
class ILiveClass(model.Schema): """ Marker interface and Dexterity Python Schema for LiveClass """ localLang = schema.TextLine( title=_(u'Local Language'), required=False, ) teachSchool = RelationChoice(title=_(u"Teach School"), required=False, source=CatalogSource(Type='School')) coSchool = RelationList( title=_(u"Training Center"), default=[], value_type=RelationChoice(title=_(u"Related"), source=CatalogSource(Type='School')), required=False, ) teacher = RelationChoice(title=_(u"Teacher"), required=False, source=CatalogSource(Type='Teacher')) embeded = schema.Text( title=_(u'Embeded Code'), required=False, )
class INomination(form.Schema): """ TBFAC Nomination Type """ title = schema.TextLine( title=_(u'Title'), required=False, ) category = schema.List( title=_(u'Award Category'), value_type=schema.Choice(values=[ _(u'Visual Arts'), _(u'Performing Arts'), _(u'Uncatrgorized') ]), required=False, ) info = RelationList( title=_(u'Nominated Info'), value_type=RelationChoice( source=ObjPathSourceBinder( object_provides=IInfo.__identifier__, #navigation_tree_query={ # 'path': {'query': '/taishin/event/info'} #}, ), ), ) text = RichText( title=_(u'Body'), required=False, )
class ITaula(form.Schema): directives.languageindependent('temes') temes = RelationList( title=u"Temes", default=[], value_type=RelationChoice( title=_(u"Temes als que pertany la taula de símbols"), source=ObjPathSourceBinder(object_provides=ITema.__identifier__)), required=False, ) directives.languageindependent('taula') taula = schema.Text( title=_(u"Taula de símbols"), description=_(u"Escriu la taula de símbols en Tex"), required=True, ) directives.languageindependent('audio') audio = NamedFile( title=_(u"Audio"), description=_(u"Arxiu d\'audio que conta la locució"), required=False, )
class IBluechurchpage(model.Schema): """ Marker interface for Bluechurchpage """ homepage = URI_bluechurch( title=_(u"Website"), description=_(u"e.g. www.abcjazzz.com"), required=False, ) beteiligte = RelationList( title=_(u"Artists"), description=_(u"Beteiligte Artists, Veranstalter"), required=False, value_type=RelationChoice( vocabulary='plone.app.vocabularies.Catalog', )) widget('beteiligte', RelatedItemsFieldWidget, pattern_options={ 'selectableTypes': [ 'dexterity.membrane.bluechurchmembraneprofile', ], 'basePath': get_profiles_base_path, }) model.fieldset('categorization', fields=[ 'beteiligte', ]) model.load('bluechurchpage.xml')
class ILinkedResource(model.Schema): model.fieldset('linked-resources', label=u"Linked resources", fields=[ 'remote_url', 'related_resources', 'related_resources_cta', ]) remote_url = schema.TextLine( title=_(u'Link'), description=_(u'Insert a link to an external resource, ' u'or relate an internal resource ' u'using "Linked resource" below.'), required=False, # we can use also relatedItems ) # form.widget(related_resource=ContentTreeFieldWidget) related_resources = RelationList(title=_(u"Linked resources"), required=False, value_type=RelationChoice( title=u"Multiple", source=ObjPathSourceBinder())) related_resources_cta = schema.Text( title=_(u'Resources CTA'), description=_(u'Insert related resource call to actions options. ' u'Each line match a linked resource. ' u'You can provide them in the form ' u'`option:value, option2:value`.' u'Valid options are: `label`, `css_class`., '), required=False, # we can use also relatedItems default=u'')