Module: check_mk
Branch: master
Commit: 42327ea175d442eac8d0f529c94f0ee09faf09e2
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=42327ea175d442…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Nov 20 15:40:57 2014 +0100
Updated bug entries #2228, #2229
---
.bugs/2228 | 9 +++++++++
.bugs/2229 | 10 ++++++++++
2 files changed, 19 insertions(+)
diff --git a/.bugs/2228 b/.bugs/2228
new file mode 100644
index 0000000..482810b
--- /dev/null
+++ b/.bugs/2228
@@ -0,0 +1,9 @@
+Title: WATO context button in a service view show not go to host properties
+Component: multisite
+State: open
+Date: 2014-11-20 15:39:15
+Targetversion: 1.2.5i1
+Class: nastiness
+
+If we really want this button then better point it to the list of service
+of the host.
diff --git a/.bugs/2229 b/.bugs/2229
new file mode 100644
index 0000000..91f8990
--- /dev/null
+++ b/.bugs/2229
@@ -0,0 +1,10 @@
+Title: WATO button for service parameters
+Component: multisite
+State: open
+Date: 2014-11-20 15:40:05
+Targetversion: 1.2.5i1
+Class: todo
+
+When you are at the details of a service there should be a context button for
+going to the parameters of that service. And also a button for going to the
+monitoring parameters (all rulesets) for that service.
Module: check_mk
Branch: master
Commit: a036c511b5d54c76cf1bbfeb1f3941f000e41ca6
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=a036c511b5d54c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Nov 20 15:09:17 2014 +0100
#1514 FIX Try harder to detect previous hard state in notification when using Nagios as core
In the case where you have more than one check attempt then now the previous
hard state is assumed to be the previous soft state when the new state is
OK or UP. This avoids some cases where the previous state had been set to
<tt>?</tt> in previous versions. The CMC does not have these problems anyway.
---
.werks/1514 | 12 ++++++++++++
ChangeLog | 1 +
modules/notify.py | 10 +++++++---
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/.werks/1514 b/.werks/1514
new file mode 100644
index 0000000..2cb0041
--- /dev/null
+++ b/.werks/1514
@@ -0,0 +1,12 @@
+Title: Try harder to detect previous hard state in notification when using Nagios as core
+Level: 1
+Component: notifications
+Compatible: compat
+Version: 1.2.5i7
+Date: 1416492466
+Class: fix
+
+In the case where you have more than one check attempt then now the previous
+hard state is assumed to be the previous soft state when the new state is
+OK or UP. This avoids some cases where the previous state had been set to
+<tt>?</tt> in previous versions. The CMC does not have these problems anyway.
diff --git a/ChangeLog b/ChangeLog
index 1552b86..40ccb50 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -78,6 +78,7 @@
Notifications:
* 1512 Bulk notification can now be grouped according to custom macro values...
* 1168 FIX: HTML mails can now be configured to display graphs among each other...
+ * 1514 FIX: Try harder to detect previous hard state in notification when using Nagios as core...
BI:
* 1435 FIX: Saving BI aggregations: No longer reports 'Request-URI Too Large'...
diff --git a/modules/notify.py b/modules/notify.py
index 89ac7a8..87e94c9 100644
--- a/modules/notify.py
+++ b/modules/notify.py
@@ -1733,8 +1733,11 @@ def complete_raw_context(raw_context):
# Here We do not know. The transition might be OK -> WARN -> CRIT and
# the initial OK is completely lost. We use the artificial state "?"
# here, which matches all states and makes sure that when in doubt a
- # notification is being sent out.
- prev_state = "?"
+ # notification is being sent out. But when the new state is UP, then
+ # we know that the previous state was a hard state (otherwise there
+ # would not have been any notification)
+ if raw_context["HOSTSTATE"] != "UP":
+ prev_state = "?"
notify_log("Previous host hard state not known. Allowing all states.")
raw_context["PREVIOUSHOSTHARDSTATE"] = prev_state
@@ -1745,7 +1748,8 @@ def complete_raw_context(raw_context):
prev_state = "OK"
elif "SERVICEATTEMPT" not in raw_context or \
("SERVICEATTEMPT" in raw_context and raw_context["SERVICEATTEMPT"] != "1"):
- prev_state = "?"
+ if raw_context["SERVICESTATE"] != "OK":
+ prev_state = "?"
notify_log("Previous service hard state not known. Allowing all states.")
raw_context["PREVIOUSSERVICEHARDSTATE"] = prev_state
Module: check_mk
Branch: master
Commit: 7e3be87b46be3136aea5b46a136f004b1a89154d
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=7e3be87b46be31…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 20 14:03:31 2014 +0100
Removed two uneeded table headers from WATO host table
---
web/htdocs/table.py | 2 ++
web/htdocs/wato.py | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/web/htdocs/table.py b/web/htdocs/table.py
index c0fbdb4..c8ca35a 100644
--- a/web/htdocs/table.py
+++ b/web/htdocs/table.py
@@ -99,6 +99,8 @@ def add_row(css=None, state=0, collect_headers=True, fixed=False):
table["collect_headers"] = True
elif table["collect_headers"] == True:
table["collect_headers"] = "finished"
+ elif not collect_headers and table["collect_headers"]:
+ table["collect_headers"] = False
# Intermediate title, shown as soon as there is a following row.
# We store the group headers in the list of rows, with css None
diff --git a/web/htdocs/wato.py b/web/htdocs/wato.py
index c411961..fa121bf 100644
--- a/web/htdocs/wato.py
+++ b/web/htdocs/wato.py
@@ -1388,7 +1388,7 @@ def show_hosts(folder):
for attr, topic in host_attributes:
if attr.show_in_table():
colspan += 1
- if config.may("wato.edit_hosts") and config.may("wato.move_hosts"):
+ if not g_folder.get(".lock_hosts") and config.may("wato.edit_hosts") and config.may("wato.move_hosts"):
colspan += 1
if show_checkboxes:
colspan += 1
Module: check_mk
Branch: master
Commit: 909d614f01ac527f166f65a04ad2336438c8fbfa
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=909d614f01ac52…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 20 11:31:38 2014 +0100
Updated bug entries #1008, #2193
---
.bugs/1008 | 7 +++++--
.bugs/2193 | 7 +++++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/.bugs/1008 b/.bugs/1008
index 0496e6e..02305a9 100644
--- a/.bugs/1008
+++ b/.bugs/1008
@@ -1,9 +1,9 @@
Title: dashboards: dashboard of a single hostgroup cannot be edited
Component: multisite
-State: open
+Class: bug
+State: works4me
Date: 2014-11-05 21:35:53
Targetversion: future
-Class: bug
after creating a dashboard for a single hostgroup, saving it and editing it
again, the following traceback occurs at the and and the dashboard cannot
@@ -34,3 +34,6 @@ Traceback (most recent call last):
File "/omd/sites/heute/share/check_mk/web/htdocs/visuals.py", line 854, in set_value
html.set_var(varname, value.get(varname))
AttributeError: 'unicode' object has no attribute 'get'
+
+2014-11-20 11:31:33: changed state open -> works4me
+Already fixed.
diff --git a/.bugs/2193 b/.bugs/2193
index 70f27d8..a1cf48a 100644
--- a/.bugs/2193
+++ b/.bugs/2193
@@ -1,10 +1,13 @@
Title: Dashboard: after going to a dashlet detail, edit mode is lost
Component: multisite
-State: open
+Class: nastiness
+State: works4me
Date: 2014-10-06 19:00:53
Targetversion: future
-Class: nastiness
When you are in dashboard edit mode and go to the details of a dashlet
and then got back - either by saving or by the back button - then the
edit mode of the dashboard is lost. But it should keep in edit mode.
+
+2014-11-20 11:26:10: changed state open -> works4me
+Unable to reproduce this. Already fixed.
Module: check_mk
Branch: master
Commit: 16da594edf2cb8d3d426ec14ef0a3427d55d4d64
URL: http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=16da594edf2cb8…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu Nov 20 11:37:02 2014 +0100
Fixed dashlet deletion after latest confirm dialog change
---
web/htdocs/dashboard.py | 2 +-
web/htdocs/htmllib.py | 11 +++++++----
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/web/htdocs/dashboard.py b/web/htdocs/dashboard.py
index 77cd07c..b8834b4 100644
--- a/web/htdocs/dashboard.py
+++ b/web/htdocs/dashboard.py
@@ -977,7 +977,7 @@ def page_delete_dashlet():
html.context_button(_('Back'), back_url, 'back')
html.end_context_buttons()
- result = html.confirm(_('Do you really want to delete this dashlet?'), method = 'GET')
+ result = html.confirm(_('Do you really want to delete this dashlet?'), method='GET', add_transid=True)
if result == False:
html.footer()
return # confirm dialog shown
diff --git a/web/htdocs/htmllib.py b/web/htdocs/htmllib.py
index d2f20ad..c43be21 100644
--- a/web/htdocs/htmllib.py
+++ b/web/htdocs/htmllib.py
@@ -1128,7 +1128,12 @@ class html:
else:
return False
- def confirm(self, msg, method="POST", action=None):
+ # The confirm dialog is normally not a dialog which need to be protected
+ # by a transid itselfs. It is only a intermediate step to the real action
+ # But there are use cases where the confirm dialog is used during rendering
+ # a normal page, for example when deleting a dashlet from a dashboard. In
+ # such cases, the transid must be added by the confirm dialog.
+ def confirm(self, msg, method="POST", action=None, add_transid=False):
if self.var("_do_actions") == _("No"):
# User has pressed "No", now invalidate the unused transid
self.check_transaction()
@@ -1137,9 +1142,7 @@ class html:
if self.mobile:
self.write('<center>')
self.write("<div class=really>%s" % msg)
- # The confirm dialog is never a dialog which need to be protected
- # by a transid itselfs. It is only a intermediate step to the real action
- self.begin_form("confirm", method=method, action=action, add_transid=False)
+ self.begin_form("confirm", method=method, action=action, add_transid=add_transid)
self.hidden_fields(add_action_vars = True)
self.button("_do_confirm", _("Yes!"), "really")
self.button("_do_actions", _("No"), "")