Append notes.
[redakcja.git] / src / catalogue / models.py
index db840da..cbe8060 100644 (file)
@@ -83,7 +83,7 @@ class Author(WikidataModel):
         year_of_death = WIKIDATA.DATE_OF_DEATH
         place_of_death = WIKIDATA.PLACE_OF_DEATH
         gender = WIKIDATA.GENDER
-        notes = "description"
+        notes = WikiMedia.append("description")
         plwiki = "plwiki"
         photo = WikiMedia.download(WIKIDATA.IMAGE)
         photo_source = WikiMedia.descriptionurl(WIKIDATA.IMAGE)
@@ -205,7 +205,7 @@ class Book(WikidataModel):
         language = WIKIDATA.LANGUAGE
         based_on = WIKIDATA.BASED_ON
         original_year = WIKIDATA.PUBLICATION_DATE
-        notes = "description"
+        notes = WikiMedia.append("description")
 
     def __str__(self):
         txt = self.title
@@ -227,15 +227,31 @@ class Book(WikidataModel):
         return f'https://wolnelektury.pl/katalog/lektura/{self.slug}/'
     
     def authors_str(self):
+        if not self.pk:
+            return ''
         return ", ".join(str(author) for author in self.authors.all())
     authors_str.admin_order_field = 'authors__last_name'
     authors_str.short_description = _('Author')
 
     def translators_str(self):
+        if not self.pk:
+            return ''
         return ", ".join(str(author) for author in self.translators.all())
     translators_str.admin_order_field = 'translators__last_name'
     translators_str.short_description = _('Translator')
 
+    def authors_first_names(self):
+        return ', '.join(a.first_name for a in self.authors.all())
+
+    def authors_last_names(self):
+        return ', '.join(a.last_name for a in self.authors.all())
+
+    def translators_first_names(self):
+        return ', '.join(a.first_name for a in self.translators.all())
+
+    def translators_last_names(self):
+        return ', '.join(a.last_name for a in self.translators.all())
+
     def get_estimated_costs(self):
         return {
             work_type: work_type.calculate(self)
@@ -265,6 +281,7 @@ class Collection(models.Model):
     slug = models.SlugField(max_length=255, unique=True)
     category = models.ForeignKey(CollectionCategory, models.SET_NULL, null=True, blank=True, verbose_name=_("category"))
     notes = models.TextField(_("notes"), blank=True)
+    description = models.TextField(_("description"), blank=True)
 
     class Meta:
         ordering = ('category', 'name')