From 1eb86629227181c4c05c8a34100f7e54a57574a8 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Thu, 23 Oct 2025 14:41:40 +0000
Subject: [PATCH] GS-2375

---
 vue/src/pages/UserDetail.vue |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 102 insertions(+), 15 deletions(-)

diff --git a/vue/src/pages/UserDetail.vue b/vue/src/pages/UserDetail.vue
index 065a591..1c0db03 100644
--- a/vue/src/pages/UserDetail.vue
+++ b/vue/src/pages/UserDetail.vue
@@ -2,27 +2,31 @@
 
 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 users = reactive({
-
-})
+document.title = `User ${userId} | globus-ilias-rest`
 const error = ref(null)
+
+const user = ref(null)
+const teilnahmen = ref([])
 
 onMounted(init)
 
 /////////////////////////////////////////////////////////////////////////
 
-async function init() {
-   const res = await fetch(`/user/${userId}`)
-   console.log(res)
-   if(res.status === 200) {
-      users = res.data
-   }
-   else {
+async function init () {
+   const data = await getUser(userId)
+   console.log(data)
+   user.value = data
 
-   }
+   console.log(3333)
+   const tn = await getUserTeilnahmen(userId)
+   console.log(tn)
+   teilnahmen.value = tn
 }
 
 </script>
@@ -30,10 +34,93 @@
 <template>
 
    <div>
-      <h1>User Detail</h1>
-      <p>{{userId}}</p>
-      <p v-if="error">{{error}}</p>
-      <pre>{{users}}</pre>
+      <h1>
+         User {{ userId }}
+         <small class="ml-05">{{ user?.firstname }} {{ user?.lastname }}</small>
+      </h1>
+      <p v-if="error">{{ error }}</p>
+      <!--      <pre>{{ user }}</pre>-->
+
+      <div class="user" v-if="user">
+         <span>usr_id</span>
+         <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>
+
+         <span>firstname</span>
+         <div>{{ user.firstname }}</div>
+
+         <span>lastname</span>
+         <div>{{ user.lastname }}</div>
+
+         <span>gender</span>
+         <div>{{ user.gender }}</div>
+
+         <span>email</span>
+         <div>{{ user.email }}</div>
+
+         <span>Markt</span>
+         <div>{{ user.Markt }}</div>
+
+         <span>Marktnummer</span>
+         <div>{{ user.Marktnummer }}</div>
+
+         <span>Personalnummer</span>
+         <div>{{ user.Personalnummer }}</div>
+
+         <span>department</span>
+         <div>{{ user.department }}</div>
+
+
+      </div>
+
+      <h2>Teilnahmen <small>({{teilnahmen?.length}})</small></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>
+
+      <!--      <pre>{{teilnahmen}}</pre>-->
+
    </div>
 
 </template>

--
Gitblit v1.8.0