I assume that you are defining the table_filler_type class within the
scope of another class definition (declarative-style), which doesn't
work, because of reasons.
Happened to me, too, and made me wonder an afternoon long...

One solution would be to define the class in the module scope and just
reference it, if possible, or you just use the old-school hardcode variant.

Am 06.11.2013 17:13, schrieb Stuart Zurcher:
> 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
>         <http://groups.google.com/group/turbogears>.
>         For more options, visit https://groups.google.com/groups/opt_out
>         <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.

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