diff --git a/public/js/api/factory/cis/studium.js b/public/js/api/factory/cis/studium.js new file mode 100644 index 000000000..339185223 --- /dev/null +++ b/public/js/api/factory/cis/studium.js @@ -0,0 +1,38 @@ +/** + * Copyright (C) 2026 fhcomplete.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +export default { + getAllStudienSemester(studiensemester, studiengang, semester, studienplan) { + return { + method: 'get', + url: 'api/frontend/v1/Studium/getStudienAllSemester/', + params: {studiensemester, studiengang, semester, studienplan} + }; + }, + getLvPlanForStudiensemester(studiensemester, lvid) { + return { + method: 'get', + url: '/api/frontend/v1/LvPlan/getLvPlanForStudiensemester/'+ studiensemester + '/' + lvid + }; + }, + getLvEvaluierungInfo(studiensemester_kurzbz, lvid) { + return { + method: 'get', + url: 'api/frontend/v1/Studium/getLvEvaluierungInfo/' + studiensemester_kurzbz + '/' + lvid + }; + }, +} diff --git a/public/js/components/Cis/Mylv/LvUebersicht.js b/public/js/components/Cis/Mylv/LvUebersicht.js index 1ec93590f..b078310b3 100644 --- a/public/js/components/Cis/Mylv/LvUebersicht.js +++ b/public/js/components/Cis/Mylv/LvUebersicht.js @@ -2,6 +2,7 @@ import BsModal from "../../Bootstrap/Modal.js"; import LvMenu from "./LvMenu.js"; import ApiAddons from '../../../api/factory/addons.js'; +import ApiCisStudium from '../../../api/factory/cis/studium.js'; export default { @@ -63,7 +64,8 @@ export default { // check lv evaluierung info if (this.studium_studiensemester) { - this.$fhcApi.factory.studium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id) + this.$api + .call(ApiCisStudium.getLvEvaluierungInfo(this.studium_studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)) .then(data => data.data) .then(res => { this.lvEvaluierungMessage = res.message; @@ -72,7 +74,8 @@ export default { // check if the lv has lvplan entries for this studiensemester if (this.studiensemester && this.event) { - return this.$fhcApi.factory.studium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id) + return this.$api + .call(ApiCisStudium.getLvPlanForStudiensemester(this.studiensemester, this.event.lehreinheit_id ?? this.event.lehrveranstaltung_id)) .then(data => data.data) .then(res => { if (Array.isArray(res) && res.length > 0) { diff --git a/public/js/components/Cis/Studium/Studium.js b/public/js/components/Cis/Studium/Studium.js index 1b7aff81b..52c9f9703 100644 --- a/public/js/components/Cis/Studium/Studium.js +++ b/public/js/components/Cis/Studium/Studium.js @@ -1,4 +1,5 @@ import LvUebersicht from "../Mylv/LvUebersicht.js"; +import ApiCisStudium from '../../../api/factory/cis/studium.js'; export default { @@ -97,28 +98,32 @@ export default { return value; }, changeSelectedStudienSemester(studiensemester_kurzbz) { - this.$fhcApi.factory.studium.getAllStudienSemester(studiensemester_kurzbz, this.selectedStudiengang, this.selectedSemester, this.selectedStudienordnung) + return this.$api + .call(ApiCisStudium.getAllStudienSemester(studiensemester_kurzbz, this.selectedStudiengang, this.selectedSemester, this.selectedStudienordnung)) .then(data => data.data) .then(res => { this.extractPropertyValues(res); }) }, changeSelectedStudienGang(studiengang_kz) { - this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, studiengang_kz, this.selectedSemester, this.selectedStudienordnung) + return this.$api + .call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, studiengang_kz, this.selectedSemester, this.selectedStudienordnung)) .then(data => data.data) .then(res => { this.extractPropertyValues(res); }) }, changeSelectedSemester(semester) { - this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, semester, this.selectedStudienordnung) + return this.$api + .call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, semester, this.selectedStudienordnung)) .then(data => data.data) .then(res => { this.extractPropertyValues(res); }) }, changeSelectedStudienPlan(studienplan_id) { - this.$fhcApi.factory.studium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, this.selectedSemester, studienplan_id) + return this.$api + .call(ApiCisStudium.getAllStudienSemester(this.selectedStudiensemester, this.selectedStudiengang, this.selectedSemester, studienplan_id)) .then(data => data.data) .then(res => { this.extractPropertyValues(res); @@ -209,7 +214,7 @@ export default { default: return `${studiensemester}`; } - } + }, }, computed:{ @@ -256,12 +261,12 @@ export default { const studienordnung = JSON.parse(this.getDataFromLocalStorage("studienordnung")) ?? undefined; // only fetch default data if no data is stored in the local storage - - this.$fhcApi.factory.studium.getAllStudienSemester(studiensemester, studiengang, semester, studienordnung) - .then(data => data.data) - .then(res => { - this.extractPropertyValues(res); - }) + this.$api + .call(ApiCisStudium.getAllStudienSemester(studiensemester, studiengang, semester, studienordnung)) + .then(data => data.data) + .then(res => { + this.extractPropertyValues(res); + }) }, template: `