I defined the following table:
db.define_table( auth.settings.table_user_name, Field('title',length=8,requires=IS_IN_SET(['de heer','mevrouw'],zero=T('select a value')),label='Aanheft * '), 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,label='Achternaam * '), Field('shortname',default='',requires=[IS_LENGTH(128,error_message=T('length exceeds 128 characters')),IS_EMPTY_OR(IS_NOT_IN_DB(db,'custom_auth_table.shortname',error_message=T('shortname already in database')))],notnull=True,unique=True), Field('phone',length=16,requires=IS_LENGTH(16,error_message='length exceeds 16 characters'),label='Telefoon'), Field('email',length=128,default='',requires=[IS_LENGTH(128,error_message=T('length exceeds 128 characters')),IS_EMAIL(error_message=T('invalid email')),IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'custom_auth_table.email',error_message=T('email already in database'))],notnull=True,unique=True,label='E-mail * '), Field('username',length=32,default='',requires=[IS_LENGTH(32,error_message=T('length exceeds 32 charactrer')),IS_NOT_EMPTY(),IS_NOT_IN_DB(db,'custom_auth_table.username',error_message=T('username already in database'))],notnull=True,unique=True,writable=False,readable=False,label='Gebruikersnaam * '), Field('password', type='password',length=512,requires=[IS_STRONG(),CRYPT()],readable=False,label='Wachtwoord * '), Field('nodeID','reference node',default='',requires=[IS_IN_DB(db,'node.id','%(id)s',zero=T('select a value'))],ondelete='CASCADE',notnull=True,writable=False,readable=False), Field('comment',type='text',requires=IS_LENGTH(512,error_message=T('length exceeds 512 characters')), Field('registration_key',length=512,default='',writable=False,readable=False), Field('reset_password_key',length=512,default='',writable=False,readable=False), Field('registration_id',length=512,default='',writable=False,readable=False), Field('createdOn',type='datetime',default=request.now), Field('modifiedOn',type='datetime',default=request.now,update=request.now)) ## get the custom_auth_table custom_auth_table = db[auth.settings.table_user_name] ## tell auth to use custom_auth_table auth.settings.table_user = custom_auth_table ## to prevent the auth_cas table from being created auth.settings.cas_domains = None ## create all tables needed by auth if not custom tables auth.define_tables(username=True, signature=False) When I save the file, the 'Last saved on' field colors yellow and the line: custom_auth_table = db[auth.settings.table_user_name] ... becomes gray. When I go to 'edit application init' and click the 'database administration' button I get the following error: Traceback (most recent call last): File "/Library/Python/2.6/site-packages/web2py/gluon/restricted.py", line 208, in restricted ccode = compile2(code,layer) File "/Library/Python/2.6/site-packages/web2py/gluon/restricted.py", line 193, in compile2 return compile(code.rstrip().replace('\r\n','\n')+'\n', layer, 'exec') File "/Library/Python/2.6/site-packages/web2py/applications/init/models/20_auth_db.py" <http://127.0.0.1:8000/admin/default/edit/init/models/20_auth_db.py>, line 36 custom_auth_table = db[auth.settings.table_user_name] ^ SyntaxError: invalid syntax Error snapshot [image: help] <type 'exceptions.SyntaxError'>(invalid syntax (20_auth_db.py, line 36)) inspect attributes Frames - *File /Library/Python/2.6/site-packages/web2py/gluon/restricted.py in restricted at line 208* code arguments variables - *File /Library/Python/2.6/site-packages/web2py/gluon/restricted.py in compile2 at line 193* code arguments variables Function argument list (code="# -*- coding: utf-8 -*-\n\n#######################...use_janrain(auth,filename='private/janrain.key')\n", layer='/Library/Python/2.6/site-packages/web2py/applications/init/models/20_auth_db.py') Code listing 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. def compile2(code,layer): """ The +'\n' is necessary else compile fails when code ends in a comment. """ return compile(code.rstrip().replace('\r\n','\n')+'\n', layer, 'exec') def restricted(code, environment=None, layer='Unknown'): """ runs code in environment and returns the output. if an exception occurs Variables builtincompile <built-in function compile> code "# -*- coding: utf-8 -*-\n\n#######################...use_janrain(auth,filename='private/janrain.key')\n" code.rstrip <built-in method rstrip of str object at 0x2382800> ).replace undefined layer '/Library/Python/2.6/site-packages/web2py/applications/init/models/20_auth_db.py' I don't need to use OpenID, Facebook etc. so I commented out: ## from gluon.contrib.login_methods.rpx_account import use_janrain ## use_janrain(auth,filename='private/janrain.key') ... is that's what's causing the problem? Kind regards, Annet. --