Module: check_mk
Branch: master
Commit: 2ae5dcc0a3d202a58d5a9510353da3d870e68ced
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=2ae5dcc0a3d202…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Thu May 11 13:54:06 2017 +0200
4677 FIX GUI crashes can now also be downloaded
Change-Id: I8ce68b8a70a20b4b72e19e292518dcf730120838
---
.werks/4677 | 11 +++++++++++
web/htdocs/crash_reporting.py | 14 +++++++++-----
web/htdocs/js/checkmk.js | 11 +++++++++++
3 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/.werks/4677 b/.werks/4677
new file mode 100644
index 0000000..5f17250
--- /dev/null
+++ b/.werks/4677
@@ -0,0 +1,11 @@
+Title: GUI crashes can now also be downloaded
+Level: 1
+Component: multisite
+Class: fix
+Compatible: compat
+Edition: cre
+State: unknown
+Version: 1.5.0i1
+Date: 1494503629
+
+
diff --git a/web/htdocs/crash_reporting.py b/web/htdocs/crash_reporting.py
index d88a05f..e2a5762 100644
--- a/web/htdocs/crash_reporting.py
+++ b/web/htdocs/crash_reporting.py
@@ -56,7 +56,7 @@ def page_crashed(what):
html.header(title, stylesheets=["status", "pages"])
- show_context_buttons(what)
+ show_context_buttons(what, tardata)
if html.has_var("_report") and html.check_transaction():
details = handle_report_form(tardata, what)
@@ -95,9 +95,9 @@ def show_crash_report_details(info):
show_gui_crash_details(info)
-def show_context_buttons(what):
+def show_context_buttons(what, tardata):
+ html.begin_context_buttons()
if what == "check":
- html.begin_context_buttons()
site = html.var("site")
host = html.var("host")
service = html.var("service")
@@ -113,10 +113,14 @@ def show_context_buttons(what):
("site", site)],
filename="view.py")
html.context_button(_("Service status"), host_url, "status")
- # FIXME: Make download possible for GUI crash reports
download_url = html.makeuri([], filename="download_crash_report.py")
html.context_button(_("Download"), download_url, "download")
- html.end_context_buttons()
+
+ elif what == "gui":
+ download_data_url = "data:application/octet-stream;base64,%s" %
base64.b64encode(tardata)
+ html.context_button(_("Download"),
"javascript:download_gui_crash_report('%s')" % download_data_url,
"download")
+
+ html.end_context_buttons()
def get_crash_report_archive_as_string(site, host, service):
diff --git a/web/htdocs/js/checkmk.js b/web/htdocs/js/checkmk.js
index 2b16c91..addb563 100644
--- a/web/htdocs/js/checkmk.js
+++ b/web/htdocs/js/checkmk.js
@@ -3410,6 +3410,17 @@ function hide_crash_report_processing_msg()
msg.parentNode.removeChild(msg);
}
+function download_gui_crash_report(data_url)
+{
+ var link = document.createElement("a");
+ link.download = "Check_MK_GUI_Crash-" + (new Date().toISOString()) +
".tar.gz";
+ link.href = data_url;
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ delete link;
+}
+
//#.
//# .-Backup-------------------------------------------------------------.
//# | ____ _ |