Module: check_mk
Branch: master
Commit: 8c061dcafdd0e20233840df8dabd052a0bad82d9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=8c061dcafdd0e2…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Sat Apr 6 13:00:47 2019 +0200
Make all register_page_handler calls use handle_page()
Next step is to replace cmk.gui.pages._pages it with a class registry.
Change-Id: I722b5c01215c1460d2637b03e935ff96f6292228
---
cmk/gui/wato/__init__.py | 10 ++++++++--
cmk/gui/wato/pages/automation.py | 14 ++++++++++++--
cmk/gui/wato/pages/backup.py | 7 ++++++-
cmk/gui/wato/pages/folders.py | 8 ++++++--
4 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/cmk/gui/wato/__init__.py b/cmk/gui/wato/__init__.py
index 0269190..4507b96 100644
--- a/cmk/gui/wato/__init__.py
+++ b/cmk/gui/wato/__init__.py
@@ -625,6 +625,11 @@ class AgentOutputPage(object):
self._job = FetchAgentOutputBackgroundJob(self._host.site_id(),
self._host.name(), self._ty)
+ # TODO: Better use AjaxPage.handle_page() for standard AJAX call error handling.
This
+ # would need larger refactoring of the generic html.popup_trigger() mechanism.
+ def handle_page(self):
+ self.page()
+
@abc.abstractmethod
def page(self):
pass
@@ -684,7 +689,8 @@ class PageFetchAgentOutput(AgentOutputPage):
# TODO: Clean this up! We would like to use the cmk.gui.pages.register() decorator
instead
# of this
-cmk.gui.pages.register_page_handler("fetch_agent_output", lambda:
PageFetchAgentOutput().page())
+cmk.gui.pages.register_page_handler(
+ "fetch_agent_output", lambda: PageFetchAgentOutput().handle_page())
@gui_background_job.job_registry.register
@@ -740,7 +746,7 @@ class PageDownloadAgentOutput(AgentOutputPage):
cmk.gui.pages.register_page_handler(
- "download_agent_output", lambda: PageDownloadAgentOutput().page())
+ "download_agent_output", lambda: PageDownloadAgentOutput().handle_page())
#.
# .--Network Scan--------------------------------------------------------.
diff --git a/cmk/gui/wato/pages/automation.py b/cmk/gui/wato/pages/automation.py
index d9e3f24..919f50a 100644
--- a/cmk/gui/wato/pages/automation.py
+++ b/cmk/gui/wato/pages/automation.py
@@ -49,6 +49,11 @@ class ModeAutomationLogin(AjaxPage):
done be exchanging a login secret. If such a secret is not yet present it
is created on the fly."""
+ # TODO: Better use AjaxPage.handle_page() for standard AJAX call error handling.
This
+ # would need larger refactoring of the generic html.popup_trigger() mechanism.
+ def handle_page(self):
+ self.page()
+
def page(self):
if not config.user.may("wato.automation"):
raise MKAuthException(_("This account has no permission for
automation."))
@@ -68,7 +73,7 @@ class ModeAutomationLogin(AjaxPage):
html.write_html(repr(response))
-register_page_handler("automation_login", lambda:
ModeAutomationLogin().page())
+register_page_handler("automation_login", lambda:
ModeAutomationLogin().handle_page())
class ModeAutomation(AjaxPage):
@@ -100,6 +105,11 @@ class ModeAutomation(AjaxPage):
if secret != _get_login_secret():
raise MKAuthException(_("Invalid automation secret."))
+ # TODO: Better use AjaxPage.handle_page() for standard AJAX call error handling.
This
+ # would need larger refactoring of the generic html.popup_trigger() mechanism.
+ def handle_page(self):
+ self.page()
+
def page(self):
# To prevent mixups in written files we use the same lock here as for
# the normal WATO page processing. This might not be needed for some
@@ -184,7 +194,7 @@ class ModeAutomation(AjaxPage):
(e, traceback.format_exc()))
-register_page_handler("noauth:automation", lambda: ModeAutomation().page())
+register_page_handler("noauth:automation", lambda:
ModeAutomation().handle_page())
def _get_login_secret(create_on_demand=False):
diff --git a/cmk/gui/wato/pages/backup.py b/cmk/gui/wato/pages/backup.py
index 0f620b9..bd2fc33 100644
--- a/cmk/gui/wato/pages/backup.py
+++ b/cmk/gui/wato/pages/backup.py
@@ -180,6 +180,11 @@ class ModeBackupJobState(backup.PageBackupJobState, WatoMode):
class ModeAjaxBackupJobState(AjaxPage):
+ # TODO: Better use AjaxPage.handle_page() for standard AJAX call error handling.
This
+ # would need larger refactoring of the generic html.popup_trigger() mechanism.
+ def handle_page(self):
+ self.page()
+
def page(self):
config.user.need_permission("wato.backups")
if html.request.var("job") == "restore":
@@ -189,7 +194,7 @@ class ModeAjaxBackupJobState(AjaxPage):
page.show_job_details()
-register_page_handler("ajax_backup_job_state", lambda:
ModeAjaxBackupJobState().page())
+register_page_handler("ajax_backup_job_state", lambda:
ModeAjaxBackupJobState().handle_page())
class SiteBackupKeypairStore(backup.BackupKeypairStore):
diff --git a/cmk/gui/wato/pages/folders.py b/cmk/gui/wato/pages/folders.py
index 492f4af..7176eb2 100644
--- a/cmk/gui/wato/pages/folders.py
+++ b/cmk/gui/wato/pages/folders.py
@@ -778,8 +778,11 @@ class ModeAjaxPopupMoveToFolder(AjaxPage):
if not self._back_url or not self._back_url.startswith("wato.py"):
raise MKUserError("back_url", _("Invalid back URL
provided."))
- # TODO: Better use handle_page() for standard AJAX call error handling. This
+ # TODO: Better use AjaxPage.handle_page() for standard AJAX call error handling.
This
# would need larger refactoring of the generic html.popup_trigger() mechanism.
+ def handle_page(self):
+ self.page()
+
def page(self):
html.span(self._move_title())
@@ -821,7 +824,8 @@ class ModeAjaxPopupMoveToFolder(AjaxPage):
return choices
-register_page_handler("ajax_popup_move_to_folder", lambda:
ModeAjaxPopupMoveToFolder().page())
+register_page_handler(
+ "ajax_popup_move_to_folder", lambda:
ModeAjaxPopupMoveToFolder().handle_page())
class FolderMode(WatoMode):