48 lines
1.6 KiB
Python
48 lines
1.6 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from navigation import Link
|
|
|
|
from .models import DocumentVersionSignature
|
|
from .permissions import (
|
|
permission_document_verify, permission_signature_delete,
|
|
permission_signature_download, permission_signature_upload,
|
|
)
|
|
|
|
|
|
def can_upload_detached_signature(context):
|
|
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):
|
|
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'
|
|
)
|