From: Marcin Haba Date: Thu, 9 Nov 2023 15:21:24 +0000 (+0100) Subject: baculum: Add fileset filter to objects overview endpoint X-Git-Tag: Beta-15.0.1~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7360a5751d4000ce515f6e98dfff078d950aa260;p=thirdparty%2Fbacula.git baculum: Add fileset filter to objects overview endpoint --- diff --git a/gui/baculum/protected/API/Modules/ObjectManager.php b/gui/baculum/protected/API/Modules/ObjectManager.php index ee2964ead..4566bbfc4 100644 --- a/gui/baculum/protected/API/Modules/ObjectManager.php +++ b/gui/baculum/protected/API/Modules/ObjectManager.php @@ -312,6 +312,7 @@ LEFT JOIN FileSet USING (FileSetId) ' Job.JobStatus AS jobstatus FROM Object JOIN Job USING (JobId) + JOIN FileSet USING (FileSetId) JOIN Client USING (ClientId) ' . $object_where['where'] . $obj_order; @@ -373,6 +374,7 @@ LEFT JOIN FileSet USING (FileSetId) ' Path AS path, JobStatus AS jobstatus FROM Object + JOIN FileSet USING (FileSetId) JOIN Job USING (JobId) JOIN Client USING (ClientId)' . $object_where['where'] . $obj_order; diff --git a/gui/baculum/protected/API/Pages/API/ObjectsOverview.php b/gui/baculum/protected/API/Pages/API/ObjectsOverview.php index 6c11c6b00..a24d18f90 100644 --- a/gui/baculum/protected/API/Pages/API/ObjectsOverview.php +++ b/gui/baculum/protected/API/Pages/API/ObjectsOverview.php @@ -47,6 +47,7 @@ class ObjectsOverview extends BaculumAPIServer { $jobids = $this->Request->contains('jobids') && $misc->isValidIdsList($this->Request['jobids']) ? explode(',', $this->Request['jobids']) : []; $jobstatus = $this->Request->contains('jobstatus') && $misc->isValidState($this->Request['jobstatus']) ? $this->Request['jobstatus'] : null; $client = $this->Request->contains('client') && $misc->isValidName($this->Request['client']) ? $this->Request['client'] : ''; + $fileset = $this->Request->contains('fileset') && $misc->isValidName($this->Request['fileset']) ? $this->Request['fileset'] : ''; $joberrors = null; if ($this->Request->contains('joberrors') && $misc->isValidBoolean($this->Request['joberrors'])) { $joberrors = $misc->isValidBooleanTrue($this->Request['joberrors']) ? true : false; @@ -146,6 +147,12 @@ class ObjectsOverview extends BaculumAPIServer { 'vals' => $client ]; } + if (!empty($fileset)) { + $general_params['FileSet.FileSet'] = []; + $general_params['FileSet.FileSet'][] = [ + 'vals' => $fileset + ]; + } if (!is_null($joberrors)) { if ($joberrors === true) { $general_params['Job.JobErrors'] = [];