Start of document_signatures app refactor.
This commit is contained in:
@@ -6,50 +6,57 @@ 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,
|
||||
permission_document_version_signature_delete,
|
||||
permission_document_version_signature_download,
|
||||
permission_document_version_signature_upload,
|
||||
permission_document_version_signature_verify,
|
||||
permission_document_version_signature_view
|
||||
)
|
||||
|
||||
|
||||
def can_upload_detached_signature(context):
|
||||
DocumentVersionSignature = apps.get_model(
|
||||
app_label='document_signatures', model_name='DocumentVersionSignature'
|
||||
def is_detached_signature(context):
|
||||
SignatureBaseModel = apps.get_model(
|
||||
app_label='document_signatures', model_name='SignatureBaseModel'
|
||||
)
|
||||
|
||||
return not DocumentVersionSignature.objects.has_detached_signature(
|
||||
context['object'].latest_version
|
||||
) and not DocumentVersionSignature.objects.has_embedded_signature(
|
||||
context['object'].latest_version
|
||||
)
|
||||
return SignatureBaseModel.objects.select_subclasses().get(
|
||||
pk=context['object'].pk
|
||||
).is_detached
|
||||
|
||||
|
||||
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_version_signature_delete = Link(
|
||||
condition=is_detached_signature,
|
||||
#permissions=(permission_document_version_signature_delete,),
|
||||
tags='dangerous', text=_('Delete'),
|
||||
view='signatures:document_version_signature_delete',
|
||||
args='resolved_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_version_signature_details = Link(
|
||||
#permissions=(permission_document_version_signature_view,),
|
||||
text=_('Details'),
|
||||
view='signatures:document_version_signature_details',
|
||||
args='resolved_object.pk'
|
||||
)
|
||||
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_version_signature_list = Link(
|
||||
#permissions=(permission_document_version_signature_view,),
|
||||
text=_('Signature list'),
|
||||
view='signatures:document_version_signature_list',
|
||||
args='resolved_object.pk'
|
||||
)
|
||||
link_document_verify = Link(
|
||||
icon='fa fa-certificate', permissions=(permission_document_verify,),
|
||||
text=_('Signatures'), view='signatures:document_verify', args='object.pk'
|
||||
link_document_version_signature_download = Link(
|
||||
condition=is_detached_signature,
|
||||
text=_('Download'),
|
||||
view='signatures:document_signature_download', args='resolved_object.pk',
|
||||
#permissions=(permission_document_version_signature_download,)
|
||||
)
|
||||
link_document_version_signature_upload = Link(
|
||||
#permissions=(permission_document_version_signature_upload,),
|
||||
text=_('Upload signature'), view='signatures:document_version_signature_upload',
|
||||
args='resolved_object.pk'
|
||||
)
|
||||
link_document_version_signature_verify = Link(
|
||||
icon='fa fa-certificate',
|
||||
#permissions=(permission_document_version_signature_verify,),
|
||||
text=_('Verify signatures'), view='signatures:document_verify',
|
||||
args='resolved_object.pk'
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user