Fixed a problem in the new admin creation where it wouldn't properly filter out the category fields by model

This commit is contained in:
Corey Oordt 2011-05-16 08:57:29 -04:00
parent 97c45e702f
commit d90dccda01

View file

@ -101,10 +101,10 @@ class CategoryAdmin(TreeEditor, admin.ModelAdmin):
admin.site.register(Category, CategoryAdmin)
for model,modeladmin in admin.site._registry.items():
for model, modeladmin in admin.site._registry.items():
if model in registry.values() and modeladmin.fieldsets:
fieldsets = getattr(modeladmin, 'fieldsets', ())
fields = [cat.split('.')[1] for cat in registry]
fields = [cat.split('.')[1] for cat in registry if registry[cat] == model]
# check each field to see if already defined
for cat in fields:
for k,v in fieldsets:
@ -112,9 +112,10 @@ for model,modeladmin in admin.site._registry.items():
fields.remove(cat)
# if there are any fields left, add them under the categories fieldset
if len(fields) > 0:
print fields
admin.site.unregister(model)
admin.site.register(model, type('newadmin', (modeladmin.__class__,), {
'fieldsets': fieldsets + (('Categories',{
'fieldsets': fieldsets + (('Categories', {
'fields': fields
}),)
}))