I left the default auth.create_table(migrate = setting.migrate)
then added extra fields
then deffined my table organization

in user profile only first name, last name and email are shown

where am I going wrong?



On Tuesday, December 3, 2013 11:14:45 AM UTC+1, 黄祥 wrote:
>
> i think you shouldn't define the auth_user table, just keep it default, 
> and if you want to add the new field of auth_user table, please use 
> extra_fields. e.g.
> # append fields : auth.signature
> db._common_fields.append(auth.signature)
>
> # custom auth user table add fields gender, address, zip_code, city, 
> country, phone, branch, bank, account_no
> auth.settings.extra_fields['auth_user'] = [ 
> Field('gender', 
>   label = T('Gender'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_IN_SET({T('Male'), T('Female') } ) ), 
> Field('address', 'text', 
>   label = T('Address'), 
>   notnull = True, 
>   represent = lambda address, field: A(address, _title=T("View Maps"), 
> _target="_blank", _href="
> http://maps.google.com/maps?f=q&hl=en&geocode=&time=&date=&ttype=&q=%s,+%s,+%s";
>  
> % (field.address, field.city, field.country) ), 
>   required = True, 
>   requires = IS_NOT_EMPTY() ), 
> Field('zip_code', 
>   label = T('Zip Code'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_MATCH('^\d{5,5}$', error_message = 'not a Zip Code') ), 
> Field('city', 
>   label = T('City'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_NOT_EMPTY() ), 
> Field('country', 
>   label = T('Country'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_NOT_EMPTY() ), 
> Field('phone', 'list:string', 
>   label = T('Phone'), 
>   notnull = True, 
>   required = True), 
> Field('branch', 'reference branch', 
>   label = T('Branch'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_IN_DB(db, db.branch.id, '%(address)s') ), 
> Field('bank', 'reference bank', 
>   label = T('Bank'), 
>   notnull = True, 
>   represent = lambda bank, field: A(bank.bank, _title=T("eBanking"), 
> _target="_blank", _href="%s" % bank.ebanking), 
>   required = True, 
>   requires = IS_IN_DB(db, db.bank.id, '%(bank)s') ), 
> Field('account_no', 
>   label = T('Account No'), 
>   notnull = True, 
>   required = True, 
>   requires = IS_NOT_EMPTY() ), 
> ]
>
> # create all tables needed by auth if not custom tables, add username field
> auth.define_tables(username = True, signature = True)
>
> """ custom_auth_table """
> custom_auth_table = db[auth.settings.table_user_name]
> # label
> custom_auth_table.first_name.label = T('First Name')
> custom_auth_table.last_name.label = T('Last Name')
> custom_auth_table.email.label = T('Email')
> # represent
> custom_auth_table.email.represent = lambda email, field: \
> A(email, _title=T("Send to %s") % email, _target="_blank", 
> _href="mailto:%s"; % email)
> # requires
> custom_auth_table.phone.requires = IS_NOT_IN_DB(db, 
> custom_auth_table.phone)
>
> auth.settings.table_user = custom_auth_table
>
> best regards,
> stifan
>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to