I'm new to super(). I've tried several ways and failed. From
documentation, format for super is :
super(className, self).method(arg)
>
so I tried:
> class table_filler_type(TableFiller):
> __entity__ = Forms
>
>
> def _do_get_provider_count_and_objs(self, **kw):
> kw.update({'form':'platreview'})
> super(table_filler_type,
> self)._do_get_provider_count_and_objs(kw)
>
which throws table_filler_type undefined error
On Tuesday, November 5, 2013 2:52:15 PM UTC-6, Alessandro Molina wrote:
>
> 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]<javascript:>
> > 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] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> 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.