Richard, I am at a loss about this. the dal does not sort, nor does the validator. Can you show me and example to reproduce this sorting?
On Thursday, 19 April 2012 16:14:50 UTC-5, Richard wrote: > > Issue 768 <http://code.google.com/p/web2py/issues/detail?id=768>: Allow > insert of unsorted or unordered list:reference type field values > On Thu, Apr 19, 2012 at 5:08 PM, Richard Vézina < > [email protected]> wrote: > >> Found this >> http://stackoverflow.com/questions/1867861/python-dictionary-keep-keys-values-in-same-order-as-declared >> on >> stackoverflow where the most rated post redirect here : >> http://dev.pocoo.org/hg/sandbox/raw-file/tip/odict.py >> >> Notice, it will download odict.py into your computer that contain a class >> supposing to allow preservation of initial order in a python dict... >> >> I think, it could be nice to have this class added to web2py in order to >> allow insert into database of unordered list:reference field input... >> >> Since this could be slow (not in case of few value I think), it could be >> a choice offer to the user like : list:reference sorted or list:reference >> unsorted... >> >> What do you think?? >> >> Richard >> >> >> On Thu, Apr 19, 2012 at 4:59 PM, Richard Vézina < >> [email protected]> wrote: >> >>> Some progress... >>> >>> I just make a check and chosen plugin multiple select option return a >>> unordered list of the picked element by the user... >>> >>> So, now, I think that it could be nice if web2py allow some way to >>> determine in case of use of chosen kind of plugin to store a unordered list >>> in list:reference field... >>> >>> I think that it is near line 207 (web2py 1.99.4) gluon/sqlhtml that we >>> have to make change : >>> >>> class OptionsWidget(FormWidget): >>> >>> @staticmethod >>> def has_options(field): >>> """ >>> checks if the field has selectable options >>> >>> :param field: the field needing checking >>> :returns: True if the field has options >>> """ >>> >>> return hasattr(field.requires, 'options') >>> >>> @classmethod >>> def widget(cls, field, value, **attributes): >>> """ >>> generates a SELECT tag, including OPTIONs (only 1 option allowed) >>> >>> see also: :meth:`FormWidget.widget` >>> """ >>> default = dict(value=value) # HERE!!!!!!!! >>> >>> I am not pretty sure actually... And I don't really know, what could be >>> done to keep submit multiple list order in case of plugin use... >>> >>> I try naively to replace >>> >>> default = dict(value=value) >>> >>> By >>> >>> defautl = value >>> >>> But it failed. >>> >>> Richard >>> >>> >>> >>> >>> On Thu, Apr 19, 2012 at 3:43 PM, Richard Vézina < >>> [email protected]> wrote: >>> >>>> This is a part of the solution I think : >>>> >>>> http://www.ryancramer.com/journal/entries/select_multiple/ >>>> >>>> Richard >>>> >>>> >>>> On Thu, Apr 19, 2012 at 3:08 PM, Richard >>>> <[email protected]>wrote: >>>> >>>>> Hello, >>>>> >>>>> I would know if there is a way to tell to list:reference to not order >>>>> the id of the reference table to keep the order in wich the user has pick >>>>> those element... At the same time I just thought that this concept is >>>>> useless except in case you use some javascript plugin like Chosen >>>>> Multiple >>>>> Select (http://harvesthq.github.com/chosen/) because, you pick the >>>>> element in a list and there is no way to know which element in the list >>>>> the >>>>> user has selected first. >>>>> >>>>> My need is to allow users to select element from an other table and >>>>> keep a more informative those selected thing. Like the ingredient on the >>>>> back panel of food box, the first ingredient more abondant than the >>>>> second >>>>> an so on. >>>>> >>>>> So, for now I think I am stock with a text field. I would avoid a free >>>>> text field because I would prefer user to always use the same name for >>>>> the >>>>> same thing, but I can't do it with text type field. What I thought is a >>>>> list:reference field and a button beside the field to allow allow user to >>>>> add missing element name in the foreign table if need without leave the >>>>> original form. This can be done easily with the select or add web2py >>>>> slice >>>>> : >>>>> http://www.web2pyslices.com/slice/show/1446/widget-select-or-add-option. >>>>> Thanks to the author. >>>>> >>>>> But, I think that keeping the order of the selected element can't be >>>>> done?? >>>>> >>>>> Thanks for help. >>>>> >>>>> Richard >>>>> >>>> >>>> >>> >> >

