Malthe Borch wrote:
> Martin Aspeli wrote:
>> I'm trying to build a widget that allows for auto-complete of items in a 
>> vocabulary, but also allows additional (string) values to be added. To 
>> understand how that works, I am digging into z3c.formwidget.query, and 
>> it looks to me like it's making incorrect assumptions about its own 
>> interfaces.
> 
> This can very well be; the defense would be that the entire vocabulary 
> code is full of odd interfaces that don't really form a complete story.

For what it's worth, I agree. :-)

>> If I'm not reading this wrong, it seems to me that z3c.formwidget.query 
>> is using getTermByValue() (which I can't find anywhere else) instead of 
>> getTermByToken() as defined by IVocabularyTokenized.
> 
> I don't remember the details, but the implementation may be incorrect 
> although functional. Certainly, it's made to good use by 
> ``plone.app.z3cform`` and a number of other modules.
> 
> You're more than welcome to improve or devise an alternative implementation.

Have you ever tested it with a source other than the one in 
queryselect's example code and the one in plone.app.z3cform.queryselect? 
Those are the only places I can see getTermByValue().

The fix would probably be to make sure it uses tokens everywhere and 
implement getTermByToken.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to