You are changing the value in the Row object but not updating the actual
record in the database. To do so, after updating the Row, you can call
user.update_record(). Or if you only need to update the database (but not
the Row), you can just do user.update_record(registration_key='').
Actually, if you don't need the user record for anything in the view, you
can avoid the select altogether, and just do the update:
def show_reader():
form=FORM(INPUT(_type='submit'))
if form.accepts(request, session):
response.flash = 'Użytkownik został aktywowany'
db(db.auth_user.id == request.args(0, cast=int)).update(
registration_key='')
return locals()
Anthony
On Sunday, May 25, 2014 8:45:56 AM UTC-4, john smith wrote:
>
> I set my app to require registration approval and cannot set the
> registration_key programmatically. I can set it through appadmin interface.
> Here is my code:
> @auth.requires_membership('librarian')
> def show_reader():
> user = db.auth_user(request.args(0, cast=int))
> form=FORM(INPUT(_type='submit'))
> if form.accepts(request,session):
> response.flash = 'Użytkownik został aktywowany'
> user.registration_key=''
> return locals()
>
> form is visible only if registration_key is set to 'pending'. When I click
> submit it seems to work because the form disappears(and if i print
> registration key in view i get empty string), but when i refresh the page
> the button is back and appadmin shows that registration key is set to
> 'pending'. Is there something I'm missing?
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.