From: Marcin Haba Date: Tue, 14 May 2019 17:16:22 +0000 (+0200) Subject: baculum: Move running job estimation to background in API part X-Git-Tag: Release-9.6.0~229 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b16a53973487dfd5f85d25333d84cdb2128fe938;p=thirdparty%2Fbacula.git baculum: Move running job estimation to background in API part --- diff --git a/gui/baculum/protected/API/Pages/API/JobEstimate.php b/gui/baculum/protected/API/Pages/API/JobEstimate.php index 6bf4419095..39d9c555bd 100644 --- a/gui/baculum/protected/API/Pages/API/JobEstimate.php +++ b/gui/baculum/protected/API/Pages/API/JobEstimate.php @@ -20,8 +20,21 @@ * Bacula(R) is a registered trademark of Kern Sibbald. */ +Prado::using('Application.API.Class.Bconsole'); + class JobEstimate extends BaculumAPIServer { + public function get() { + $output = array(); + $misc = $this->getModule('misc'); + if ($this->Request->contains('out_id') && $misc->isValidAlphaNumeric($this->Request->itemAt('out_id'))) { + $out_id = $this->Request->itemAt('out_id'); + $output = Bconsole::readOutputFile($out_id); + } + $this->output = $output; + $this->error = VolumeError::ERROR_NO_ERRORS; + } + public function create($params) { $job = null; if (property_exists($params, 'id')) { @@ -101,7 +114,12 @@ class JobEstimate extends BaculumAPIServer { 'client="' . $client . '"', 'accurate="' . $accurate . '"' ); - $result = $this->getModule('bconsole')->bconsoleCommand($this->director, $cmd); + $result = $this->getModule('bconsole')->bconsoleCommand( + $this->director, + $cmd, + Bconsole::PTYPE_BG_CMD + ); + array_shift($result->output); $this->output = $result->output; $this->error = $result->exitcode; }