From a56d7df5b1b5b1d1d7d7fe92d05f0b715bd48e77 Mon Sep 17 00:00:00 2001 From: Rida Abou-Haidar Date: Tue, 28 Mar 2023 13:33:13 -0400 Subject: [PATCH 1/3] [battery_manager] use visit controller to fetch visit list --- modules/battery_manager/php/testoptionsendpoint.class.inc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/battery_manager/php/testoptionsendpoint.class.inc b/modules/battery_manager/php/testoptionsendpoint.class.inc index 4fa79395547..6ffe28a7200 100644 --- a/modules/battery_manager/php/testoptionsendpoint.class.inc +++ b/modules/battery_manager/php/testoptionsendpoint.class.inc @@ -11,6 +11,7 @@ * @link https://www.github.com/aces/Loris/ */ namespace LORIS\battery_manager; +use LORIS\VisitController; use \Psr\Http\Message\ServerRequestInterface; use \Psr\Http\Message\ResponseInterface; @@ -58,11 +59,14 @@ class TestOptionsEndpoint extends \NDB_Page */ private function _getOptions() : array { + $visitController = new VisitController( + $this->loris->getDatabaseConnection() + ); return [ 'instruments' => \Utility::getAllInstruments(), 'stages' => $this->_getStageList(), 'subprojects' => \Utility::getSubprojectList(null), - 'visits' => \Utility::getVisitList(), + 'visits' => $visitController->getAllVisits(), 'sites' => \Utility::getSiteList(false), 'firstVisit' => $this->_getYesNoList(), 'active' => $this->_getYesNoList(), From e052f27bcd297587a6dce394f146a5e9b24505d3 Mon Sep 17 00:00:00 2001 From: Rida Abou-Haidar Date: Tue, 28 Mar 2023 13:40:45 -0400 Subject: [PATCH 2/3] remove warning --- modules/battery_manager/php/testoptionsendpoint.class.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/battery_manager/php/testoptionsendpoint.class.inc b/modules/battery_manager/php/testoptionsendpoint.class.inc index 6ffe28a7200..c4b5102a3d9 100644 --- a/modules/battery_manager/php/testoptionsendpoint.class.inc +++ b/modules/battery_manager/php/testoptionsendpoint.class.inc @@ -63,7 +63,9 @@ class TestOptionsEndpoint extends \NDB_Page $this->loris->getDatabaseConnection() ); return [ - 'instruments' => \Utility::getAllInstruments(), + 'instruments' => \NDB_BVL_Instrument::getInstrumentNamesList( + $this->loris + ), 'stages' => $this->_getStageList(), 'subprojects' => \Utility::getSubprojectList(null), 'visits' => $visitController->getAllVisits(), From 8f2c71f473124183e41fea4674d506c27bd1b51e Mon Sep 17 00:00:00 2001 From: Rida Abou-Haidar Date: Tue, 20 Jun 2023 11:08:55 -0400 Subject: [PATCH 3/3] fix library class --- .../php/testoptionsendpoint.class.inc | 2 +- php/libraries/VisitController.class.inc | 25 +++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/modules/battery_manager/php/testoptionsendpoint.class.inc b/modules/battery_manager/php/testoptionsendpoint.class.inc index c4b5102a3d9..3d093bcd8f0 100644 --- a/modules/battery_manager/php/testoptionsendpoint.class.inc +++ b/modules/battery_manager/php/testoptionsendpoint.class.inc @@ -68,7 +68,7 @@ class TestOptionsEndpoint extends \NDB_Page ), 'stages' => $this->_getStageList(), 'subprojects' => \Utility::getSubprojectList(null), - 'visits' => $visitController->getAllVisits(), + 'visits' => $visitController->getVisitlabels(), 'sites' => \Utility::getSiteList(false), 'firstVisit' => $this->_getYesNoList(), 'active' => $this->_getYesNoList(), diff --git a/php/libraries/VisitController.class.inc b/php/libraries/VisitController.class.inc index aec1ca84cd7..69a5563f28e 100644 --- a/php/libraries/VisitController.class.inc +++ b/php/libraries/VisitController.class.inc @@ -54,22 +54,31 @@ class VisitController return array_map( function ($row) { return new \LORIS\Visit( - $row['name'], - $row['ID'] + $row['VisitName'], + $row['VisitLabel'] ); }, $this->database->pselect( - 'SELECT - v.VisitID as "ID", v.VisitName as "name" - FROM - visit v -ORDER BY ID - ', + 'SELECT VisitName, VisitLabel FROM visit ORDER BY VisitName', [] ) ); } + /** + * Get an associative array of the type + * + * @return array + */ + public function getVisitlabels(): array + { + $visitLabels = []; + foreach ($this->getAllVisits() as $visitObj) { + $visitLabels[$visitObj->getName()] = $visitObj->getLabel(); + } + return $visitLabels; + } + /** * Retruns a VisitID by name *