Ok. Found the solution, thanks to Alessandro, and posting for others.
I am using ming with auth quickstarted.
The following will provide a subset of users with 'plats' in _groups of the 
User entity in my customAdmin.py
Key line highlighted in bold.  Adjust filter query semantics to your ORM 
provider and needs.


from projectName.model.auth import User, Group, Permission
>
> from tgext.admin.mongo import TGMongoAdminConfig
> from tgext.admin.tgadminconfig import CrudRestControllerConfig
> from tgext.admin.controller import AdminController
>
> try:
>     from tgext.crud.utils import SortableTableBase as TableBase
> except:
>     from sprox.tablebase import TableBase
>
> try:
>     from tgext.crud.utils import RequestLocalTableFiller as TableFiller
> except:
>     from sprox.fillerbase import TableFiller
> from tg.predicates import in_group
>
>
> class MyAdminConfig(TGMongoAdminConfig):
>     default_index_template = "mako:projectName.templates.admin"
>
>
>     class user(CrudRestControllerConfig):
>         class table_type(TableBase):
>             __entity__ = User
>             __limit_fields__ = ['display_name', 'email_address', 'groups']
>             __url__ = '../user.json' #this just tidies up the URL a bit
>   
>         class table_filler_type(TableFiller):
>             __entity__ = User
>             __limit_fields__ = ['_id', 'display_name',  'email_address', 
> 'groups']
>         
>             def _do_get_provider_count_and_objs(self, **kw):
>                 limit = kw.pop('limit', None)
>                 offset = kw.pop('offset', None)
>                 order_by = kw.pop('order_by', None)
>                 desc = kw.pop('desc', False)                
>                 substring_filters = kw.pop('substring_filters', [])
>                 *kw.update({'_groups':{'$in': ['plats']}})*
>                 count, objs = self.__provider__.query(self.__entity__, 
> limit, offset, self.__limit_fields__,
>                                                       order_by, desc, 
> substring_filters=substring_filters,
>                                                       filters=kw)
>                 self.__count__ = count
>                 return count, objs
>
>
> class MyAdminController(AdminController):
>     allow_only = in_group('plats',
>                          msg=('DB can only be administered by Plat Reiview 
> staff.'))
>

Saved by the group.


Thank you for the replies.  I'll revisit this later today or tomorrow.  
Have a detour project to work on.
Stuart

On Monday, November 4, 2013 8:05:50 AM UTC-6, Stuart Zurcher wrote:
>
> I have been looking around and have not found any documentation or 
> examples of providing a subset of the entity for admin.
>
> I would like to provide all users of a group for that group's 
> administrator.  I can hard code the forms but was wondering if there is a 
> simpler way with the admin module as I have several of these type of 
> instances which a simple solution would save considerable time.
>

-- 
You received this message because you are subscribed to the Google Groups 
"TurboGears" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/turbogears.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to