Add treemenudata routes to lvverwaltung

This commit is contained in:
chfhtw
2026-07-15 11:03:24 +02:00
parent 52c90111cc
commit e01b816ee8
2 changed files with 22 additions and 9 deletions
+9
View File
@@ -123,6 +123,15 @@ $route['api/frontend/v1/treemenudata/stv/stdsem/(:any)/person/(:any)'] = 'api/fr
$route['api/frontend/v1/treemenudata/stv/.*'] = 'api/frontend/v1/stv/students/index';
// Lvverwaltung List Routes
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/stg/(:any)'] = 'api/frontend/v1/Lehrveranstaltung/getByStg/$1/$2';
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/stg/(:any)/semester/(:any)'] = 'api/frontend/v1/Lehrveranstaltung/getByStg/$1/$2/$3';
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/stg/(:any)/semester/(:any)/.*'] = 'api/frontend/v1/Lehrveranstaltung/getByStg/$1/$2/$3';
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/emp/(:any)'] = 'api/frontend/v1/Lehrveranstaltung/getByEmp/$1/$2';
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/emp/(:any)/stg/(:any)'] = 'api/frontend/v1/Lehrveranstaltung/getByEmp/$1/$2/$3';
$route['api/frontend/v1/treemenudata/lvverwaltung/stdsem/(:any)/emp/(:any)/stg/(:any)/.*'] = 'api/frontend/v1/Lehrveranstaltung/getByEmp/$1/$2/$3';
// load routes from extensions, also look for environment-specific configs
$subdirs = ['application/config/extensions', 'application/config/' . ENVIRONMENT . '/extensions'];
@@ -10,6 +10,7 @@ import { addTagInTable, deleteTagInTable, updateTagInTable } from "../../../../j
import ApiLv from "../../../api/lehrveranstaltung.js";
import ApiTag from "../../../api/lehrveranstaltung/tag.js";
import ApiLehreinheit from "../../../api/lehrveranstaltung/lehreinheit.js";
import ApiTreemenu from "../../../api/factory/treemenu.js";
export default {
name: "LVVerwaltungTable",
@@ -122,7 +123,7 @@ export default {
ajaxRequestFunc: async (url, config, params) => {
let realUrl = this.buildApiUrl();
if (realUrl)
return this.$api.call(ApiLv.getTable(this.buildApiUrl()));
return this.$api.call(this.buildApiUrl());
},
ajaxResponse: (url, params, response) => { return response?.data || [] },
dataTree: true,
@@ -335,17 +336,20 @@ export default {
},
buildApiUrl()
{
if (this.filter.activeFilter === 'employee' && this.filter.emp)
{
const { emp, stg, studiensemester_kurzbz } = this.filter;
return this.$api.getUri(ApiLv.getByEmp(studiensemester_kurzbz, emp, stg));
if (!['emp', 'treemenu'].includes(this.$route.name))
return null;
let url = 'stdsem/' + this.$route.params.stdsem + '/';
if (this.$route.params.emp) {
url += 'emp/' + this.$route.params.emp;
}
if (this.filter.activeFilter === 'verband' && this.filter.stg)
{
const { stg, semester, studiensemester_kurzbz } = this.filter;
return this.$api.getUri(ApiLv.getByStg(studiensemester_kurzbz, stg, semester));
if (this.$route.params.treemenu) {
url += this.$route.params.treemenu.join('/');
}
return ApiTreemenu.data('lvverwaltung', url);
},
resetEmployeeFilter()
{