diff options
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index ffe302454..722e134ac 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3027,10 +3027,13 @@ class Document(BaseHistorizedItem, CompleteIdentifierItem, OwnPerms, ImageModel, issn = models.CharField(_("ISSN"), blank=True, null=True, max_length=10) isbn = models.CharField(_("ISBN"), blank=True, null=True, max_length=17) source = models.ForeignKey("Document", verbose_name=_("Source"), - blank=True, null=True) + blank=True, null=True, related_name="children") source_free_input = models.CharField( verbose_name=_("Source - free input"), blank=True, null=True, max_length=500) + source_page_range = models.CharField( + verbose_name=_("Source - page range"), blank=True, null=True, + max_length=500) support_type = models.ForeignKey(SupportType, verbose_name=_("Medium"), on_delete=models.SET_NULL, blank=True, null=True, ) @@ -3147,6 +3150,14 @@ class Document(BaseHistorizedItem, CompleteIdentifierItem, OwnPerms, ImageModel, def natural_key(self): return (self.external_id,) + def sheet_header(self): + headers = [] + if self.complete_identifier: + headers.append(self.complete_identifier) + if self.title: + headers.append(self.title) + return " - ".join(headers) + @property def has_iframe(self): return self.format_type and self.format_type.iframe_template @@ -3177,6 +3188,23 @@ class Document(BaseHistorizedItem, CompleteIdentifierItem, OwnPerms, ImageModel, except Container.DoesNotExist: return + @property + def pdf_attached(self): + if not self.associated_file and (not self.source + or not self.source.associated_file): + return + extra = "" + if self.associated_file: + url = self.associated_file.url + else: + url = self.source.associated_file.url + if self.source_page_range: + extra = "#page=" + extra += self.source_page_range.split("-")[0].split(";")[0] + if not url.lower().endswith(".pdf"): + return + return url + extra + """ @property def code(self): |