X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/bbf66a1eb672e6029f7d58780d3689005215d03c..2caa6415139fe58938a62dca695639ba0cc86dda:/src/catalogue/admin.py diff --git a/src/catalogue/admin.py b/src/catalogue/admin.py index bd783b99..95da4994 100644 --- a/src/catalogue/admin.py +++ b/src/catalogue/admin.py @@ -4,18 +4,60 @@ from .wikidata import WikidataAdminMixin class AuthorAdmin(WikidataAdminMixin, admin.ModelAdmin): - list_display = "first_name", "last_name", "notes" + list_display = ["first_name", "last_name", 'status', "year_of_death", "priority", "wikidata_link"] + list_filter = ['year_of_death', 'priority', 'collections', 'status'] search_fields = ["first_name", "last_name", "wikidata"] prepopulated_fields = {"slug": ("first_name", "last_name")} + autocomplete_fields = ['collections'] admin.site.register(models.Author, AuthorAdmin) class BookAdmin(WikidataAdminMixin, admin.ModelAdmin): - list_display = "title", "notes" - autocomplete_fields = ["authors", "translators"] + list_display = ["title", 'authors_str', 'translators_str', 'language', 'pd_year', 'priority', 'wikidata_link'] + search_fields = ["title", 'wikidata'] + autocomplete_fields = ["authors", "translators", "based_on", 'collections'] prepopulated_fields = {"slug": ("title",)} + list_filter = ['language', 'pd_year', 'collections'] + readonly_fields = ['wikidata_link'] + fieldsets = [ + (None, {'fields': [ + ('wikidata', 'wikidata_link'), + ]}), + ('Identification', {'fields': [ + 'title', 'slug', 'authors', 'translators', 'language', + 'based_on', + 'pd_year', + ]}), + ('Plan', {'fields': [ + 'scans_source', + 'text_source', + 'priority', + 'collections', + 'notes', + ]}), + ] admin.site.register(models.Book, BookAdmin) + + +class AuthorInline(admin.TabularInline): + model = models.Author.collections.through + autocomplete_fields = ['author'] + + +class BookInline(admin.TabularInline): + model = models.Book.collections.through + autocomplete_fields = ['book'] + + +class CollectionAdmin(admin.ModelAdmin): + list_display = ['name'] + autocomplete_fields = [] + prepopulated_fields = {'slug': ('name',)} + search_fields = ['name'] + inlines = [AuthorInline, BookInline] + +admin.site.register(models.Collection, CollectionAdmin)