Migration updates

Squash version page migrations.
Add manual OCR and parsing migrations.
Fix tests.
Page search updates.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-10-09 16:38:00 -04:00
parent d0ee8aba16
commit 7fbb94a8ae
36 changed files with 449 additions and 269 deletions

View File

@@ -116,6 +116,14 @@ class Document(models.Model):
)
return partition
@property
def checksum(self):
return self.latest_version.checksum
@property
def date_updated(self):
return self.latest_version.timestamp
def delete(self, *args, **kwargs):
to_trash = kwargs.pop('to_trash', True)
@@ -140,6 +148,14 @@ class Document(models.Model):
else:
return False
@property
def file_mime_encoding(self):
return self.latest_version.encoding
@property
def file_mimetype(self):
return self.latest_version.mimetype
def get_absolute_url(self):
return reverse(
viewname='documents:document_preview', kwargs={'pk': self.pk}
@@ -154,6 +170,10 @@ class Document(models.Model):
def is_in_trash(self):
return self.in_trash
@property
def latest_version(self):
return self.versions.order_by('timestamp').last()
def natural_key(self):
return (self.uuid,)
natural_key.dependencies = ['documents.DocumentType']
@@ -171,8 +191,6 @@ class Document(models.Model):
logger.info('New document version queued for document: %s', self)
self.reset_pages(update_page_count=False)
return document_version
def open(self, *args, **kwargs):
@@ -197,7 +215,7 @@ class Document(models.Model):
)
return DocumentPage.passthrough.filter(document=self)
def reset_pages(self, update_page_count=True):
def pages_reset(self, update_page_count=True):
with transaction.atomic():
for page in self.pages.all():
page.delete()
@@ -254,25 +272,3 @@ class Document(models.Model):
@property
def size(self):
return self.latest_version.size
# Compatibility methods
@property
def checksum(self):
return self.latest_version.checksum
@property
def date_updated(self):
return self.latest_version.timestamp
@property
def file_mime_encoding(self):
return self.latest_version.encoding
@property
def file_mimetype(self):
return self.latest_version.mimetype
@property
def latest_version(self):
return self.versions.order_by('timestamp').last()