REST Service for POPCORN - ILIAS
alex
2025-06-20 5ad82c502af6db6c3697f0c54ed233f74a43eedb
GS-2156
3 files modified
23 ■■■■■ changed files
php/globus-ilias-rest/api.php 13 ●●●●● patch | view | raw | blame | history
test/testImportIliasUser.js 8 ●●●● patch | view | raw | blame | history
vue/src/components/Header.vue 2 ●●● patch | view | raw | blame | history
php/globus-ilias-rest/api.php
@@ -94,14 +94,19 @@
###############################
function importUser($data) {
//     return $data["udf"];
    $user = new ilObjUser();
    $user->assignData($data);
    $usr_id = $user->create();
    $user->setTimeLimitUnlimited(true);
    $user->setActive(true);
    $user->saveAsNew();
//     $user->readUserDefinedFields();
//     $user->setUserDefinedData(array($data["udf"]));
    $user->setUserDefinedData($data["udf"]);
    // udf expects:
    //      udf: { // ACHTUNG: Die Nummer enspricht der id in der Tabelle udf_definition und kann je nach Reihenfolge anders sein!
    //         1: "Markt UDF",
    //         2: "Marktnummer UDF",
    //         3: "Personal UDF",
    //      },
    $user->setUserDefinedData($data["udf"]); // affo12345
    $user->updateUserDefinedFields();
    return $usr_id;
}
test/testImportIliasUser.js
@@ -11,8 +11,8 @@
   let lastUserId = null
   const user = {
      // Action: "Insert",
      login: "affoReloaded",
      passwd: "test1234",
      login: "123456789",
      passwd: "123456789",
      passwd_type: "plain",
      firstname: "Adolfo",
      lastname: "de la Cruz",
@@ -30,7 +30,7 @@
   }
   afterEach(async function () {
      await deleteUser(lastUserId)
      // await deleteUser(lastUserId)
   })
   it("should import a new user to ILIAS", async function () {
@@ -44,7 +44,7 @@
      lastUserId = usr_id
      const user2 = await db.getUserByUserId(usr_id)
      console.log(user2)
      expect(user2).to.have.property("login").and.to.equal("affoReloaded")
      expect(user2).to.have.property("login").and.to.equal(user.login)
      expect(user2).to.have.property("usr_id").and.to.equal(res.usr_id)
      // const res2 = await libIlias.deleteUser(usr_id)
vue/src/components/Header.vue
@@ -15,7 +15,7 @@
      <RouterLink :to="`${routerBase}/ui/kurs`">Courses</RouterLink>
      <div style="flex-grow: 1" />
      <div>
         <button type="button" @click="reindex()">♻</button>
         <button type="button" title="reindex search index" @click="reindex()">♻</button>
      </div>
      <div v-if="apiTokenValid">
         <button type="button" @click="deleteApiToken()">logout</button>