Files
mayan-edms/mayan/apps/document_signatures/links.py
2016-01-28 05:43:08 -04:00

56 lines
1.8 KiB
Python

from __future__ import unicode_literals
from django.apps import apps
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from .permissions import (
permission_document_verify, permission_signature_delete,
permission_signature_download, permission_signature_upload,
)
def can_upload_detached_signature(context):
DocumentVersionSignature = apps.get_model(
app_label='document_signatures', model_name='DocumentVersionSignature'
)
return not DocumentVersionSignature.objects.has_detached_signature(
context['object'].latest_version
) and not DocumentVersionSignature.objects.has_embedded_signature(
context['object'].latest_version
)
def can_delete_detached_signature(context):
DocumentVersionSignature = apps.get_model(
app_label='document_signatures', model_name='DocumentVersionSignature'
)
return DocumentVersionSignature.objects.has_detached_signature(
context['object'].latest_version
)
link_document_signature_delete = Link(
condition=can_delete_detached_signature,
permissions=(permission_signature_delete,), tags='dangerous',
text=_('Delete signature'), view='signatures:document_signature_delete',
args='object.pk'
)
link_document_signature_download = Link(
condition=can_delete_detached_signature, text=_('Download signature'),
view='signatures:document_signature_download', args='object.pk',
permissions=(permission_signature_download,)
)
link_document_signature_upload = Link(
condition=can_upload_detached_signature,
permissions=(permission_signature_upload,), text=_('Upload signature'),
view='signatures:document_signature_upload', args='object.pk'
)
link_document_verify = Link(
permissions=(permission_document_verify,), text=_('Signatures'),
view='signatures:document_verify', args='object.pk'
)