From 62f8d28c73eb042edf9c31127f4c87f1f9e6ac4c Mon Sep 17 00:00:00 2001
From: alex <alex@alexloehr.net>
Date: Wed, 04 Jun 2025 18:30:05 +0000
Subject: [PATCH] adding user teilnahmen
---
lib/db.js | 12 +++--
app.js | 9 ++--
vue/src/pages/UserDetail.vue | 65 ++++++++++++++++----------------
3 files changed, 44 insertions(+), 42 deletions(-)
diff --git a/app.js b/app.js
index 9110702..cc1bd5b 100644
--- a/app.js
+++ b/app.js
@@ -66,11 +66,12 @@
}
})
.get("/api/user/teilnahmen/:userId", async function (req, res) {
- const {userid} = req.params
- if(!userid || isNaN(Number(userid))) {
- return res.code(500).send({status: "error", msg: "userid error"})
+ let userId = req.params.userId
+ console.log(`--------${userId}-----------`, typeof userId)
+ if(!userId || isNaN(Number(userId))) {
+ return res.code(500).send({status: "error", msg: "userId error"})
}
- const tn = await db.getUserTeilnahmen(userid)
+ const tn = await db.getUserTeilnahmen(userId)
if (tn) {
return res.send(tn)
}
diff --git a/lib/db.js b/lib/db.js
index a4708f5..af7a8e6 100644
--- a/lib/db.js
+++ b/lib/db.js
@@ -266,15 +266,17 @@
async function getUserTeilnahmen (usr_id) {
const pool = await poolP
- const q = `SELECT om.obj_id, om.usr_id, od.title, ulm.status, om.passed, ulm.status_changed
- FROM ilias_globusfachtest.obj_members om
- INNER JOIN ilias_globusfachtest.usr_data ud ON ud.usr_id = om.usr_id
- INNER JOIN ilias_globusfachtest.object_data od ON od.obj_id = om.obj_id
- LEFT JOIN ilias_globusfachtest.ut_lp_marks ulm
+ const q = `SELECT om.obj_id, or2.ref_id , om.usr_id, od.title , ulm.status, om.passed, ulm.status_changed
+ FROM ${database}.obj_members om
+ INNER JOIN ${database}.object_reference or2 ON or2.obj_id = om.obj_id
+ INNER JOIN ${database}.usr_data ud ON ud.usr_id = om.usr_id
+ INNER JOIN ${database}.object_data od ON od.obj_id = om.obj_id
+ LEFT JOIN ${database}.ut_lp_marks ulm
ON ulm.usr_id = om.usr_id AND ulm.obj_id = om.obj_id
WHERE om.usr_id = ${usr_id}
AND om.member = 1
`
+ console.log(q)
const [results] = await pool.query(q)
return results
}
diff --git a/vue/src/pages/UserDetail.vue b/vue/src/pages/UserDetail.vue
index cc559f1..28e3cb1 100644
--- a/vue/src/pages/UserDetail.vue
+++ b/vue/src/pages/UserDetail.vue
@@ -2,7 +2,7 @@
import {useRoute} from 'vue-router'
import {onMounted, reactive, ref} from "vue"
-import {getUser, getUserTeilnahmen, iliasBase} from "../lib/api"
+import {getUser, getUserTeilnahmen, iliasBase, routerBase} from "@/lib/api"
import LinkExtern from "../components/LinkExtern.vue"
const route = useRoute()
@@ -21,6 +21,7 @@
console.log(data)
user.value = data
+ console.log(3333)
const tn = await getUserTeilnahmen(userId)
console.log(tn)
teilnahmen.value = tn
@@ -76,39 +77,37 @@
</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>
+ <RouterLink :to="`${routerBase}/ui/kurs/${tn.ref_id}`">
+ {{tn.ref_id}}
+ </RouterLink>
+ </td>
+ <td>{{tn.usr_id}}</td>
+ <td>{{tn.title}}</td>
+ <td>{{tn.passed}}</td>
+ <td>{{tn.status}}</td>
+ <td>{{tn.status_changed}}</td>
+ </tr>
+ </tbody>
+ </table>
- <!-- </tbody>-->
- <!-- </table>-->
+<!-- <pre>{{teilnahmen}}</pre>-->
</div>
--
Gitblit v1.8.0