Module: check_mk
Branch: master
Commit: 82d3e0925077ed80d89eb092024049c48e7aa044
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=82d3e0925077ed…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Tue Sep 6 16:09:38 2011 +0200
Multisite: intermediate multi-row-select-change
---
web/htdocs/check_mk.css | 5 +++++
web/htdocs/views.py | 7 ++++---
web/plugins/views/layouts.py | 19 ++++++++++++++-----
3 files changed, 23 insertions(+), 8 deletions(-)
diff --git a/web/htdocs/check_mk.css b/web/htdocs/check_mk.css
index df11129..8f27f4c 100644
--- a/web/htdocs/check_mk.css
+++ b/web/htdocs/check_mk.css
@@ -658,6 +658,11 @@ table.data tr.data td {
vertical-align: middle;
}
+table.data tr.data td.checkbox {
+ width: 20px;
+ text-align: center;
+}
+
table.data td.host {
border-style: none;
font-weight: bold;
diff --git a/web/htdocs/views.py b/web/htdocs/views.py
index 5c6b8f1..d2d8614 100644
--- a/web/htdocs/views.py
+++ b/web/htdocs/views.py
@@ -1369,7 +1369,8 @@ def show_view(view, show_heading = False, show_buttons = True,
show_footer = Tru
if not has_done_actions:
# Limit exceeded? Show warning
html.check_limit(rows, get_limit())
- layout["render"](rows, view, group_painters, painters, num_columns)
+ show_checkboxes = html.var("show_checkboxes", "") !=
""
+ layout["render"](rows, view, group_painters, painters, num_columns,
show_checkboxes)
# Play alarm sounds, if critical events have been displayed
if 'S' in display_options and view.get("play_sounds"):
@@ -1550,7 +1551,7 @@ def show_context_links(thisview, active_filters):
active_filter_vars = set([])
for filt in active_filters:
for var in filt.htmlvars:
- if html.has_var(var) and var not in active_filter_vars:
+ if html.has_var(var):
active_filter_vars.add(var)
# sort views after text of possible button (sort buttons after their text)
@@ -1584,7 +1585,7 @@ def show_context_links(thisview, active_filters):
continue
# add context link to this view
- if len(used_contextvars) > 0:
+ if len(used_contextvars):
if first:
first = False
html.begin_context_buttons()
diff --git a/web/plugins/views/layouts.py b/web/plugins/views/layouts.py
index 9882dc4..09834cb 100644
--- a/web/plugins/views/layouts.py
+++ b/web/plugins/views/layouts.py
@@ -38,7 +38,7 @@ def init_rowselect():
# |____/|_|_| |_|\__, |_|\___|
# |___/
# -------------------------------------------------------------------------
-def render_single_dataset(rows, view, group_painters, painters, num_columns):
+def render_single_dataset(rows, view, group_painters, painters, num_columns,
_ignore_show_checkboxes):
for row in rows:
register_events(row) # needed for playing sounds
@@ -78,7 +78,7 @@ multisite_layouts["dataset"] = {
# |____/ \___/_/\_\___|\__,_|
#
# -------------------------------------------------------------------------
-def render_grouped_boxes(rows, view, group_painters, painters, num_columns):
+def render_grouped_boxes(rows, view, group_painters, painters, num_columns,
show_checkboxes):
# N columns. Each should contain approx the same number of entries
groups = []
last_group = None
@@ -199,7 +199,7 @@ multisite_layouts["boxed"] = {
# |_| |_|_|\___|\__,_|
#
# -------------------------------------------------------------------------
-def render_tiled(rows, view, group_painters, painters, _ignore_num_columns):
+def render_tiled(rows, view, group_painters, painters, _ignore_num_columns,
_ignore_show_checkboxes):
html.write("<table class=\"data tiled\">\n")
last_group = None
@@ -284,17 +284,21 @@ multisite_layouts["tiled"] = {
# |_|\__,_|_.__/|_|\___|
#
# ------------------------------------------------------------------------
-def render_grouped_list(rows, view, group_painters, painters, num_columns):
+def render_grouped_list(rows, view, group_painters, painters, num_columns,
show_checkboxes):
html.write("<table class=data>\n")
last_group = None
trclass = None
column = 1
group_open = False
num_painters = len(painters)
+ if show_checkboxes:
+ num_painters += 1
def show_header_line():
html.write("<tr>")
for n in range(1, num_columns + 1):
+ if show_checkboxes:
+ html.write("<th></th>")
for p in painters:
paint_header(view, p)
html.write("</tr>\n")
@@ -337,7 +341,8 @@ def render_grouped_list(rows, view, group_painters, painters,
num_columns):
# paint group header
group_open = True
html.write("<tr class=groupheader>")
- html.write("<td class=groupheader colspan=%d><table
class=groupheader><tr>" % (num_painters * (num_columns + 2) + (num_columns -
1)))
+ html.write("<td class=groupheader colspan=%d><table
class=groupheader><tr>" %
+ (num_painters * (num_columns + 2) + (num_columns - 1)))
painted = False
for p in group_painters:
if painted:
@@ -390,6 +395,10 @@ def render_grouped_list(rows, view, group_painters, painters,
num_columns):
trclass = "odd"
html.write('<tr class="data %s%d">' % (trclass,
state))
+ if show_checkboxes:
+ html.write("<td class=checkbox>")
+ html.write("<input type=checkbox name=\"172377356\"
title=lars hirnibaldi=77 width=88>")
+ html.write("</td>")
for p in painters:
paint(p, row, row_id(view, row))
column += 1