Don't check for embedded signature on save.
This commit is contained in:
@@ -24,20 +24,20 @@ class DocumentVersionSignature(models.Model):
|
|||||||
Model that describes a document version signature properties
|
Model that describes a document version signature properties
|
||||||
"""
|
"""
|
||||||
document_version = models.ForeignKey(DocumentVersion, verbose_name=_('Document version'), editable=False)
|
document_version = models.ForeignKey(DocumentVersion, verbose_name=_('Document version'), editable=False)
|
||||||
signature_file = models.FileField(blank=True, null=True, upload_to=upload_to, storage=storage_backend, verbose_name=_('Signature file'), editable=False)
|
signature_file = models.FileField(blank=True, null=True, upload_to=upload_to, storage=storage_backend, verbose_name=_('Signature file'))
|
||||||
has_embedded_signature = models.BooleanField(default=False, verbose_name=_('Has embedded signature'), editable=False)
|
has_embedded_signature = models.BooleanField(default=False, verbose_name=_('Has embedded signature'))
|
||||||
|
|
||||||
objects = DocumentVersionSignatureManager()
|
objects = DocumentVersionSignatureManager()
|
||||||
|
|
||||||
def delete_detached_signature_file(self):
|
def delete_detached_signature_file(self):
|
||||||
self.signature_file.storage.delete(self.signature_file.path)
|
self.signature_file.storage.delete(self.signature_file.path)
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def check_for_embedded_signature(self):
|
||||||
if not self.pk:
|
logger.debug('checking for embedded signature')
|
||||||
descriptor = self.document_version.open(raw=True)
|
|
||||||
self.has_embedded_signature = gpg.has_embedded_signature(descriptor)
|
with self.document_version.open(raw=True) as file_object:
|
||||||
descriptor.close()
|
self.has_embedded_signature = gpg.has_embedded_signature(file_object)
|
||||||
super(DocumentVersionSignature, self).save(*args, **kwargs)
|
self.save()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Document version signature')
|
verbose_name = _('Document version signature')
|
||||||
|
|||||||
Reference in New Issue
Block a user