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.