From: Marcin Haba Date: Mon, 18 Nov 2019 20:13:17 +0000 (+0100) Subject: baculum: Add job name parameter to monitor X-Git-Tag: Release-9.6.0~68 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=130ef4f15b035080347dccb6d47e36025b807a9d;p=thirdparty%2Fbacula.git baculum: Add job name parameter to monitor --- diff --git a/gui/baculum/protected/Web/Pages/ClientList.page b/gui/baculum/protected/Web/Pages/ClientList.page index eb3d238a1..23e190792 100644 --- a/gui/baculum/protected/Web/Pages/ClientList.page +++ b/gui/baculum/protected/Web/Pages/ClientList.page @@ -156,7 +156,7 @@ var oClientList = { }); } }; -MonitorParams = ['clients']; +MonitorParams = {clients: null}; $(function() { MonitorCalls.push(function() { oClientList.init(); }); }); diff --git a/gui/baculum/protected/Web/Pages/ClientView.page b/gui/baculum/protected/Web/Pages/ClientView.page index 6483620ce..2b1c38f6b 100644 --- a/gui/baculum/protected/Web/Pages/ClientView.page +++ b/gui/baculum/protected/Web/Pages/ClientView.page @@ -681,7 +681,7 @@ var oJobForClientList = { }); } }; -MonitorParams = ['jobs']; +MonitorParams = {jobs: null}; $(function() { MonitorCalls.push(function() { oJobForClientList.init(<%=$this->getClientId()%>); }); }); diff --git a/gui/baculum/protected/Web/Pages/Dashboard.page b/gui/baculum/protected/Web/Pages/Dashboard.page index 84e09bb66..303f56290 100644 --- a/gui/baculum/protected/Web/Pages/Dashboard.page +++ b/gui/baculum/protected/Web/Pages/Dashboard.page @@ -118,6 +118,12 @@ diff --git a/gui/baculum/protected/Web/Pages/JobHistoryList.page b/gui/baculum/protected/Web/Pages/JobHistoryList.page index 20d214bb0..a169027e3 100644 --- a/gui/baculum/protected/Web/Pages/JobHistoryList.page +++ b/gui/baculum/protected/Web/Pages/JobHistoryList.page @@ -218,7 +218,7 @@ var oJobList = { }); } }; -MonitorParams = ['jobs']; +MonitorParams = {jobs: null}; $(function() { MonitorCalls.push(function() { oJobList.init(); }); }); diff --git a/gui/baculum/protected/Web/Pages/JobHistoryView.page b/gui/baculum/protected/Web/Pages/JobHistoryView.page index 819d99b7e..b5705e04d 100644 --- a/gui/baculum/protected/Web/Pages/JobHistoryView.page +++ b/gui/baculum/protected/Web/Pages/JobHistoryView.page @@ -406,7 +406,11 @@ function init_graphical_running_job_status(data, tab_data) { oRunningJobStatus.init(); -MonitorParams = ['jobs']; +MonitorParams = { + jobs: { + name: ['<%=$this->getJobName()%>'] + } +}; $(function() { MonitorCalls.push(function() { oRunningJobStatus.refresh_status(); }); }); diff --git a/gui/baculum/protected/Web/Pages/JobView.page b/gui/baculum/protected/Web/Pages/JobView.page index 1bdc394f4..b363c8f24 100644 --- a/gui/baculum/protected/Web/Pages/JobView.page +++ b/gui/baculum/protected/Web/Pages/JobView.page @@ -246,7 +246,11 @@ var oJobHistoryList = { }); } }; -MonitorParams = ['jobs']; +MonitorParams = { + jobs: { + name: ['<%=$this->getJobName()%>'] + } +}; $(function() { MonitorCalls.push(function() { oJobHistoryList.init('<%=$this->getJobName()%>'); }); }); diff --git a/gui/baculum/protected/Web/Pages/Monitor.php b/gui/baculum/protected/Web/Pages/Monitor.php index 33924948b..da6d0e8cc 100644 --- a/gui/baculum/protected/Web/Pages/Monitor.php +++ b/gui/baculum/protected/Web/Pages/Monitor.php @@ -46,10 +46,19 @@ class Monitor extends BaculumWebPage { $error = null; $params = $this->Request->contains('params') ? $this->Request['params'] : array(); - if (in_array('jobs', $params)) { + if (is_array($params) && key_exists('jobs', $params)) { $job_params = array('jobs'); + $job_query = array(); + if (is_array($params['jobs']) && key_exists('name', $params['jobs']) && is_array($params['jobs']['name'])) { + for ($i = 0; $i < count($params['jobs']['name']); $i++) { + $job_query['name'] = $params['jobs']['name'][$i]; + } + } if ($this->Request->contains('use_limit') && $this->Request['use_limit'] == 1) { - $job_params[] = '?limit=' . $job_limit; + $job_query['limit'] = $job_limit; + } + if (count($job_query) > 0) { + $job_params[] = '?' . http_build_query($job_query); } $result = $this->getModule('api')->get($job_params); if ($result->error === 0) { @@ -66,7 +75,7 @@ class Monitor extends BaculumWebPage { $error = $result; } } - if (!$error && in_array('clients', $params)) { + if (!$error && key_exists('clients', $params)) { $result = $this->getModule('api')->get(array('clients')); if ($result->error === 0) { $monitor_data['clients'] = $result->output; @@ -74,7 +83,7 @@ class Monitor extends BaculumWebPage { $error = $result; } } - if (!$error && in_array('pools', $params)) { + if (!$error && key_exists('pools', $params)) { $result = $this->getModule('api')->get(array('pools')); if ($result->error === 0) { $monitor_data['pools'] = $result->output; @@ -82,7 +91,7 @@ class Monitor extends BaculumWebPage { $error = $result; } } - if (!$error && in_array('job_totals', $params)) { + if (!$error && key_exists('job_totals', $params)) { $result = $this->getModule('api')->get(array('jobs', 'totals')); if ($result->error === 0) { $monitor_data['jobtotals'] = $result->output; @@ -90,7 +99,7 @@ class Monitor extends BaculumWebPage { $error = $result; } } - if (!$error && $_SESSION['admin'] && in_array('dbsize', $params)) { + if (!$error && $_SESSION['admin'] && key_exists('dbsize', $params)) { $result = $this->getModule('api')->get(array('dbsize')); if ($result->error === 0) { $monitor_data['dbsize'] = $result->output; @@ -101,7 +110,7 @@ class Monitor extends BaculumWebPage { $running_job_states = $this->Application->getModule('misc')->getRunningJobStates(); - if (in_array('jobs', $params)) { + if (key_exists('jobs', $params)) { for ($i = 0; $i < count($monitor_data['jobs']); $i++) { if (!in_array($monitor_data['jobs'][$i]->jobstatus, $running_job_states)) { $monitor_data['terminated_jobs'][] = $monitor_data['jobs'][$i]; diff --git a/gui/baculum/protected/Web/Pages/PoolList.page b/gui/baculum/protected/Web/Pages/PoolList.page index 3c17b18aa..ef219b7b7 100644 --- a/gui/baculum/protected/Web/Pages/PoolList.page +++ b/gui/baculum/protected/Web/Pages/PoolList.page @@ -158,7 +158,7 @@ var oPoolList = { }); } }; -MonitorParams = ['pools']; +MonitorParams = {pools: null}; $(function() { MonitorCalls.push(function() { oPoolList.init(); }); }); diff --git a/gui/baculum/protected/Web/Portlets/JobGraphs.tpl b/gui/baculum/protected/Web/Portlets/JobGraphs.tpl index d011824d5..63aedbe60 100644 --- a/gui/baculum/protected/Web/Portlets/JobGraphs.tpl +++ b/gui/baculum/protected/Web/Portlets/JobGraphs.tpl @@ -69,7 +69,7 @@