77 lines
2.3 KiB
Python
77 lines
2.3 KiB
Python
from __future__ import absolute_import, unicode_literals
|
|
|
|
import copy
|
|
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from acls.links import link_acl_list
|
|
from documents.permissions import permission_document_view
|
|
from navigation import Link
|
|
|
|
from .permissions import (
|
|
permission_cabinet_add_document, permission_cabinet_create,
|
|
permission_cabinet_delete, permission_cabinet_edit,
|
|
permission_cabinet_view, permission_cabinet_remove_document
|
|
)
|
|
|
|
# Document links
|
|
|
|
link_document_cabinet_list = Link(
|
|
icon='fa fa-columns', permissions=(permission_document_view,),
|
|
text=_('Cabinets'), view='cabinets:document_cabinet_list',
|
|
args='resolved_object.pk'
|
|
)
|
|
link_document_cabinet_remove = Link(
|
|
args='resolved_object.pk',
|
|
permissions=(permission_cabinet_remove_document,),
|
|
text=_('Remove from cabinets'), view='cabinets:document_cabinet_remove'
|
|
)
|
|
link_cabinet_add_document = Link(
|
|
permissions=(permission_cabinet_add_document,),
|
|
text=_('Add to cabinets'), view='cabinets:cabinet_add_document',
|
|
args='object.pk'
|
|
)
|
|
link_cabinet_add_multiple_documents = Link(
|
|
text=_('Add to cabinets'), view='cabinets:cabinet_add_multiple_documents'
|
|
)
|
|
link_multiple_document_cabinet_remove = Link(
|
|
text=_('Remove from cabinets'),
|
|
view='cabinets:multiple_document_cabinet_remove'
|
|
)
|
|
|
|
# Cabinet links
|
|
|
|
|
|
def cabinet_is_root(context):
|
|
return context[
|
|
'resolved_object'
|
|
].is_root_node()
|
|
|
|
|
|
link_custom_acl_list = copy.copy(link_acl_list)
|
|
link_custom_acl_list.condition = cabinet_is_root
|
|
|
|
link_cabinet_child_add = Link(
|
|
permissions=(permission_cabinet_create,), text=_('Add new level'),
|
|
view='cabinets:cabinet_child_add', args='object.pk'
|
|
)
|
|
link_cabinet_create = Link(
|
|
icon='fa fa-plus', permissions=(permission_cabinet_create,),
|
|
text=_('Create cabinet'), view='cabinets:cabinet_create'
|
|
)
|
|
link_cabinet_delete = Link(
|
|
permissions=(permission_cabinet_delete,), tags='dangerous',
|
|
text=_('Delete'), view='cabinets:cabinet_delete', args='object.pk'
|
|
)
|
|
link_cabinet_edit = Link(
|
|
permissions=(permission_cabinet_edit,), text=_('Edit'),
|
|
view='cabinets:cabinet_edit', args='object.pk'
|
|
)
|
|
link_cabinet_list = Link(
|
|
icon='fa fa-columns', text=_('All'), view='cabinets:cabinet_list'
|
|
)
|
|
link_cabinet_view = Link(
|
|
permissions=(permission_cabinet_view,), text=_('Details'),
|
|
view='cabinets:cabinet_view', args='object.pk'
|
|
)
|