]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
baculum: Add default sorting by endtime to objects overview endpoint
authorMarcin Haba <marcin.haba@bacula.pl>
Wed, 28 Jun 2023 09:04:32 +0000 (11:04 +0200)
committerMarcin Haba <marcin.haba@bacula.pl>
Mon, 3 Jul 2023 08:46:57 +0000 (10:46 +0200)
gui/baculum/protected/API/Modules/ObjectManager.php
gui/baculum/protected/API/Pages/API/ObjectsOverview.php
gui/baculum/protected/API/openapi_baculum.json

index fea93c81a5e9696955291da7a8c41936c17f7a2b..f3b45a507d30e534a744daff9816bbae540ad38d 100644 (file)
@@ -169,7 +169,7 @@ LEFT JOIN Client USING (ClientId) '
         * @param string $sort_order sort order (asc - ascending, desc - descending)
         * @return array object record list or empty list if no object found
         */
-       public function getObjectsOverview($general_criteria = [], $object_criteria = [], $limit_val = null, $offset_val = 0, $sort_col = null, $sort_order = 'DESC') {
+       public function getObjectsOverview($general_criteria = [], $object_criteria = [], $limit_val = null, $offset_val = 0, $sort_col = 'endtime', $sort_order = 'DESC') {
                $connection = ObjectRecord::finder()->getDbConnection();
                $connection->setActive(true);
                $pdo = $connection->getPdoInstance();
@@ -188,11 +188,13 @@ LEFT JOIN Client USING (ClientId) '
                         ObjectName,
                         ObjectUUID,
                         Client.Name,
-                        Job.Name ';
+                        Job.Name,
+                        JobTDate DESC ';
                $file_order = ' ORDER BY
                        FileSet.FileSet,
                        Job.Name,
-                       Client.Name ';
+                       Client.Name,
+                       JobTDate DESC ';
 
                if (empty($sort_col)) {
                        $sort_col = 'JobTDate';
index 5bb32df13c1d31eeb8452129e1d01287fc943879..ccce2eeafbf0e2208838d8c5856c760cae1be4e1 100644 (file)
@@ -77,7 +77,7 @@ class ObjectsOverview extends BaculumAPIServer {
                $realendtime_to_date = $this->Request->contains('realendtime_to_date') && $misc->isValidBDateAndTime($this->Request['realendtime_to_date']) ? $this->Request['realendtime_to_date'] : null;
 
                $age = $this->Request->contains('age') && $misc->isValidInteger($this->Request['age']) ? (int)$this->Request['age'] : null;
-               $order_by = $this->Request->contains('order_by') && $misc->isValidColumn($this->Request['order_by']) ? $this->Request['order_by']: '';
+               $order_by = $this->Request->contains('order_by') && $misc->isValidColumn($this->Request['order_by']) ? $this->Request['order_by']: 'endtime';
                $order_direction = $this->Request->contains('order_direction') && $misc->isValidOrderDirection($this->Request['order_direction']) ? $this->Request['order_direction']: 'DESC';
 
                if (!empty($order_by)) {
index 89b4464cd564a04f7703e5b08a4bde12635583a2..6f5d05a89de0f0eb452b0462527fe58d04078a63 100644 (file)
                                                "name": "order_by",
                                                "in": "query",
                                                "required": false,
-                                               "description": "Sort by selected object property (default jobtdate). There can be one from the following properties: objectname, client, jobstatus, endtime.",
+                                               "description": "Sort by selected object property (default endtime). There can be one from the following properties: objectname, client, jobstatus, endtime.",
                                                "schema": {
                                                        "type": "string"
                                                }