コード例 #1
0
ファイル: views.py プロジェクト: nvbn/django-catalog
 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
コード例 #2
0
ファイル: json.py プロジェクト: BergSoft/django-catalog
 def testGrid(self):
     '''Test ext_grid wokrs'''
     for model, admin in get_connected_models():
         model.objects.all()[0].ext_tree()
コード例 #3
0
ファイル: json.py プロジェクト: BergSoft/django-catalog
 def testTree(self):
     '''Test ext_tree works'''  
     for model, admin in get_connected_models():
         model.objects.all()[0].ext_tree()
コード例 #4
0
ファイル: models.py プロジェクト: BergSoft/django-catalog
    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))
コード例 #5
0
 def testGrid(self):
     '''Test ext_grid wokrs'''
     for model, admin in get_connected_models():
         model.objects.all()[0].ext_tree()
コード例 #6
0
 def testTree(self):
     '''Test ext_tree works'''
     for model, admin in get_connected_models():
         model.objects.all()[0].ext_tree()
コード例 #7
0
ファイル: models.py プロジェクト: nvbn/django-catalog
            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))