My favorites | Sign in
Project Home Downloads Wiki Issues Source
Checkout   Browse   Changes    
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from django.contrib import admin
from django import forms
from django.contrib.contenttypes import generic

from treenav import models as treenav
from treenav.forms import MenuItemForm, GenericInlineMenuItemForm


class GenericMenuItemInline(generic.GenericStackedInline):
"""
Add this inline to your admin class to support editing related menu items
from that model's admin page.
"""
max_num = 1
model = treenav.MenuItem
form = GenericInlineMenuItemForm


class SubMenuItemInline(admin.TabularInline):
model = treenav.MenuItem
extra = 1
form = MenuItemForm
prepopulated_fields = {'slug': ('label',)}
exclude = ('new_parent',)


class MenuItemAdmin(admin.ModelAdmin):
list_display = (
'menu_items',
'slug',
'label',
'parent',
'link',
'href_link',
'order',
'is_enabled',
)
list_filter = ('parent', 'is_enabled')
raw_id_fields = ('parent',)
prepopulated_fields = {'slug': ('label',)}
inlines = (SubMenuItemInline, )
fieldsets = (
(None, {
'fields': ('new_parent', 'label', 'slug', 'order', 'is_enabled')
}),
('URL', {
'fields': ('link', ('content_type', 'object_id')),
'description': "Link for this menu item, which can be one of: absolute URL, named URL, or a generic relation using get_absolute_url()"
}),
)
list_editable = ('label',)
form = MenuItemForm

def menu_items(self, obj):
if obj.level == 0:
return obj.label
return '   '*obj.level + '- %s' % obj.label
menu_items.allow_tags = True

def href_link(self, obj):
return '<a href="%s">%s</a>' % (obj.href, obj.href)
href_link.short_description = 'HREF'
href_link.allow_tags = True

admin.site.register(treenav.MenuItem, MenuItemAdmin)

Change log

r55 by glassresistor on Jul 16, 2010   Diff
fixed order problem
Go to: 
Project members, sign in to write a code review

Older revisions

r50 by glassresistor on Jun 7, 2010   Diff
Put tree view and depth str into the
main branch
r22 by tobias.mcnulty on Feb 28, 2010   Diff
add GenericMenuItemInline for use in
3rd party apps to easy editing of menu
items
r2 by copelco on Jul 15, 2009   Diff
initial import

All revisions of this file

File info

Size: 1888 bytes, 65 lines
Powered by Google Project Hosting