from django.contrib import admin from newsroom.models import * from newsroom.forms import * from django.contrib.contenttypes import generic #from genericadmin.admin import GenericAdminModelAdmin from markitup.widgets import AdminMarkItUpWidget class AuthorAdmin(admin.ModelAdmin): prepopulated_fields={"slug": ("name",)} list_display = ('type', 'name', 'created', 'user',) admin.site.register(Author, AuthorAdmin) class DatelineAdmin(admin.ModelAdmin): prepopulated_fields={"slug": ("title",)} admin.site.register(Dateline, DatelineAdmin) class EditorialTypeAdmin(admin.ModelAdmin): prepopulated_fields={"slug": ("name",)} admin.site.register(EditorialType, EditorialTypeAdmin) class EditorialAdmin(admin.ModelAdmin): prepopulated_fields={"slug": ("print_hed",)} admin.site.register(Editorial, EditorialAdmin) class ArchiveSectionAdmin(admin.ModelAdmin): save_on_top=True prepopulated_fields={"slug": ("title",)} filter_horizontal=('stories', 'galleries', 'photos', 'pdf_documents', 'editorials') date_hierarchy='published_on' list_filter = ('paper', 'dateline', ) search_fields = ('title','body',) admin.site.register(ArchiveSection, ArchiveSectionAdmin) admin.site.register(ArchiveStory) admin.site.register(ArchiveDocument) admin.site.register(ArchiveMovie) admin.site.register(ArchiveSlideshow) class AttachedLinkInline(generic.GenericStackedInline): extra=1 model=AttachedLink class AttachedDocumentInline(generic.GenericStackedInline): extra=1 model=AttachedDocument class AttachedGraphicInline(generic.GenericStackedInline): extra=1 model=AttachedGraphic class AttachedGalleryInline(generic.GenericStackedInline): extra=1 model=AttachedGallery class StoryAdmin(admin.ModelAdmin): save_on_top=True raw_id_fields = ['lead_photo'] actions_selection_counter = True inlines = [ AttachedGalleryInline, AttachedGraphicInline, AttachedLinkInline, AttachedDocumentInline, ] prepopulated_fields={"slug": ("web_hed",)} list_display = ('web_hed', 'dateline', 'created', 'published', 'created_by', 'view_count',) date_hierarchy='published_on' filter_horizontal=('authors', 'towns', 'sites', 'paper_editions',) list_filter = ('dateline', 'published', 'sites',) search_fields = ('web_hed','body','authors__name',) fieldsets = [ (None, {'fields': [('web_hed','print_hed'),('slug','standing_hed'), ('kicker', 'subhed'),'authors', 'dateline','body', 'markup', 'lead_photo']}), ('Meta', {'fields': ['summary', ('auto_tag', 'tags')]}), ('Placement', {'fields': ['weight','paper_editions', 'status', ('published','published_on'),'towns', 'sites']}), ] def formfield_for_dbfield(self, db_field, **kwargs): if db_field.name == 'body': kwargs['widget'] = AdminMarkItUpWidget() return super(StoryAdmin, self).formfield_for_dbfield(db_field, **kwargs) def save_model(self, request, obj, form, change): if not change: obj.created_by = request.user obj.save() admin.site.register(Story, StoryAdmin) #class PageAdmin(admin.ModelAdmin): # save_on_top=True # search_fields=('ad_notes', 'ad_spec_pos',) # list_display = ('edition','number','type',) # list_filter = ('type', 'edition',) #admin.site.register(Page, PageAdmin) admin.site.register(Link) admin.site.register(Paper) class WebEditionAdmin(admin.ModelAdmin): raw_id_fields = ['featured_story', 'featured_photo'] filter_horizontal=('stories', 'photos', 'galleries', 'editorials','remembrances','death_announcements','memorial_services','inmemoriams') fieldsets = [ (None, {'fields': ['paper', ('published', 'published_on'), 'site']}), ('Editorial', { 'fields': ['featured_story', 'featured_photo', 'stories', 'editorials', 'pdfdocuments']}), ('Multimedia', {'classes': ['collapse'], 'fields': ['photos', 'galleries', 'movies', 'slideshows']}), ('Obits', {'classes': ['collapse'], 'fields': ['remembrances', 'death_announcements', 'memorial_services', 'inmemoriams']}), ] admin.site.register(WebEdition, WebEditionAdmin) admin.site.register(PaperEdition) admin.site.register(AuthorType) admin.site.register(StandingHed) #admin.site.register(PageType)