Ok, It does return a table(). I've tried to parse it so I could access the information I need (group names) without success.
Richard, Since the name of the db column which stores the group name (role) is auth_group.role<https://10.1.2.116/DNSAdmin/appadmin/select/db?orderby=auth_group.role>, could the solution be something like this? groups = [] for row in auth.groups(): groups.append(row.role) return (groups) I'm getting <type 'exceptions.AttributeError'> 'TR' object has no attribute 'auth_group' I've also tried "row.auth_group.role" but I won't work either. Obviously it is returning some kind of HTML table formated data. Will I have to parse it manually? On Tuesday, October 30, 2012 2:59:07 PM UTC-2, Niphlod wrote: > > groups returns a TABLE(), not a list of records. > > On Tuesday, October 30, 2012 5:57:03 PM UTC+1, Richard wrote: >> >> I didn't test, but you may try this : >> >> for row in auth.groups(): >> print row >> >> row should contain the different column of auth_group table and you can >> usually get those column like this row.name (column name in this >> example). >> >> You could also try as_list() : >> >> http://web2py.com/books/default/chapter/29/06#as_dict-and-as_list >> >> If it doesn't work, use the query I wrote above : >> >> rows = query >> for row in rows: >> do stuff >> >> Richard >> >> On Tue, Oct 30, 2012 at 12:35 PM, Francisco Barretto <[email protected] >> > wrote: >> >>> Ok Richard, I've got it. You are right. Without parameters it works but >>> I cant manage to get a userfull list out of it. Accesint the webpage >>> doesn't help either, since I need to compare memberships inside the >>> controller actions. >>> >>> I would need a list containing all user groups but I got instead, some >>> kind of raw table which I don't know how to iterate with. >>> >>> Can you help me go further? >>> >>> Thanks, mate! >>> >>> >>> On Tuesday, October 30, 2012 2:07:40 PM UTC-2, Richard wrote: >>> >>>> Ok! >>>> >>>> I read the book. >>>> >>>> You should not pass the user id. >>>> >>>> auth.groups() and not auth.groups(auth.user.id) >>>> >>>> Also you can go to this URL : >>>> >>>> http://127.0.0.1/yourappname/**default/user/groups<http://127.0.0.1/yourappname/default/user/groups>and >>>> you will get the list of group your current logged user is in. >>>> >>>> Richard >>>> >>>> On Tue, Oct 30, 2012 at 11:51 AM, Richard Vézina <[email protected] >>>> > wrote: >>>> >>>>> I don't know if web2py has a given command or how to use it, but this >>>>> query should give you what you the information you are searching : >>>>> >>>>> db((db.auth_user.email == 'USER_EMAIL')&(db.auth_**membership.user_id >>>>> == db.auth_user.id)&(db.auth_**group.id <http://db.auth_group.id> >>>>> ==db.auth_membership.**group_id)).select(db.auth_**group.ALL) >>>>> >>>>> Richard >>>>> >>>>> >>>>> On Tue, Oct 30, 2012 at 11:15 AM, Francisco Barretto < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi Folks! >>>>>> >>>>>> How do I list all groups that a user belong? I've found out that Auth >>>>>> has this function: >>>>>> >>>>>> groups(self) >>>>>> displays the groups and their roles for the logged in user >>>>>> >>>>>> I dont manage to get it working. I've tried something like this: >>>>>> >>>>>> def myGroups(): >>>>>> return dict(auth.groups(auth.user_id)**) >>>>>> >>>>>> and get this error: >>>>>> <type 'exceptions.TypeError'> groups() takes exactly 1 argument (2 >>>>>> given) >>>>>> >>>>>> any idea on how to do this properly? Thanks! >>>>>> >>>>>> -- >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> -- >>> >>> >>> >>> >> >> --

