Debes definir el contexto en particular. Mirate estos dos ejemplos: - http://developer.plone.org/forms/vocabularies.html#dynamic-vocabularies * usa ISiteRoot - https://github.com/collective/plone.contentratings/blob/master/plone/contentratings/vocabs.py#L18 * usa getSite
un saludo, Rubén 2014-03-06 9:43 GMT+01:00 oggers <[email protected]>: > Hola gente, > > Tengo el siguiente problema que creo que debería de estar resuelto, pero no > encuentro la forma: > > Tengo un contenido creado con Dexterity en el cual he definido un campo > Dict: > > field = schema.Dict( > title=_(u"Field"), > key_type=schema.Choice( > source=PossibleOptions() > ), > value_type=schema.Decimal() > ) > > La definición del source es: > > class PossibleOptions(object): > grok.implements(IContextSourceBinder) > > def __call__(self, context): > terms = [] > > # at this point context is None and therefore raises > # an exception > go = context.items() > if go: > for option in go.options(): > terms.append(SimpleVocabulary.createTerm( > IUUID(option), > IUUID(option), option.title.encode('utf-8'))) > > return SimpleVocabulary(terms) > > > El problema es que el context que se pasa al __call__ del vocabulario es > None, por lo que el vocabulario falla. > > Alguien tiene alguna idea al respecto? > > > > > -- > View this message in context: > http://usarios-plone.2295514.n2.nabble.com/context-es-None-en-un-vocabulario-para-schema-Dict-tp7572678.html > Sent from the Usarios Plone mailing list archive at Nabble.com. > _______________________________________________ > Usuarios-Plone mailing list > [email protected] > https://lists.plone.org/mailman/listinfo/plone-usuarios-plone >
_______________________________________________ Usuarios-Plone mailing list [email protected] https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
