I recreate the auth tables models, to make it easier to personalize:

disable the
#auth.define_tables()

and put:

db.define_table('auth_user',
                Field('first_name',
                      requires =
IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
                Field('last_name',
                       requires =
IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
                Field('email', length=512,  default=''),
                Field('password','password',length=512,
                      requires = [CRYPT(key=auth.settings.hmac_key)]),
                Field('registration_key','string', length=512,
                        writable=False, readable=False, default='')
                )
db.auth_user.email.requires =
[IS_EMAIL(error_message=auth.messages.invalid_email),
                                   IS_NOT_IN_DB(db, '%s.email'  %
db.auth_user)]
db.define_table('auth_group',
                Field('role', length=512, default='',
                        label=auth.messages.label_role
                        ),
                Field('description', 'text',
                        label=auth.messages.label_description),
                format = '%(role)s (%(id)s)'
                )
db.auth_group.role.requires = IS_NOT_IN_DB(db, '%s.role' % db.auth_group)
db.define_table('auth_membership',
               Field('user_id', db.auth_user,
                        requires = IS_IN_DB(db, '%s.id' % db.auth_user,
                    '%(first_name)s %(last_name)s (%(id)s)')),
               Field('group_id', db.auth_group,
                     requires = IS_IN_DB(db, '%s.id' %
                    db.auth_group,
                    '%(role)s (%(id)s)')
                     )
               )

db.define_table('auth_permission',
                Field('group_id',db.auth_group,
                        label=auth.messages.label_group_id,
                        requires = IS_IN_DB(db, '%s.id' %
db.auth_user,'%(role)s (%(id)s)')),
                Field('name', default='default', length=512,
                        label=auth.messages.label_name,
                        requires =
IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
                Field('table_name', length=512,
                        label=auth.messages.label_table_name),
                Field('record_id', 'integer',
                        label=auth.messages.label_record_id,
                        requires = IS_INT_IN_RANGE(0, 10 ** 9))
                )

db.define_table('auth_event',
                Field('time_stamp', 'datetime',
                        default=request.now,
                        label=auth.messages.label_time_stamp),
                Field('client_ip',
                        default=request.client,
                        label=auth.messages.label_client_ip),
                Field('user_id', db.auth_user, default=None,
                        label=auth.messages.label_user_id),
                Field('origin', default='auth', length=512,
                        label=auth.messages.label_origin),
                Field('description', 'text', default='',
                        label=auth.messages.label_description)
)
db.auth_event.user_id.requires = IS_IN_DB(db, '%s.id' % db.auth_user,
'%(first_name)s %(last_name)s (%(id)s)')
db.auth_event.origin.requires =
IS_NOT_EMPTY(error_message=auth.messages.is_empty)
db.auth_event.description.requires =
IS_NOT_EMPTY(error_message=auth.messages.is_empty)

-- 
Atenciosamente

-- 
=========================
Alexandre Andrade
Hipercenter.com
--
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To post to this group, send email to web...@googlegroups.com.
To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/web2py?hl=en.

Reply via email to