The actual code from the book:

db.define_table(
    auth.settings.table_user_name,
    Field <http://web2py.com/book/default/docstring/Field>('first_name', 
length=128, default=''),
    Field <http://web2py.com/book/default/docstring/Field>('last_name', 
length=128, default=''),
    Field <http://web2py.com/book/default/docstring/Field>('email', length=128, 
default='', unique=True),
    Field <http://web2py.com/book/default/docstring/Field>('password', 
'password', length=512,
          readable=False, label='Password'),
    Field <http://web2py.com/book/default/docstring/Field>('registration_key', 
length=512,
          writable=False, readable=False, default=''),
    Field 
<http://web2py.com/book/default/docstring/Field>('reset_password_key', 
length=512,
          writable=False, readable=False, default=''),
    Field <http://web2py.com/book/default/docstring/Field>('registration_id', 
length=512,
          writable=False, readable=False, default=''))

custom_auth_table = db[auth.settings.table_user_name] # get the 
custom_auth_table
custom_auth_table.first_name.requires = \
  IS_NOT_EMPTY 
<http://web2py.com/book/default/docstring/IS_NOT_EMPTY>(error_message=auth.messages.is_empty)
custom_auth_table.last_name.requires = \
  IS_NOT_EMPTY 
<http://web2py.com/book/default/docstring/IS_NOT_EMPTY>(error_message=auth.messages.is_empty)
custom_auth_table.password.requires = [IS_STRONG 
<http://web2py.com/book/default/docstring/IS_STRONG>(), CRYPT 
<http://web2py.com/book/default/docstring/CRYPT>()]
custom_auth_table.email.requires = [
  IS_EMAIL 
<http://web2py.com/book/default/docstring/IS_EMAIL>(error_message=auth.messages.invalid_email),
  IS_NOT_IN_DB <http://web2py.com/book/default/docstring/IS_NOT_IN_DB>(db, 
custom_auth_table.email)]

auth.settings.table_user = custom_auth_table # tell auth to use 
custom_auth_table

# before
# auth.define_tables()


You forgot this line which creates and assigns a reference to 
custom_auth_table:

custom_auth_table = db[auth.settings.table_user_name] # get the 
custom_auth_table

Reply via email to