Sorry, wasn't too clear. I posted the code....What I am trying to do is, I have a table call consumer. It has a profile statement.
auth.settings.register_onaccept = lambda form: after_registration(form) I use this to create that profile. I would like that to be updated when someone update their profile. On Tuesday, May 17, 2016 at 11:50:17 AM UTC-4, villas wrote: > > Why not use auth.settings.profile_onaccept or profile_next to simply > redirect to another url. You can easily access your auth info, create a > new form, or even post auth info into another table. > > It isn't clear what you are trying to do. > > If you need better access to auth.profile function then you could use > auth.profile() feature as per book: > > def myprofile(): return dict(form=auth.profile()) > > > If you need to update or create a consumer record, then do that in a > completely different function. Simply redirect there setting args or > vars. > > If you want your auth information available, you can always access it > like this: auth.user.last_name > > Also don't forget that db.auth_user is a table like any other. You can > access it and read or write information, if that's what you'd like to do. > > > > On Tuesday, 17 May 2016 14:54:52 UTC+1, Ron Chatterjee wrote: >> >> Profile onaccept works but my logic is wrong I am guessing because it >> escapes and always end up going to index page >> >> Basically I am trying to update the form (which I call form2) with the >> info that was used to create db.consumer >> >> in db I have >> auth.settings.profile_onaccept = lambda form: profile_update(form) >> >> db.define_table("consumer", >> Field("seller_profile", 'reference auth_user', readable = >> False, writable = False, widget=SQLFORM.widgets.options.widget, requires= >> IS_EMPTY_OR(IS_IN_DB(db,db.auth_user.id))), >> Field("profile_statement", "text", label='Profile >> hightlights*',requires=IS_NOT_EMPTY(),comment='Write few things to >> summarize your profile')) >> >> That brings it to the controller >> def profile_update(form): >> form2 = []; >> db.consumer.seller_profile.default = auth.user_id >> if form.vars.user_type != 'Seller': >> redirect(URL('default','index')) >> >> else: >> query = (db.consumer.created_by==auth.user_id); >> profile= db(query).select(); >> form2 = SQLFORM(db.consumer,profile[0].id,deletable=True, >> submit_button='Update Profile').process() >> if form2.accepted: >> session.flash = T('Profile is modified') >> return dict(form2 = form2) >> >> >> in view profile_update I have {{=form2}} >> >> Any thoughts? >> >> On Tuesday, May 17, 2016 at 4:37:37 AM UTC-4, villas wrote: >>> >>> There is: >>> >>> profile_next and profile_onaccept >>> >> -- 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/d/optout.