From 3619a948d3d42f63bfa7e330899fe8cddd03f55e Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Fri, 11 Jul 2025 13:22:54 +0000
Subject: [PATCH] GS-2174
---
vue/src/pages/KursDetail.vue | 90 +++++++++++++++------------------------------
1 files changed, 30 insertions(+), 60 deletions(-)
diff --git a/vue/src/pages/KursDetail.vue b/vue/src/pages/KursDetail.vue
index 54d88ac..be99d9f 100644
--- a/vue/src/pages/KursDetail.vue
+++ b/vue/src/pages/KursDetail.vue
@@ -2,23 +2,32 @@
import {useRoute} from 'vue-router'
import {onMounted, reactive, ref} from "vue"
-import {getKurs, getKursItems, getKursTn, getKursTnByRole, iliasBase, routerBase} from "../lib/api.js"
+import {getKurs, getKursItems, getKursRoles, getKursTn, getKursTnByRole, iliasBase, routerBase} from "../lib/api.js"
import LinkExtern from "../components/LinkExtern.vue"
import dayjs from "dayjs"
+import KursItems from '../components/KursItems.vue'
+import KursRoles from '../components/KursRoles.vue'
+import KursMembers from '../components/KursMembers.vue'
+
const route = useRoute()
const kursId = route.params.kursId
+document.title = `Kurs ${kursId} | globus-ilias-rest`
+
const kurs = ref(null)
const kursItems = ref(null)
const kursTn = ref(null)
const kursTnByRolle = ref(null)
+const kursRoles = ref(null)
const error = ref(null)
onMounted(init)
/////////////////////////////////////////////////////////////////////////
+
async function init () {
+
const dataKurs = await getKurs(kursId)
console.log(dataKurs)
kurs.value = dataKurs
@@ -34,6 +43,10 @@
const dataKursTnByRolle = await getKursTnByRole(kursId)
console.log(dataKursTnByRolle)
kursTnByRolle.value = dataKursTnByRolle
+
+ const dataKursRoles = await getKursRoles(kursId)
+ console.log(dataKursRoles)
+ kursRoles.value = dataKursRoles
}
@@ -72,67 +85,24 @@
</div>
- <h2>
- KursItems
- <small>({{ kursItems?.length }})</small>
- </h2>
- <table>
- <thead>
- <tr>
- <th>parent_id</th>
- <th>ref_id</th>
- <th>obj_id</th>
- <th>title</th>
- <th>type</th>
- </tr>
- </thead>
- <tbody>
- <!-- TODO verlinken auf Ziel in ILAS | goto.php?target=crs_ID -->
- <tr v-for="item in kursItems">
- <td>{{ item.parent_id }}</td>
- <td>
- <a :href="`${iliasBase}/goto.php?target=${item.type}_${item.ref_id}`" target="_blank">
- {{ item.ref_id }}
- <LinkExtern />
- </a>
- </td>
- <td>{{ item.obj_id }}</td>
- <td>{{ item.title }}</td>
- <td>{{ item.type }}</td>
- </tr>
- </tbody>
- </table>
+ <div class="cols">
- <!-- <div :style="{columns: kursTn?.length > 16 ? 1 : 1}">-->
- <div id="teilnehmer">
+ <div>
+ <h2>KursItems <small>({{ kursItems?.length }})</small></h2>
+ <KursItems :kursItems="kursItems" />
+ </div>
+
+ <div>
+ <h2>KursRoles <small>({{ kursRoles?.length }})</small></h2>
+ <KursRoles :kursRoles="kursRoles" />
+ </div>
+
+ </div>
+
+ <div class="cols">
<div>
<h2>KursTn by Members <small>({{ kursTn?.length }})</small></h2>
- <table>
- <thead>
- <tr>
- <th>usr_id</th>
- <th>login</th>
- <th>firstname</th>
- <th>lastname</th>
- <th>passed</th>
- <th>status</th>
- <th>status_changed</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="tn in kursTn">
- <td>
- <RouterLink :to="`${routerBase}/ui/user/${tn.usr_id}`">{{ tn.usr_id }}</RouterLink>
- </td>
- <td>{{ tn.login }}</td>
- <td>{{ tn.firstname }}</td>
- <td>{{ tn.lastname }}</td>
- <td>{{ tn.passed }}</td>
- <td>{{ tn.status }}</td>
- <td>{{ dayjs(tn.status_changed).format("DD.MM.YYYY HH:mm:ss") }}</td>
- </tr>
- </tbody>
- </table>
+ <KursMembers :kursTn="kursTn" />
</div>
<div>
@@ -167,7 +137,7 @@
<style scoped lang="stylus">
-#teilnehmer
+.cols
display flex;
gap 2em
--
Gitblit v1.8.0