Massimo,
Thanks for your reply. This code:
db.PromoUnit.sequenceNumber.requires= (IS_IN_SET(['1','2','3'],zero='select
> a value'),
>
> IS_NOT_IN_DB(db(db.PromoUnit.sequenceNumber==request.vars.sequenceNumber))
> db.PromoUnit.sequenceNumber.widget = SQLFORM.widgets.options.widget(
> db.PromoUnit.sequenceNumber, db.PromoUnit.sequenceNumber.default)
>
... results in an exception:
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/web2py/gluon/restricted.py", line
205, in restricted
exec ccode in environment
File
"/Library/Python/2.5/site-packages/web2py/applications/bootstrap/controllers/appadmin.py"
<http://127.0.0.1:8000/admin/edit/bootstrap/controllers/appadmin.py>, line
433, in <module>
File "/Library/Python/2.5/site-packages/web2py/gluon/globals.py", line 173,
in <lambda>
self._caller = lambda f: f()
File
"/Library/Python/2.5/site-packages/web2py/applications/bootstrap/controllers/appadmin.py"
<http://127.0.0.1:8000/admin/edit/bootstrap/controllers/appadmin.py>, line
127, in insert
form = SQLFORM(db[table], ignore_rw=ignore_rw)
File "/Library/Python/2.5/site-packages/web2py/gluon/sqlhtml.py", line 876,
in __init__
inp = field.widget(field, default)
TypeError: 'SELECT' object is not callable
After making some changes, this finally works:
db.PromoUnit.promoPositionID.requires=[IS_IN_DB(db,'PromoPosition.id','%(name)s',orderby='PromoPosition.id',zero='select
a
value'),IS_NOT_IN_DB(db(db.PromoUnit.sequenceNumber==request.vars.sequenceNumber),db.PromoUnit.promoPositionID,error_message='combination
promo position sequence number already in database')]
db.PromoUnit.promoPositionID.widget=SQLFORM.widgets.options.widget
Kind regards,
Annet