Module: check_mk
Branch: master
Commit: ebd02786071a8dfb5c06e1c669294e8ff57033a4
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=ebd02786071a8d…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Sun Mar 3 20:01:20 2019 +0100
Cleaned up more arguments of ViewRenderer.render()
Removed mostly unused show_heading, show_buttons, show_footer args of
ViewRenderer.render(). The GUIViewRenderer() only needs a flag for
show_buttons to handle single view and the dashlet view cases correctly.
Change-Id: If93342dc435dcd0c3bb16893f5af0a707e94cb65
---
cmk/gui/mobile.py | 7 ++---
cmk/gui/plugins/dashboard/view.py | 5 ++-
cmk/gui/views.py | 66 ++++++++++++++++++---------------------
3 files changed, 35 insertions(+), 43 deletions(-)
diff --git a/cmk/gui/mobile.py b/cmk/gui/mobile.py
index 6ee9323..0a637ff 100644
--- a/cmk/gui/mobile.py
+++ b/cmk/gui/mobile.py
@@ -290,8 +290,7 @@ def page_view():
try:
view_renderer = MobileViewRenderer(view)
- views.show_view(
- view, view_renderer, show_heading=False, show_buttons=False,
show_footer=False)
+ views.show_view(view, view_renderer)
except Exception as e:
if config.debug:
raise
@@ -301,8 +300,8 @@ def page_view():
class MobileViewRenderer(views.ViewRenderer):
- def render(self, rows, group_cells, cells, show_heading, show_buttons,
show_checkboxes, layout,
- num_columns, show_filters, show_footer, browser_reload):
+ def render(self, rows, group_cells, cells, show_checkboxes, layout, num_columns,
show_filters,
+ browser_reload):
view_spec = self.view.spec
home = ("mobile.py", "Home", "home")
diff --git a/cmk/gui/plugins/dashboard/view.py b/cmk/gui/plugins/dashboard/view.py
index 3652fd9..1533902 100644
--- a/cmk/gui/plugins/dashboard/view.py
+++ b/cmk/gui/plugins/dashboard/view.py
@@ -92,6 +92,5 @@ class ViewDashlet(IFrameDashlet):
painter_options = PainterOptions.get_instance()
painter_options.load(self._dashlet_spec["name"])
view = views.View(self._dashlet_spec["name"], self._dashlet_spec)
- view_renderer = views.GUIViewRenderer(view)
- views.show_view(
- view, view_renderer, show_heading=True, show_buttons=False,
show_footer=True)
+ view_renderer = views.GUIViewRenderer(view, show_buttons=False)
+ views.show_view(view, view_renderer)
diff --git a/cmk/gui/views.py b/cmk/gui/views.py
index d66274f..71b9cfe 100644
--- a/cmk/gui/views.py
+++ b/cmk/gui/views.py
@@ -235,27 +235,29 @@ class ViewRenderer(object):
self.view = view
@abc.abstractmethod
- def render(self, rows, group_cells, cells, show_heading, show_buttons,
show_checkboxes, layout,
- num_columns, show_filters, show_footer, browser_reload):
+ def render(self, rows, group_cells, cells, show_checkboxes, layout, num_columns,
show_filters,
+ browser_reload):
raise NotImplementedError()
class GUIViewRenderer(ViewRenderer):
- def render(self, rows, group_cells, cells, show_heading, show_buttons,
show_checkboxes, layout,
- num_columns, show_filters, show_footer, browser_reload):
+ def __init__(self, view, show_buttons):
+ super(GUIViewRenderer, self).__init__(view)
+ self._show_buttons = show_buttons
+
+ def render(self, rows, group_cells, cells, show_checkboxes, layout, num_columns,
show_filters,
+ browser_reload):
view_spec = self.view.spec
if html.transaction_valid() and html.do_actions():
html.set_browser_reload(0)
- # Show heading (change between "preview" mode and full page mode)
- if show_heading:
- # Show/Hide the header with page title, MK logo, etc.
- if display_options.enabled(display_options.H):
- html.body_start(view_title(view_spec))
+ # Show/Hide the header with page title, MK logo, etc.
+ if display_options.enabled(display_options.H):
+ html.body_start(view_title(view_spec))
- if display_options.enabled(display_options.T):
- html.top_heading(view_title(view_spec))
+ if display_options.enabled(display_options.T):
+ html.top_heading(view_title(view_spec))
has_done_actions = False
row_count = len(rows)
@@ -268,7 +270,7 @@ class GUIViewRenderer(ViewRenderer):
if command_form:
weblib.init_selection()
- if show_buttons:
+ if self._show_buttons:
show_combined_graphs_button = \
("host" in self.view.datasource.infos or "service" in
self.view.datasource.infos) and \
(isinstance(self.view.datasource.table, str)) and \
@@ -362,7 +364,7 @@ class GUIViewRenderer(ViewRenderer):
html.javascript("cmk.utils.update_header_info(%s);" %
json.dumps(headinfo))
# The number of rows might have changed to enable/disable actions and
checkboxes
- if show_buttons:
+ if self._show_buttons:
update_context_links(
# don't take display_options into account here ('c'
is set during reload)
row_count > 0 and
@@ -391,20 +393,18 @@ class GUIViewRenderer(ViewRenderer):
if display_options.enabled(display_options.R):
html.close_div()
- if show_footer:
- pid = os.getpid()
- if sites.live().successfully_persisted():
- html.add_status_icon(
- "persist",
- _("Reused persistent livestatus connection from earlier request
(PID %d)") %
- pid)
+ pid = os.getpid()
+ if sites.live().successfully_persisted():
+ html.add_status_icon(
+ "persist",
+ _("Reused persistent livestatus connection from earlier request (PID
%d)") % pid)
- html.bottom_focuscode()
- if display_options.enabled(display_options.Z):
- html.bottom_footer()
+ html.bottom_focuscode()
+ if display_options.enabled(display_options.Z):
+ html.bottom_footer()
- if display_options.enabled(display_options.H):
- html.body_end()
+ if display_options.enabled(display_options.H):
+ html.body_end()
# Load all view plugins
@@ -1128,19 +1128,13 @@ def page_view():
painter_options.load(view.name)
painter_options.update_from_url(view.name, view.spec)
- view_renderer = GUIViewRenderer(view)
- show_view(view, view_renderer, show_heading=True, show_buttons=True,
show_footer=True)
+ view_renderer = GUIViewRenderer(view, show_buttons=True)
+ show_view(view, view_renderer)
# Display view with real data. This is *the* function everying
# is about.
-def show_view(view,
- view_renderer,
- show_heading=False,
- show_buttons=True,
- show_footer=True,
- only_count=False,
- limit=None):
+def show_view(view, view_renderer, only_count=False, limit=None):
display_options.load_from_html()
@@ -1357,8 +1351,8 @@ def show_view(view,
# Until now no single byte of HTML code has been output.
# Now let's render the view
- view_renderer.render(rows, group_cells, cells, show_heading, show_buttons,
show_checkboxes,
- layout, num_columns, show_filters, show_footer, browser_reload)
+ view_renderer.render(rows, group_cells, cells, show_checkboxes, layout, num_columns,
+ show_filters, browser_reload)
SorterEntry = namedtuple("SorterEntry", ["sorter",
"negate", "join_key"])