Add cascade permission checks for links. Avoid allowing users to reach a empty views because they don't access to any of the view's objects. Apply link permission cascade checks to the message of the day, indexing and parsing, setup link.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-08-22 00:14:21 -04:00
parent 8e39016f12
commit bf3723ae24
6 changed files with 71 additions and 7 deletions

View File

@@ -2,7 +2,7 @@ from __future__ import unicode_literals
from django.utils.translation import ugettext_lazy as _
from navigation import Link
from navigation import Link, get_cascade_condition
from .icons import (
icon_document_index_list, icon_index, icon_rebuild_index_instances
@@ -10,6 +10,7 @@ from .icons import (
from .permissions import (
permission_document_indexing_create, permission_document_indexing_edit,
permission_document_indexing_delete, permission_document_indexing_rebuild,
permission_document_indexing_view
)
@@ -26,7 +27,11 @@ link_index_main_menu = Link(
view='indexing:index_list'
)
link_index_setup = Link(
icon_class=icon_index, text=_('Indexes'),
condition=get_cascade_condition(
app_label='document_indexing', model_name='Index',
object_permission=permission_document_indexing_view,
view_permission=permission_document_indexing_create,
), icon_class=icon_index, text=_('Indexes'),
view='indexing:index_setup_list'
)
link_index_setup_list = Link(