From a380a465ce02059a630ef678fecd6666cbdf8f30 Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Fri, 28 Nov 2025 10:21:00 +0000
Subject: [PATCH] GS-2333
---
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