fixes
authorRadek Czajka <rczajka@rczajka.pl>
Tue, 24 Jan 2023 12:52:39 +0000 (13:52 +0100)
committerRadek Czajka <rczajka@rczajka.pl>
Tue, 24 Jan 2023 12:52:39 +0000 (13:52 +0100)
src/catalogue/admin.py
src/catalogue/models.py

index 68a362b..7acfa40 100644 (file)
@@ -273,6 +273,7 @@ class BookAdmin(WikidataAdminMixin, NumericFilterModelAdmin):
             "estimate_source",
 
             "document_book__project",
             "estimate_source",
 
             "document_book__project",
+            "audience",
             "first_publication_year",
 
             "monthly_views_page",
             "first_publication_year",
 
             "monthly_views_page",
index 151a13e..6f4fa1e 100644 (file)
@@ -294,6 +294,12 @@ class Book(WikidataModel):
         if b.project is None: return ''
         return b.project.name
 
         if b.project is None: return ''
         return b.project.name
 
+    def audience(self):
+        try:
+            return self.document_books.first().wldocument().book_info.audience or ''
+        except:
+            return ''
+
     def get_estimated_costs(self):
         return {
             work_type: work_type.calculate(self)
     def get_estimated_costs(self):
         return {
             work_type: work_type.calculate(self)
@@ -314,6 +320,9 @@ class Book(WikidataModel):
         if pbr is not None and pbr.timestamp.date() > cutoff:
             months = (this_month - pbr.timestamp.date()).days / 365 * 12
 
         if pbr is not None and pbr.timestamp.date() > cutoff:
             months = (this_month - pbr.timestamp.date()).days / 365 * 12
 
+        if not months:
+            return
+
         stats = self.bookmonthlystats_set.filter(date__gte=cutoff).aggregate(
             views_page=models.Sum('views_page'),
             views_reader=models.Sum('views_reader')
         stats = self.bookmonthlystats_set.filter(date__gte=cutoff).aggregate(
             views_page=models.Sum('views_page'),
             views_reader=models.Sum('views_reader')