Webservice: Add get_extra_fields option to get_sessions WS - refs BT#22302

1.11.x
Yannick Warnier 9 months ago
parent 72aa66a1e9
commit be0cceabfa
  1. 10
      main/inc/lib/webservices/Rest.php
  2. 6
      main/webservices/api/v2.php

@ -1682,7 +1682,7 @@ class Rest extends WebService
*
* @throws Exception
*/
public function getSessionsCampus(int $campusId = 0): array
public function getSessionsCampus(int $campusId = 0, bool $getExtraFields = false): array
{
self::protectAdminEndpoint();
@ -1695,12 +1695,18 @@ class Rest extends WebService
);
$shortList = [];
foreach ($list as $session) {
$shortList[] = [
$bundle = [
'id' => $session['id'],
'name' => $session['name'],
'access_start_date' => $session['access_start_date'],
'access_end_date' => $session['access_end_date'],
];
if ($getExtraFields) {
$extraFieldValues = new ExtraFieldValue('session');
$extraFields = $extraFieldValues->getAllValuesByItem($session['id']);
$bundle['extra_fields'] = $extraFields;
}
$shortList[] = $bundle;
}
return $shortList;

@ -794,8 +794,12 @@ try {
if (!empty($_POST['id_campus'])) {
$campusId = (int) $_POST['id_campus'];
}
$getExtraFields = false;
if (!empty($_POST['get_extra_fields']) && ('false' != $_POST['get_extra_fields'])) {
$getExtraFields = true;
}
Event::addEvent(LOG_WS.$action, 'id_campus', $campusId);
$data = $restApi->getSessionsCampus($campusId);
$data = $restApi->getSessionsCampus($campusId, $getExtraFields);
$restResponse->setData($data);
break;
case Rest::ADD_COURSES_SESSION:

Loading…
Cancel
Save