confirm that you have a logged in user first 

On Tuesday, June 3, 2014 3:00:18 AM UTC-4, Yebach wrote:
>
> If I use your if statement in my controller, this is the error I get
>
> <type 'exceptions.AttributeError'> 'Auth' object has no attribute 
> 'user_groups'
>
> why??
>
>
> On Monday, June 2, 2014 3:13:26 PM UTC+2, Michael Beller wrote:
>>
>> If the user is logged in, then auth.user_groups contains a dictionary of 
>> the user's roles.  You can also use auth.has_membership('role name') to 
>> check membership.
>>
>> You can search auth.user_groups for a role, e.g.,
>> if any (role in ['customer_service', 'admin'] for role in auth.
>> user_groups.itervalues()): 
>>
>> On Monday, June 2, 2014 8:53:55 AM UTC-4, Yebach wrote:
>>>
>>> Hello
>>>
>>> I am trying to get user's role looking into membership table etc.
>>>
>>> Following all the codes on majority of forums my code does not work. 
>>>
>>> this is my controller 
>>>
>>> from gluon.tools import Auth
>>>
>>> database = request.cookies['mycookie'].value
>>> db = DAL('postgres://postgres:[email protected]/' + database, 
>>> migrate=False)
>>> auth = Auth(db)
>>>
>>> def index():
>>>     if not auth.is_logged_in():
>>>
>>>         login_adress= auth.settings.login_url = URL('user','user', 
>>> args='login') 
>>>         redirect (login_adress)    
>>>     
>>>     print auth.user_id ###Works
>>>
>>>     print auth.user_group ### result is <bound method Auth.user_group of 
>>> <gluon.tools.Auth object at 0x000000000A307F28>>
>>>     print auth.has_membership(auth.id_group('Member'),auth.user.id)
>>>
>>> <type 'exceptions.AttributeError'> 'NoneType' object has no attribute 
>>> 'role'
>>>
>>> Also, If I try with some DAL select sentances none of them work. error 
>>> is usually
>>>
>>> if code is 
>>>  rows = db(db.auth_user).select()
>>>
>>> or 
>>>
>>> rows = db((db.auth_user.email == 
>>> auth.user.email)&(db.auth_membership.user_id == auth.user_id)&(
>>> db.auth_group.id
>>> ==db.auth_membership.group_id)).select(db.auth_group.ALL)
>>>
>>> error is 
>>>
>>> <type 'exceptions.KeyError'> 'auth_user'
>>>
>>> what am I doing wrong here. It is a f#"$"# simple ask. Get user role so 
>>> I can get a user a specific view based on that role (btw any suggestions on 
>>> that would be nice).
>>>
>>> thank you
>>>
>>

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

Reply via email to