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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.