Hi Massimo,
My first web2py app is an order management system for my company, it
worked well in enterprise production for more than 15 months now. By
the way, all my other "first work of something" ended up as just a
prototype but not this one, thank god and web2py. I am refactoring the
app and going to share some ideas. Here comes the first one, about UI/
UE aspect.
Currently, if we write code like this:
db.Field('language', requires=IS_IN_SET
(['English','Chinese','Italian']))
it generates a drop-down list for three choices and the "English"
appears as the first option.
It is ok but, according to my long time observation, users who are
facing a long form with dozens of fields, tend to finish each blank
field one by one, but won't give enough attention to fields showing a
default value. So it would be much better if the above example can be
rendered as a drop-down list with 4 choices: an initial blank, then
English, Chinese, Italian. Currently this can be done by:
db.Field('language', requires=IS_NULL_OR(IS_IN_SET
(['English','Chinese','Italian'])))
but with a side effect that the empty value is also acceptable,
sometimes not what we want.
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='')]
Please give it a try and hope you will like it.
Regards,
Iceberg
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---