I defined the following table:

db.define_table('person',
    Field('nodeID','reference node'),
    Field('photoName',length=32,writable=False,readable=False),
    Field('photoFile',type='upload',requires=IS_EMPTY_OR(IS_IMAGE())),
    
Field('firstName',length=32,requires=IS_LENGTH(32,error_message=T('length 
exceeds 32 characters')),label='Voornaam'),
    
Field('lastName',length=64,default='',requires=[IS_LENGTH(64,error_message=T('length
 
exceeds 64 charactrer')),IS_NOT_EMPTY()],notnull=True),
    format='%(firstName)s %(lastName)s',
    migrate=False)

When I use appadmin to insert a record a get the following error ticket:

Traceback (most recent call last):
  File "/Library/Python/2.6/site-packages/web2py/gluon/restricted.py", line 
209, in restricted
    exec ccode in environment
  File 
"/Library/Python/2.6/site-packages/web2py_2.0/applications/init/controllers/appadmin.py"
 <http://127.0.0.1:8000/admin/edit/init/controllers/appadmin.py>, line 444, in 
<module>
  File "/Library/Python/2.6/site-packages/web2py/gluon/globals.py", line 186, 
in <lambda>
    self._vars = None
  File 
"/Library/Python/2.6/site-packages/web2py_2.0/applications/init/controllers/appadmin.py"
 <http://127.0.0.1:8000/admin/edit/init/controllers/appadmin.py>, line 129, in 
insert
    if form.accepts(request.vars, session):
  File "/Library/Python/2.6/site-packages/web2py/gluon/sqlhtml.py", line 1337, 
in accepts
    self.vars[fieldname] = fields[fieldname] = True
UnboundLocalError: local variable 'source_file' referenced before assignment


Function argument list 

(self=<gluon.sqlhtml.SQLFORM object at 0x15ec5e30>, request_vars=<Storage 
{'familyNamePreposition': 'van', 'modif..., 'photoName': '', '_formname': 
'person/create'}>, session=<Storage {'last_orderby': None, 'last_query': 
'd...d\xa7d\xf1|P?\xef\x8a\xad\x7f\xbf\xaf\xb7\xb88'}>, 
formname='person/create', keepvalues=False, onvalidation=None, dbio=True, 
hideerror=False, detect_record_change=False)
 Code listing 

1332.
1333.
1334.
1335.
1336.
1337.

1338.
1339.
1340.
1341.

            field = self.table[fieldname]
            if field.type == 'id':
                continue
            if field.type == 'boolean':
                if self.vars.get(fieldname, False):
                    self.vars[fieldname] = fields[fieldname] = True

                else:
                    self.vars[fieldname] = fields[fieldname] = False
            elif field.type == 'password' and self.record\
                and request_vars.get(fieldname, None) == \

 Variables fields {'gender': 'male', 'nodeID': 8, 'photoName': ''}  self 
<gluon.sqlhtml.SQLFORM 
object at 0x15ec5e30>  fieldname 'photoFile'  builtinTrue True  self.vars 
<Storage 
{'familyNamePreposition': 'van', 'modif...': None, 'lastName': 'Leeuwen', 
'photoName': ''}>


When I use form=SQLFORM.factory(db.person) to insert a person, I don't get any 
error.


I am using web2py version 2.0.9


Kind regards,

Annet.

-- 



Reply via email to