def select_model_by_name(name): from catalog.admin.utils import get_connected_models connected_models = get_connected_models() model_list = [item[0].__name__.lower() for item in connected_models] try: return connected_models[model_list.index(name)][0] except ValueError: return None
def testGrid(self): '''Test ext_grid wokrs''' for model, admin in get_connected_models(): model.objects.all()[0].ext_tree()
def testTree(self): '''Test ext_tree works''' for model, admin in get_connected_models(): model.objects.all()[0].ext_tree()
def get_absolute_url_undecorated(self): return ('tree', (), {'item_id': self.id, 'slug': self.slug()}) def slug(self): try: return self.content_object.slug except: return u'slug' try: mptt.register(TreeItem, tree_manager_attr='objects') except mptt.AlreadyRegistered: pass # HACK: import models by their names for convenient usage for model_name, admin_name in catalog_settings.CATALOG_CONNECTED_MODELS: module, model = model_name.rsplit('.', 1) exec('from %s import %s' % (module, model)) # must be at bottom, otherwies breaks imports from catalog.admin.utils import get_connected_models def filtered_children_factory(model_name): def func(self): return self.children.filter(content_type__model=model_name) return func for model_cls, admin_cls in get_connected_models(): model_name = model_cls.__name__.lower() setattr(TreeItem, 'children_%s' % model_name, filtered_children_factory(model_name))
return self.content_object.slug except: return u'slug' try: mptt.register(TreeItem, tree_manager_attr='objects') except mptt.AlreadyRegistered: pass # HACK: import models by their names for convenient usage for model_name, admin_name in catalog_settings.CATALOG_CONNECTED_MODELS: module, model = model_name.rsplit('.', 1) exec('from %s import %s' % (module, model)) # must be at bottom, otherwies breaks imports from catalog.admin.utils import get_connected_models def filtered_children_factory(model_name): def func(self): return self.children.filter(content_type__model=model_name) return func for model_cls, admin_cls in get_connected_models(): model_name = model_cls.__name__.lower() setattr(TreeItem, 'children_%s' % model_name, filtered_children_factory(model_name))