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

Reply via email to