Update app to use new hooks interface
Signed-off-by: Roberto Rosario <Roberto.Rosario@mayan-edms.com>
This commit is contained in:
@@ -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(
|
||||
|
||||
23
mayan/apps/document_signatures/hooks.py
Normal file
23
mayan/apps/document_signatures/hooks.py
Normal 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
|
||||
)
|
||||
}
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user