REST Service for POPCORN - ILIAS
alex
2025-07-07 1208e72d1a24c8493296ac9853754d13368e6e1e
vue/src/pages/UserDetail.vue
@@ -2,26 +2,30 @@
import {useRoute} from 'vue-router'
import {onMounted, reactive, ref} from "vue"
import {getUser, getUserTeilnahmen, iliasBase, routerBase} from "@/lib/api"
import LinkExtern from "../components/LinkExtern.vue"
import dayjs from "dayjs"
const route = useRoute()
const userId = route.params.userId
const user = ref(null)
const error = ref(null)
const user = ref(null)
const teilnahmen = ref([])
onMounted(init)
/////////////////////////////////////////////////////////////////////////
async function init () {
   const res = await fetch(`/api/user/userid/${userId}?token=jiuGfr432898D90290kjfsldkfn3hh8F`)
   const data = await res.json()
   const data = await getUser(userId)
   console.log(data)
   if (res.status === 200) {
      user.value = data
   }
   else {
      error.value = `ERROR: ${res.status}`
   }
   user.value = data
   console.log(3333)
   const tn = await getUserTeilnahmen(userId)
   console.log(tn)
   teilnahmen.value = tn
}
</script>
@@ -31,14 +35,19 @@
   <div>
      <h1>
         User {{ userId }}
         <small>{{ user?.firstname }} {{ user?.lastname }}</small>
         <small class="ml-05">{{ user?.firstname }} {{ user?.lastname }}</small>
      </h1>
      <p v-if="error">{{ error }}</p>
<!--      <pre>{{ user }}</pre>-->
      <!--      <pre>{{ user }}</pre>-->
      <div class="user" v-if="user">
         <span>usr_id</span>
         <div>{{ user.usr_id }}</div>
         <div>
            <a :href="`${iliasBase}/ilias.php?obj_id=${user.usr_id}&ref_id=7&admin_mode=settings&cmd=view&cmdClass=ilobjusergui&baseClass=ilAdministrationGUI`" target="_blank">
               {{ user.usr_id }}
               <LinkExtern />
            </a>
         </div>
         <span>login</span>
         <div>{{ user.login }}</div>
@@ -70,39 +79,46 @@
      </div>
      <!--      <table v-if="user">-->
      <!--         <tbody>-->
      <!--            <tr>-->
      <!--               <td>user_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--               <td>login</td>-->
      <!--               <td>{{user.login}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>firstname</td>-->
      <!--               <td>{{user.firstname}}</td>-->
      <!--               <td>lastname</td>-->
      <!--               <td>{{user.lastname}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <!--            <tr>-->
      <!--               <td>usr_id</td>-->
      <!--               <td>{{user.usr_id}}</td>-->
      <!--            </tr>-->
      <h2>Teilnahmen</h2>
      <table>
         <thead>
            <tr>
               <th>obj_id</th>
               <th>ref_id</th>
               <th>usr_id</th>
               <th>title</th>
               <th>passed</th>
               <th>status</th>
               <th>status_changed</th>
            </tr>
         </thead>
         <tbody>
            <tr v-for="tn in teilnahmen">
               <td>{{ tn.obj_id }}</td>
               <td class="nowrap">
                  <RouterLink :to="`${routerBase}/ui/kurs/${tn.ref_id}`">
                     {{ tn.ref_id }}
                  </RouterLink>
                  |
                  <a :href="`${iliasBase}/goto.php?target=crs_${tn.ref_id}`" target="_blank">
                     <!--                     {{ tn.ref_id }}-->
                     <LinkExtern />
                  </a>
               </td>
               <td>{{ tn.usr_id }}</td>
               <td>{{ tn.title }}</td>
               <td>{{ tn.passed }}</td>
               <td>{{ tn.status }}</td>
               <td class="nowrap">
                  <div v-if="tn.status_changed">
                     {{ dayjs(tn.status_changed).format("DD.MM.YYYY HH:mm:ss") }}
                  </div>
               </td>
            </tr>
         </tbody>
      </table>
      <!--         </tbody>-->
      <!--      </table>-->
      <!--      <pre>{{teilnahmen}}</pre>-->
   </div>