Thanks. And thanks for .first()


On 27 May 2011, at 13:14, Ross Peoples <[email protected]> wrote:

> That is how I do it. As far as I know, setting registration_key to 'disabled' 
> is the only way for web2py to deny a log in for someone using Auth. When I 
> need to set this or check it, I just wrap the code into a generic 
> is_disabled() method to do the checking in case a better way presents it self 
> in the future, I only need to change that method.
> 
> You could do something like this at the end of your model:
> 
> db.auth_user.is_enabled = lambda r: r.registration_key != 'disabled'
> 
> Then whenever you need to check if a user account is enabled:
> 
> rows = db().select(db.auth_user.ALL)
> for row in rows:
>     if db.auth_user.is_enabled(row):
>         # account is enabled
>     else:
>         # account is disabled
> 
> By the way, I noticed that you used 'users[0]' in your code. I don't know if 
> you are aware of this, but web2py has a cleaner method of selecting a single 
> row:
> 
> user = db(db.auth_user.id==userId).select().first()
> 
> Using first() is the same thing as users[0], it's just a lot cleaner and 
> allows you to easily check for None in case there were no records found.

Reply via email to