Module: check_mk
Branch: master
Commit: 9657f7768fb553180970ade4aac8e51742052fdf
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=9657f7768fb553…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Mon Dec 5 14:05:13 2016 +0100
4129 FIX Fixed possible exception when a view is linking to a not permitted other view
---
.werks/4129 | 9 +++++++++
ChangeLog | 1 +
web/htdocs/views.py | 12 ++++++++----
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/.werks/4129 b/.werks/4129
new file mode 100644
index 0000000..2c8316d
--- /dev/null
+++ b/.werks/4129
@@ -0,0 +1,9 @@
+Title: Fixed possible exception when a view is linking to a not permitted other view
+Level: 1
+Component: multisite
+Compatible: compat
+Version: 1.4.0i3
+Date: 1480943083
+Class: fix
+
+
diff --git a/ChangeLog b/ChangeLog
index be8768d..b6ed499 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -62,6 +62,7 @@
* 4080 FIX: Fixed possible exception "unsupported operand type" in matrix
views
* 4127 FIX: Fixed possible "maximum recursion depth exceeded" error when
sorting tables with a lot of text in cells
* 4128 FIX: Fixed exception in "Virtual host tree" snapin in case a user
tries to access a not existing tree
+ * 4129 FIX: Fixed possible exception when a view is linking to a not permitted other
view
WATO:
* 3984 Permissions can now be filtered by providing a search term on the "edit
role" page...
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index 1215a52..5017b1c 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -556,9 +556,10 @@ class Cell(object):
if self._has_link():
link_view = self._link_view()
- # TODO: Clean this up here
- for filt in [ visuals.get_filter(fn) for fn in
visuals.get_single_info_keys(link_view) ]:
- columns.update(filt.link_columns)
+ if link_view:
+ # TODO: Clean this up here
+ for filt in [ visuals.get_filter(fn) for fn in
visuals.get_single_info_keys(link_view) ]:
+ columns.update(filt.link_columns)
if self.has_tooltip():
columns.update(get_painter_columns(self.tooltip_painter()))
@@ -579,7 +580,10 @@ class Cell(object):
def _link_view(self):
- return get_view_by_name(self._link_view_name)
+ try:
+ return get_view_by_name(self._link_view_name)
+ except KeyError:
+ return None
def painter(self):