Update app to use new hooks interface

Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
Roberto Rosario
2019-01-31 06:10:32 -04:00
parent 9328a3e26e
commit 0919718114
3 changed files with 30 additions and 3 deletions

View File

@@ -18,6 +18,10 @@ from mayan.celery import app
from .handlers import (
handler_unverify_key_signatures, handler_verify_key_signatures
)
from .hooks import (
hook_create_embedded_signature, hook_decrypt_document_version
)
from .links import (
link_all_document_version_signature_verify, link_document_signature_list,
link_document_version_signature_delete,
@@ -68,10 +72,10 @@ class DocumentSignaturesApp(MayanAppConfig):
SignatureBaseModel = self.get_model(model_name='SignatureBaseModel')
DocumentVersion.register_post_save_hook(
func=EmbeddedSignature.objects.create, order=1
func=hook_create_embedded_signature, order=1
)
DocumentVersion.register_pre_open_hook(
func=EmbeddedSignature.objects.open_signed, order=1
func=hook_decrypt_document_version, order=1
)
ModelPermission.register(

View File

@@ -0,0 +1,23 @@
from __future__ import unicode_literals
from django.apps import apps
def hook_create_embedded_signature(document_version):
EmbeddedSignature = apps.get_model(
app_label='document_signatures', model_name='EmbeddedSignature'
)
EmbeddedSignature.objects.create(document_version=document_version)
def hook_decrypt_document_version(document_version, file_object):
EmbeddedSignature = apps.get_model(
app_label='document_signatures', model_name='EmbeddedSignature'
)
return {
'file_object': EmbeddedSignature.objects.open_signed(
document_version=document_version, file_object=file_object
)
}

View File

@@ -14,7 +14,7 @@ logger = logging.getLogger(__name__)
class EmbeddedSignatureManager(models.Manager):
def open_signed(self, file_object, document_version):
def open_signed(self, document_version, file_object):
for signature in self.filter(document_version=document_version):
try:
return self.open_signed(