Start of document_signatures app refactor.

This commit is contained in:
Roberto Rosario
2016-03-25 04:07:57 -04:00
parent ab6e2d8c23
commit 355190e919
16 changed files with 650 additions and 343 deletions

View File

@@ -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'
)