Something like this:

userQuery = ((db.auth_permssion.name=='load') & 
(db.auth_permission.group_id==db.auth_membership.group_id) &
(db.auth_membership.user_id==db.auth_user.id))

 db.railLoad.loadedById.requires = IS_IN_DB(db(userQuery), 
    'auth_user.id', ....


On Thursday, April 19, 2012 5:06:18 PM UTC-4, Jim S wrote:
>
> Hi
>
> I'm looking for the most concise syntax to get a list of users that have 
> a a certain permission.
>
> Here is what I have:
>
>      groups = 
> db((db.auth_permission.name
> =='load')&(db.auth_permission.table_name=='railLoad'))._select(db.auth_permission.group_id)
>      userids = 
>
> db(db.auth_membership.group_id.belongs(groups))._select(db.auth_membership.user_id)
>      userQuery = db.auth_user.id.belongs(userids)
>
>      db.railLoad.loadedById.requires = IS_IN_DB(db(userQuery), 
> 'auth_user.id',
>                                                 '%(lastFirst)s',
>                                                 zero='...choose one...')
>
> What I'm doing is filtering a dropdown.  Want to limit the selections to 
> just the people with a specific permission.  This way works, but seems 
> like too much code for something in web2py.
>
>      -Jim
>
>

Reply via email to