-
Notifications
You must be signed in to change notification settings - Fork 1
/
admin.py
47 lines (31 loc) · 1.21 KB
/
admin.py
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
from django.contrib import admin
from django.contrib.sites.models import Site
from django.contrib.contenttypes.models import ContentType
from .models import Group
from .models import Item
def site_unicode(self):
return self.name
Site.__unicode__ = site_unicode
def contenttype_unicode(self):
return '%s -> %s' % (self.app_label, self.name)
ContentType._meta.ordering = ['app_label']
ContentType.__unicode__ = contenttype_unicode
class GroupAdmin(admin.ModelAdmin):
list_display = ['name', 'slug', 'public', 'count']
search_fields = ['name', 'slug', 'id']
list_editable = ['public']
list_filter = ['public', 'sites']
admin.site.register(Group, GroupAdmin)
class ItemAdmin(admin.ModelAdmin):
list_display = ['display', 'get_absolute_url', 'group', 'sort', 'public', 'icon_preview']
search_fields = ['name', 'url', 'group']
list_editable = ['sort', 'public']
list_filter = ['public', 'group', 'access', 'sites']
actions = ['update']
def update(self, request, queryset):
for item in Item.objects.all():
item.sort = 11
item.save()
self.message_user(request, "Updated")
update.short_description = "Update selected menu"
admin.site.register(Item, ItemAdmin)