Hi Luis,

I am not sure I understand your question correctly, but as far as I
know default/user/profile is based on the auth_user table, to which
you can add any field you want e.g.


# Custom Auth table definition
db.define_table(auth.settings.table_user_name,
    Field('username', length=20, unique=True),
    Field('first_name', length=128, default='', comment='required'),
    Field('last_name', length=128, default='', comment='required'),
    Field('email', length=128, default='', unique=True),
    Field('hide_email', 'boolean', default=False),
    Field('phone', length=64, default=''),
    Field('homepage', requires=IS_EMPTY_OR(IS_URL())),
    Field('facebook_access_token', writable=False, readable=False),
    Field('flickr_user', label='Flickr Screenname'),
    Field('flickr_id', writable=False),#, readable=False), # computed,
see below
    Field('twitter_user'),
    Field('bio', 'text', default=''),
    Field('ref_friends' , 'list:reference
'+auth.settings.table_user_name,
        writable=False, readable=False),
    Field('password', 'password', length=64, readable=False,
label='Password'),
    Field('registration_key', length=512, writable=False,
readable=False,
        default=''),
    Field('reset_password_key', length=512, writable=False,
readable=False,
        default=''),
    Field('registration_id', length=512, writable=False,
readable=False,
        default=''),
    Field('record_created', 'datetime', default=request.now,
writable=False,
        readable=False),
    Field('record_updated', 'datetime', default=request.now,
        update=request.now, writable=False, readable=False)
    )

Whether a field is editable in default/user/profile depends on
writable and readable being True or False.

In one of my apps I wanted the form to display differently, I solved
this by adding the following lines of code to the default/user
function:

    form=auth()
    if isinstance(form,FORM):
        form[0][-1]
[1].append(INPUT(_type="button",_value="Cancel",_onclick="window.location='%s';"%URL(r=request,c='usercms',f='index')))
    if request.args(0)=='login':
        form.element(_type='submit')['_value']='Login'
    if request.args(0)=='profile':
        response.view='default/profile.html'
    return dict(form=form)


I hope this point you in the right direction.


Kind regards,

Annet.

Reply via email to