summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py30
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):