descriptions in catalogue
[redakcja.git] / src / catalogue / admin.py
index 3919035..48d5dc5 100644 (file)
@@ -42,6 +42,8 @@ class AuthorAdmin(WikidataAdminMixin, TabbedTranslationAdmin):
         "status",
         "gender",
         "nationality",
+        "place_of_birth",
+        "place_of_death",
         ("genitive", admin.EmptyFieldListFilter)
     ]
     list_per_page = 10000000
@@ -56,6 +58,7 @@ class AuthorAdmin(WikidataAdminMixin, TabbedTranslationAdmin):
                 "fields": [
                     ("first_name", "last_name"),
                     "slug",
+                    "genitive",
                     "gender",
                     "nationality",
                     ("date_of_birth", "year_of_birth", "year_of_birth_inexact", "year_of_birth_range", "place_of_birth"),
@@ -167,6 +170,12 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
         "priority",
         "authors__gender", "authors__nationality",
         "translators__gender", "translators__nationality",
+
+        ("authors__place_of_birth", add_title(admin.RelatedFieldListFilter, ' autora')),
+        ("authors__place_of_death", add_title(admin.RelatedFieldListFilter, ' autora')),
+        ("translators__place_of_birth", add_title(admin.RelatedFieldListFilter, ' tłumacza')),
+        ("translators__place_of_death", add_title(admin.RelatedFieldListFilter, ' tłumacza')),
+
         "document_book__chunk__stage",
 
         LicenseFilter,
@@ -181,6 +190,8 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
         "estimated_costs",
         "documents_book_link",
         "scans_source_link",
+        "monthly_views_page",
+        "monthly_views_reader",
     ]
     actions = [export_as_csv_action(
         fields=[
@@ -202,7 +213,20 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
             "gazeta_link",
             "estimated_chars",
             "estimated_verses",
-            "estimate_source"
+            "estimate_source",
+
+            "monthly_views_page",
+            "monthly_views_reader",
+
+            # content stats
+            "chars",
+            "chars_with_fn",
+            "words",
+            "words_with_fn",
+            "verses",
+            "chars_out_verse",
+            "verses_with_fn",
+            "chars_out_verse_with_fn",
         ]
     )]
     fieldsets = [
@@ -244,6 +268,7 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
                     "notes",
                     ("estimated_chars", "estimated_verses", "estimate_source"),
                     "estimated_costs",
+                    ("monthly_views_page", "monthly_views_reader"),
                 ]
             },
         ),
@@ -336,20 +361,39 @@ admin.site.register(models.Collection, CollectionAdmin)
 class CategoryAdmin(admin.ModelAdmin):
     search_fields = ["name"]
 
+    def has_description(self, obj):
+        return bool(obj.description)
+    has_description.boolean = True
+    has_description.short_description = 'opis'
+
 
 @admin.register(models.Epoch)
 class EpochAdmin(CategoryAdmin):
-    list_display = ['name', 'adjective_feminine_singular', 'adjective_nonmasculine_plural']
+    list_display = [
+        'name',
+        'adjective_feminine_singular',
+        'adjective_nonmasculine_plural',
+        'has_description',
+    ]
 
 
 @admin.register(models.Genre)
 class GenreAdmin(CategoryAdmin):
-    list_display = ['name', 'plural', 'is_epoch_specific']
+    list_display = [
+        'name',
+        'plural',
+        'is_epoch_specific',
+        'has_description',
+    ]
 
 
 @admin.register(models.Kind)
 class KindAdmin(CategoryAdmin):
-    list_display = ['name', 'collective_noun']
+    list_display = [
+        'name',
+        'collective_noun',
+        'has_description',
+    ]