mirror of
https://gitlab.dit.htwk-leipzig.de/htwk-software/htwkalender.git
synced 2025-08-03 10:19:14 +02:00
fixed frontend for new module api endpoint and fixed distinct database request
This commit is contained in:
@@ -16,7 +16,7 @@ func AddSchedules(app *pocketbase.PocketBase) {
|
|||||||
// Every hour update all courses (5 segments - minute, hour, day, month, weekday) "0 * * * *"
|
// Every hour update all courses (5 segments - minute, hour, day, month, weekday) "0 * * * *"
|
||||||
// Every three hours update all courses (5 segments - minute, hour, day, month, weekday) "0 */3 * * *"
|
// Every three hours update all courses (5 segments - minute, hour, day, month, weekday) "0 */3 * * *"
|
||||||
// Every 10 minutes update all courses (5 segments - minute, hour, day, month, weekday) "*/10 * * * *"
|
// Every 10 minutes update all courses (5 segments - minute, hour, day, month, weekday) "*/10 * * * *"
|
||||||
scheduler.MustAdd("updateCourse", "*/30 * * * *", func() {
|
scheduler.MustAdd("updateCourse", "0 */3 * * *", func() {
|
||||||
|
|
||||||
courses := events.GetAllCourses(app)
|
courses := events.GetAllCourses(app)
|
||||||
|
|
||||||
|
@@ -115,10 +115,10 @@ func GetAllModulesForCourse(app *pocketbase.PocketBase, course string, semester
|
|||||||
return events, nil
|
return events, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAllModulesDistinct(app *pocketbase.PocketBase) (model.Events, error) {
|
func GetAllModulesDistinctByNameAndCourse(app *pocketbase.PocketBase) (model.Events, error) {
|
||||||
var events model.Events
|
var events model.Events
|
||||||
|
|
||||||
err := app.Dao().DB().Select("*").From("events").Distinct(true).All(&events)
|
err := app.Dao().DB().Select("*").From("events").GroupBy("Name", "course").Distinct(true).All(&events)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
print("Error while getting events from database: ", err)
|
print("Error while getting events from database: ", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@@ -28,8 +28,10 @@ func replaceEmptyEntry(modules model.Events, replacement string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetAllModulesDistinct returns all modules distinct by name and course from the database
|
||||||
|
// That means you get all modules with duplicates if they have different courses
|
||||||
func GetAllModulesDistinct(app *pocketbase.PocketBase, c echo.Context) error {
|
func GetAllModulesDistinct(app *pocketbase.PocketBase, c echo.Context) error {
|
||||||
modules, err := db.GetAllModulesDistinct(app)
|
modules, err := db.GetAllModulesDistinctByNameAndCourse(app)
|
||||||
|
|
||||||
replaceEmptyEntry(modules, "Sonderveranstaltungen")
|
replaceEmptyEntry(modules, "Sonderveranstaltungen")
|
||||||
|
|
||||||
|
@@ -30,7 +30,7 @@ async function nextStep() {
|
|||||||
await router.push("/rename-modules");
|
await router.push("/rename-modules");
|
||||||
}
|
}
|
||||||
|
|
||||||
const display = (module: Module) => module.Name + " (" + module.Course + ")";
|
const display = (module: Module) => module.name + " (" + module.course + ")";
|
||||||
|
|
||||||
const selectAll = ref(false);
|
const selectAll = ref(false);
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ import { ref } from "vue";
|
|||||||
|
|
||||||
const tableData = ref(moduleStore().modules.map((module) => {
|
const tableData = ref(moduleStore().modules.map((module) => {
|
||||||
return {
|
return {
|
||||||
Course: module.Course,
|
Course: module.course,
|
||||||
Module: module,
|
Module: module,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -36,14 +36,14 @@ async function finalStep() {
|
|||||||
<DataTable :value="tableData" editMode="cell" tableClass="editable-cells-table" responsiveLayout="scroll">
|
<DataTable :value="tableData" editMode="cell" tableClass="editable-cells-table" responsiveLayout="scroll">
|
||||||
<Column v-for="col of columns" :key="col.field" :field="col.field" :header="col.header">
|
<Column v-for="col of columns" :key="col.field" :field="col.field" :header="col.header">
|
||||||
<template #body="{ data, field }" >
|
<template #body="{ data, field }" >
|
||||||
<div>{{ field === 'Module' ? data[field].UserDefinedName : data[field] }}</div>
|
<div>{{ field === 'Module' ? data[field].userDefinedName : data[field] }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template #editor="{ data, field }">
|
<template #editor="{ data, field }">
|
||||||
<template v-if="field !== 'Module'">
|
<template v-if="field !== 'Module'">
|
||||||
<div>{{ data[field] }}</div>
|
<div>{{ data[field] }}</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<InputText class="w-full" v-model="data[field].UserDefinedName" autofocus />
|
<InputText class="w-full" v-model="data[field].userDefinedName" autofocus />
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
Reference in New Issue
Block a user