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.