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')
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', 'gallery')
}),
) + tuple(
(ln, {'fields': (
'slug_%s' % lc,
'lead_%s' % lc,
'body_%s' % lc,
+ 'place_%s' % lc,
+ 'time_%s' % lc,
)})
for lc, ln in app_settings.OBLIGATORY_LANGUAGES
) + tuple(
'slug_%s' % lc,
'lead_%s' % lc,
'body_%s' % lc,
+ 'place_%s' % lc,
+ 'time_%s' % lc,
)})
for lc, ln in app_settings.OPTIONAL_LANGUAGES
)
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