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