X-Git-Url: https://git.mdrn.pl/django-migdal.git/blobdiff_plain/476685a9de9b8380c5c8ee71d63d6d6020533926..263bed72cd989b0ae9ba4a19825e3c0109a66407:/migdal/admin.py diff --git a/migdal/admin.py b/migdal/admin.py index 0df9352..2a674b1 100644 --- a/migdal/admin.py +++ b/migdal/admin.py @@ -5,7 +5,7 @@ from django.conf import settings from django.contrib import admin from django.utils.translation import ugettext_lazy as _ -from migdal.models import Entry, Attachment +from migdal.models import Entry, Attachment, Photo from migdal import app_settings from fnpdjango.utils.models import filtered_model from fnpdjango.utils.models.translation import translated_fields @@ -16,9 +16,14 @@ class AttachmentInline(admin.TabularInline): readonly_fields = ['url'] +class PhotoInline(admin.TabularInline): + model = Photo + readonly_fields = ['url'] + + def filtered_entry_admin(typ): class EntryAdmin(admin.ModelAdmin): - def queryset(self, request): + def get_queryset(self, request): return self.model.objects.filter(type=typ.db) def has_add_permission(self, request): @@ -37,14 +42,15 @@ def filtered_entry_admin(typ): return field date_hierarchy = 'date' - readonly_fields = ('date', 'changed_at', 'first_published_at') + \ - translated_fields(('published_at',)) + readonly_fields = ('date', 'changed_at') + translated_fields(('published_at',), app_settings.LANGUAGES) + if app_settings.PUBLISH_DATE_EDITABLE: + readonly_fields += ('first_published_at',) _promo_if_necessary = ('promo',) if typ.promotable else () fieldsets = ( (None, { 'fields': _promo_if_necessary + ( - 'in_stream', 'author', 'author_email', 'image', + 'in_stream', 'author', 'author_email', 'canonical_url', 'image', 'date', 'first_published_at', 'changed_at') }), ) + tuple( @@ -55,6 +61,8 @@ def filtered_entry_admin(typ): 'slug_%s' % lc, 'lead_%s' % lc, 'body_%s' % lc, + 'place_%s' % lc, + 'time_%s' % lc, )}) for lc, ln in app_settings.OBLIGATORY_LANGUAGES ) + tuple( @@ -65,6 +73,8 @@ def filtered_entry_admin(typ): 'slug_%s' % lc, 'lead_%s' % lc, 'body_%s' % lc, + 'place_%s' % lc, + 'time_%s' % lc, )}) for lc, ln in app_settings.OPTIONAL_LANGUAGES ) @@ -75,20 +85,19 @@ def filtered_entry_admin(typ): ) prepopulated_fields = dict([ ("slug_%s" % lang_code, ("title_%s" % lang_code,)) - for lang_code, lang_name in settings.LANGUAGES + for lang_code, lang_name in app_settings.LANGUAGES ]) - list_display = translated_fields(('title',), - app_settings.OBLIGATORY_LANGUAGES) + \ - ('date', 'author') + \ - _promo_if_necessary + \ - ('in_stream', 'first_published_at',) + \ - translated_fields(('published_at',)) + \ - translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) + list_display = translated_fields(('title',), app_settings.OBLIGATORY_LANGUAGES) + \ + ('date', 'author') + \ + _promo_if_necessary + \ + ('in_stream', 'first_published_at',) + \ + translated_fields(('published_at',), app_settings.LANGUAGES) + \ + translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) list_filter = _promo_if_necessary + \ - translated_fields(('published',)) + \ - translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) - inlines = (AttachmentInline,) + translated_fields(('published',), app_settings.LANGUAGES) + \ + translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) + inlines = (PhotoInline, AttachmentInline) search_fields = ('title_pl', 'title_en') return EntryAdmin @@ -102,9 +111,9 @@ if app_settings.TAXONOMIES: from migdal.models import Category class CategoryAdmin(admin.ModelAdmin): - list_display = translated_fields(('title', 'slug')) + ('taxonomy',) + list_display = translated_fields(('title', 'slug'), app_settings.LANGUAGES) + ('taxonomy',) prepopulated_fields = dict([ ("slug_%s" % lang_code, ("title_%s" % lang_code,)) - for lang_code, lang_name in settings.LANGUAGES + for lang_code, lang_name in app_settings.LANGUAGES ]) admin.site.register(Category, CategoryAdmin)