Resources application initial commit
[snf-cloudcms] / cloudcmsresources / admin.py
1 from django.contrib import admin
2 from django.utils.translation import ugettext_lazy as _
3 from cloudcmsresources.models import ResourceCategory, \
4     ResourceCategoryTranslation, Resource, ResourceTranslation
5 from feincms.translations import admin_translationinline, short_language_code
6 from feincms.admin import item_editor
7
8 CategoryTranslationInline = admin_translationinline(ResourceCategoryTranslation,
9         prepopulated_fields={'slug': ('title',)})
10 ResourceTranslationInline = admin_translationinline(ResourceTranslation,
11         prepopulated_fields={'slug': ('title',)})
12
13 class ResourceCategoryAdmin(admin.ModelAdmin):
14     inlines = [CategoryTranslationInline]
15     list_display = ['__unicode__', 'entries']
16     search_fields = ['translations__title']
17
18     def entries(self, obj):
19         if 'translations' in getattr(ResourceCategory, '_feincms_extensions', ()):
20             return ResourceCategory.objects.filter(translations=obj, language=short_language_code()).count()
21         return ResourceCategory.objects.filter(translations=obj)
22
23     entries.short_description = _('Blog entries in category')
24
25 class ResourceAdmin(admin.ModelAdmin):
26     inlines = [ResourceTranslationInline]
27     list_display = ['__unicode__', 'category', 'is_published', 'published_on']
28     list_editable = ['published_on']
29     raw_id_fields = ['media_file']
30
31
32 admin.site.register(Resource, ResourceAdmin)
33 admin.site.register(ResourceCategory, ResourceCategoryAdmin)
34