You can already set a default Field(...,requires=IS_IN_SET (...),default='value')
On Sep 5, 5:44 am, Iceberg <iceb...@21cn.com> wrote: > On Sep5, 5:25pm, Fran <francisb...@googlemail.com> wrote: > > > > > On Sep 5, 5:58 am, Iceberg <iceb...@21cn.com> wrote: > > > > So my proposal is to adjust OptionsWidget to always show up with an > > > initial blank (when creating record), but not necessarily accepting > > > it. Just change line 198 of sqlhtml.py from: > > > opts = [] > > > to: > > > if value: > > > opts = [] > > > else: # To enforce an explicit choice when creating new record > > > opts = [OPTION(_value='')] > > > Nice idea, however, sometimes we do want the 1st option to be a > > default (since it's by far the most common option) & not make people > > select every time they're entering data....so this behaviour should be > > optional. > > Also, in order not to break backward-compatibility, this optional flag > > should default to off. > > > F > > Thanks for the comments anyway. I would like to give a scenario why > better make people select every time they're entering data. In a > bookshop selling Bible of different language, the clerk inputs book > orders all day long. 99% customers buy English edition of Bible, yet > some customers order Chinese edition or Italian edition etc. If our > order system has "English" as default value in the language field, my > one year observation told me the clerk would hardly remember to change > language field because he used to ignore that field at all for > previous 99 times. Think about Murphy's law: "Anything that can > possibly go wrong, does." It is a valuable lesson. > > On the other hand, my proposal does not prevent you from explicitly > using default value at all. If you insist, you can still define > default value as always: > Field('language', > requires=IS_IN_SET(['English','Chinese','Italian']), > default='Italian') # the default value need not even be the first > one > And you know what? In my patch, the initial blank will be > automatically hidden if you defines a default value. See the "if > value" clause of my patch. > > After all, my proposal does not introduce any new syntax. Old apps can > benefit from it, and can easily bypass it if insist. What more can you > expect for? :-) > > Sincerely, > Iceberg --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---