opengnsys-1.1.1 (#16) - Error en REST /ous/:id1/labs (#440) - Message List

Error en REST /ous/:id1/labs
 unsolved

Hola!

Estoy tratando de instalar OpenRLabs y me he encontrado con el siguiente problema:

Mi versión de OpenGnsys: OpenGnsys 1.1.1 (Espeto) r20191130.6ab13a3

Usando Curl para obtener respuestas del API REST todo va bien, salvo cuando hago esto:

$ curl -X GET 'https://maquina1/opengnsys/rest/ous/1/labs' -H 'Authorization: xxxxxxxxxxxxxxxxxxxxxxxx'

Slim Application Error
The application could not run because of the following error:
Details
Type: ErrorException
Code: 2
Message: array_push() expects parameter 1 to be array, null given
"color: rgb(0, 0, 0);font-family: Helvetica, Arial, Verdana, sans-serif;font-size: 12px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-style: initial;text-decoration-color: initial">Line: 416
Trace
#0 [internal function]: Slim\Slim::handleErrors(2, 'array_push() ex...', '/opt/opengnsys/...', 416, Array)
#1 /opt/opengnsys/www/rest/server.php(416): array_push(NULL, Array)
#2 [internal function]: {closure}('1')
#3 /opt/opengnsys/www/rest/Slim/Route.php(468): call_user_func_array(Object(Closure), Array)
#4 /opt/opengnsys/www/rest/Slim/Slim.php(1357): Slim\Route->dispatch()
#5 /opt/opengnsys/www/rest/Slim/Middleware/Flash.php(85): Slim\Slim->call()
#6 /opt/opengnsys/www/rest/Slim/Middleware/MethodOverride.php(92): Slim\Middleware\Flash->call()
#7 /opt/opengnsys/www/rest/Slim/Middleware/PrettyExceptions.php(67): Slim\Middleware\MethodOverride->call()
#8 /opt/opengnsys/www/rest/Slim/Slim.php(1302): Slim\Middleware\PrettyExceptions->call()
#9 /opt/opengnsys/www/rest/index.php(72): Slim\Slim->run()
#10 {main}

Lo único que se me ocurre decir de más es que dentro de la unidad organizativa hay un grupo y dentro están las aulas (2 en total).

¿Es un bug, estoy haciendo algo mal?

El caso es que parece que por eso, OpenRLabs no puede mostrarme las aulas que tengo.

Gracias!

Iván García

  • Message #970

    Si no se utilizan grupos dentro de la Unidad Organizativa parece que todo funciona bien.

    Es posible que haya algún problema con el uso de grupos dentro de las OUs y la API.

    David Fuertes.

  • Message #993

    Hola,

    Me ocurre el mismo problema, en mi caso tengo 2 grupos dentro de la OU, varias aulas en cada grupo y grupos dentro de las aulas.

    Mi version de opengnsys es 1.1.1c

    Se ha encontrado alguna solución al problema?

    David Martos

    • Message #994

      Al usar subgrupos en las aulas de opengnsys, la API no devuelve correctamente las aulas asociadas a las OUs con lo que se obtiene un "Error 500" en openrlabs.

      Por el momento la solución, aportada desde el SICUZ de la Universidad de Zaragoza, consiste en añadir el siguiente código en la línea 410 del fichero: ""/opt/opengnsys/www/rest/server.php"":

      410,416d409

      $tmpclassroomGroups? = array();

      if (isset($rs->camposnombregrupoordenador?)){

      $tmpclassroomGroups? = array(array("id" => (int)$rs->camposgroup_id?,

      "name" => $rs->camposnombregrupoordenador?, "comments" => $rs->camposcomentarios?, "classroomGroups" => array()));

      }

      Es decir, el código se debe añadir en la siguiente posición:

      $tmpou?id? = (int)$ouid;

      AÑADIR EL PARCHE

      array_push($response, $tmp);

      Un Saludo. David Fuertes.

Attachments

No attachments created.