Upon login, the auth.user object is stored in the session and is not 
updated again until next login (i.e., updating the db.auth_user record does 
not update auth.user). So, you'll have to explicitly update auth.user.money 
as well.

Anthony

On Sunday, August 11, 2013 12:42:45 PM UTC-4, sasogeek wrote:
>
> in a function in default.py, i have this code
>
> #...
> if request.vars.uploader_id:
>     uploaderid = request.vars.uploader_id
>     uploader = db(db.auth_user.id==uploaderid).select()
>     
> db(db.auth_user._id==uploaderid).update(**{'money':uploader[0].money+500})
>     db(db.auth_user._id==auth.user.id
> ).update(**{'money':auth.user.money+100})
>     db.auth_membership.insert(**{'group_id':uploaderid, 'user_id':
> auth.user.id})
>     redirect(URL())
> money = auth.user.money
> #...
>
> return dict(..., money = money, )
>
> in the view for this function, i have this code as well
>
> <form action='home'>
>     <input type='hidden' name='uploader_id' 
> value='{{=content.uploader_id}}'>
>     <input type='submit'>
> </form>
>
> {{=money}}
>
>
>
> everything works just fine, the problem i have though is that, when the 
> form is submitted, and the page reloads, {{=money}} doesn't update. it 
> remains the same as before the page reloaded, but in the database, that 
> value has changed. it only changes after i logout, and login again. even 
> manually reloading the page doesn't change the value. How do I change that 
> and let {{=money}} update after the form is submitted and the page reloads? 
> and even a better option, can i make {{=money}} change without letting the 
> whole page reload too?
>

-- 

--- 
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