If you just need to add a filter it's probably better to avoid issues in the future to just add the kw.update line and then call super._do_get_provider_count_and_objs instead of copying the whole implementation
On Tue, Nov 5, 2013 at 9:39 PM, Stuart Zurcher <[email protected]>wrote: > 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. > -- 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.

