Donde necesito tener el context o el parent es dentro de PossibleOptions, y
ahí self.context no existe y la variable context que se le pasa al metodo
__call__ es None, getSite funcionaría, pero me devolvería la raíz del sitio
y yo necesito el padre del objeto que estoy editando.


2014-03-06 13:02 GMT+01:00 Ruben Hidalgo [via Usarios Plone] <
[email protected]>:

> Y has pensado en algo como:
>
> from Acquisition import aq_inner, aq_base, aq_parent
>
>
> ..
>
> parent = aq_parent(aq_inner(self.context))
>
>
>
>
> El 6 de marzo de 2014, 12:27, oggers <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=7572681&i=0>
> > escribió:
>
>> Esos ejemplos ya los había visto, lo que hacen básicamente es utilizar la
>> raíz del sitio Plone como context, pero eso no me sirve. Necesito que el
>> context sea el padre del objeto que estoy editando ya que es este padre, y
>> no otro, el contiene unos datos relevantes para construir el vocabulario.
>>
>>
>> 2014-03-06 10:18 GMT+01:00 Ruben Hidalgo [via Usarios Plone] <[hidden
>> email] <http://user/SendEmail.jtp?type=node&node=7572680&i=0>>:
>>
>>  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 <[hidden 
>>> email]<http://user/SendEmail.jtp?type=node&node=7572679&i=0>
>>> >:
>>>
>>>> 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
>>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=7572679&i=1>
>>>> https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
>>>>
>>>
>>>
>>> _______________________________________________
>>> Usuarios-Plone mailing list
>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=7572679&i=2>
>>> https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
>>>
>>>
>>> ------------------------------
>>>  If you reply to this email, your message will be added to the
>>> discussion below:
>>>
>>> http://usarios-plone.2295514.n2.nabble.com/context-es-None-en-un-vocabulario-para-schema-Dict-tp7572678p7572679.html
>>>  To unsubscribe from context es None en un vocabulario para schema.Dict, 
>>> click
>>> here.
>>> NAML<http://usarios-plone.2295514.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>>>
>>
>>
>>
>> --
>> Juan Carlos Coruña: Python, Zope, Plone, Navision.
>> http://oggers-blog.blogspot.com
>>
>> ------------------------------
>> View this message in context: Re: context es None en un vocabulario para
>> schema.Dict<http://usarios-plone.2295514.n2.nabble.com/context-es-None-en-un-vocabulario-para-schema-Dict-tp7572678p7572680.html>
>>
>> Sent from the Usarios Plone mailing list 
>> archive<http://usarios-plone.2295514.n2.nabble.com/>at Nabble.com.
>>
>> _______________________________________________
>> Usuarios-Plone mailing list
>> [hidden email] <http://user/SendEmail.jtp?type=node&node=7572681&i=1>
>> https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
>>
>>
>
> _______________________________________________
> Usuarios-Plone mailing list
> [hidden email] <http://user/SendEmail.jtp?type=node&node=7572681&i=2>
> https://lists.plone.org/mailman/listinfo/plone-usuarios-plone
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://usarios-plone.2295514.n2.nabble.com/context-es-None-en-un-vocabulario-para-schema-Dict-tp7572678p7572681.html
>  To unsubscribe from context es None en un vocabulario para schema.Dict, click
> here<http://usarios-plone.2295514.n2.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=7572678&code=b2dnZXJzQGdtYWlsLmNvbXw3NTcyNjc4fC0xNDk3NjQyODYw>
> .
> NAML<http://usarios-plone.2295514.n2.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>



-- 
Juan Carlos Coruña: Python, Zope, Plone, Navision.
http://oggers-blog.blogspot.com




--
View this message in context: 
http://usarios-plone.2295514.n2.nabble.com/context-es-None-en-un-vocabulario-para-schema-Dict-tp7572678p7572682.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

Responder a