X-Git-Url: https://git.mdrn.pl/django-migdal.git/blobdiff_plain/734cd58d3f12c5397b42c1ae122c947500386014..66b5dfaafedcd67514527ca72fca132563479559:/migdal/admin.py diff --git a/migdal/admin.py b/migdal/admin.py index 6bdfb59..a03d16c 100644 --- a/migdal/admin.py +++ b/migdal/admin.py @@ -18,8 +18,8 @@ class AttachmentInline(admin.TabularInline): def filtered_entry_admin(typ): class EntryAdmin(admin.ModelAdmin): - def queryset(self, request): - return self.model.objects.filter(type=typ) + def get_queryset(self, request): + return self.model.objects.filter(type=typ.db) def has_add_permission(self, request): return request.user.has_perm('migdal.add_entry') @@ -30,15 +30,23 @@ def filtered_entry_admin(typ): def has_delete_permission(self, request, obj=None): return request.user.has_perm('migdal.delete_entry') + def formfield_for_dbfield(self, db_field, **kwargs): + field = super(EntryAdmin, self).formfield_for_dbfield(db_field, **kwargs) + if db_field.name == 'categories': + field.widget.attrs['style'] = 'height: 10em' + return field + date_hierarchy = 'date' - readonly_fields = ('date', 'changed_at') + \ - translated_fields(('published_at',)) + readonly_fields = ('date', 'changed_at') + translated_fields(('published_at',)) + 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 + ( - 'author', 'author_email', 'image', 'date', 'changed_at') + 'in_stream', 'author', 'author_email', 'canonical_url', 'image', + 'date', 'first_published_at', 'changed_at') }), ) + tuple( (ln, {'fields': ( @@ -71,15 +79,15 @@ def filtered_entry_admin(typ): for lang_code, lang_name in settings.LANGUAGES ]) - list_display = translated_fields(('title',), - app_settings.OBLIGATORY_LANGUAGES) + \ - ('date', 'author') + \ - _promo_if_necessary + \ - 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',)) + \ + translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) list_filter = _promo_if_necessary + \ - translated_fields(('published',)) + \ - translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) + translated_fields(('published',)) + \ + translated_fields(('needed',), app_settings.OPTIONAL_LANGUAGES) inlines = (AttachmentInline,) search_fields = ('title_pl', 'title_en') return EntryAdmin