diff --git a/public/js/components/Cis/LvPlan/OtherLvPlan.js b/public/js/components/Cis/LvPlan/OtherLvPlan.js
index f4948ca50..c932c5338 100644
--- a/public/js/components/Cis/LvPlan/OtherLvPlan.js
+++ b/public/js/components/Cis/LvPlan/OtherLvPlan.js
@@ -6,199 +6,212 @@ import ApiLvPlan from "../.././../api/factory/lvPlan.js";
import ApiOtherLvPlan from "../.././../api/factory/otherLvPlan.js";
import ApiAuthinfo from "../../../api/factory/authinfo.js";
-export const DEFAULT_MODE_LVPLAN = "Week";
+export const DEFAULT_MODE_LVPLAN_DESKTOP = "Week";
+export const DEFAULT_MODE_LVPLAN_MOBILE = "List";
export default {
- name: "OtherLvPlan",
- components: {
- FormForm,
- FormInput,
- FhcCalendar,
- },
- props: {
- viewData: Object,
- propsViewData: Object,
- },
- data() {
- return {
- localProps: {},
- studiensemester_kurzbz: null,
- studiensemester_start: null,
- studiensemester_ende: null,
- isOtherPersonMitarbeiter: false,
- isOtherPersonStudent: false,
- currentStgBezeichnung: null,
- listVerband: [],
- listGroup: [],
- rangeIntervalFirst: null,
- otherPersonData: {
- fullName: "",
- photo: "",
- },
- };
- },
- computed: {
- currentDay() {
- if (
- !this.propsViewData?.focus_date ||
- isNaN(new Date(this.propsViewData?.focus_date))
- )
- return luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
- return this.propsViewData?.focus_date;
- },
- currentMode() {
- if (
- !this.propsViewData?.mode ||
- !["day", "week", "month"].includes(
- this.propsViewData?.mode.toLowerCase(),
- )
- )
- return DEFAULT_MODE_LVPLAN;
- return this.propsViewData?.mode;
- },
- downloadLinks() {
- if (
- !this.studiensemester_start ||
- !this.studiensemester_ende ||
- !this.propsViewData.otherUid
- )
- return false;
+ name: "OtherLvPlan",
+ components: {
+ FormForm,
+ FormInput,
+ FhcCalendar,
+ },
+ props: {
+ viewData: Object,
+ propsViewData: Object,
+ },
+ data() {
+ return {
+ localProps: {},
+ studiensemester_kurzbz: null,
+ studiensemester_start: null,
+ studiensemester_ende: null,
+ isOtherPersonMitarbeiter: false,
+ isOtherPersonStudent: false,
+ currentStgBezeichnung: null,
+ listVerband: [],
+ listGroup: [],
+ rangeIntervalFirst: null,
+ otherPersonData: {
+ fullName: "",
+ photo: "",
+ },
+ };
+ },
+ inject: ["isMobile"],
+ computed: {
+ currentDay() {
+ if (
+ !this.propsViewData?.focus_date ||
+ isNaN(new Date(this.propsViewData?.focus_date))
+ )
+ return luxon.DateTime.now()
+ .setZone(this.viewData.timezone)
+ .toISODate();
+ return this.propsViewData?.focus_date;
+ },
+ currentMode() {
+ let validModes = ["day", "month"];
+ validModes.push(this.isMobile ? "list" : "week");
- const type = this.isOtherPersonStudent
- ? "student"
- : this.isOtherPersonMitarbeiter
- ? "lektor"
- : null;
+ const defaultMode = this.isMobile
+ ? DEFAULT_MODE_LVPLAN_MOBILE
+ : DEFAULT_MODE_LVPLAN_DESKTOP;
- if (!type) return;
+ if (
+ !this.propsViewData?.mode ||
+ !validModes.includes(this.propsViewData?.mode.toLowerCase())
+ )
+ return defaultMode;
+ return this.propsViewData?.mode;
+ },
+ downloadLinks() {
+ if (
+ !this.studiensemester_start ||
+ !this.studiensemester_ende ||
+ !this.propsViewData.otherUid
+ )
+ return false;
- const opts = { zone: this.viewData.timezone };
- const start = luxon.DateTime.fromISO(
- this.studiensemester_start,
- opts,
- ).toUnixInteger();
- const ende = luxon.DateTime.fromISO(
- this.studiensemester_ende,
- opts,
- ).toUnixInteger();
+ const type = this.isOtherPersonStudent
+ ? "student"
+ : this.isOtherPersonMitarbeiter
+ ? "lektor"
+ : null;
- const download_link =
- FHC_JS_DATA_STORAGE_OBJECT.app_root +
- "cis/private/lvplan/stpl_kalender.php" +
- "?type=" +
- type +
- "&pers_uid=" +
- this.propsViewData.otherUid +
- "&begin=" +
- start +
- "&ende=" +
- ende;
+ if (!type) return;
- return [
- {
- title: "excel",
- icon: "fa-solid fa-file-excel",
- link: download_link + "&format=excel",
- },
- {
- title: "csv",
- icon: "fa-solid fa-file-csv",
- link: download_link + "&format=csv",
- },
- {
- title: "ical1",
- icon: "fa-regular fa-calendar",
- link: download_link + "&format=ical&version=1&target=ical",
- },
- {
- title: "ical2",
- icon: "fa-regular fa-calendar",
- link: download_link + "&format=ical&version=2&target=ical",
- },
- ];
- },
- get_image_base64_src: function () {
- if (!this.otherPersonData.photo?.length) {
- return "";
- }
- return "data:image/jpeg;base64," + this.otherPersonData.photo;
- },
- },
- watch: {
- "propsViewData.otherUid": {
- handler() {
- this.$router.go();
- },
- },
- },
- methods: {
- handleChangeDate(day, newMode) {
- return this.handleChangeMode(newMode, day);
- },
- handleChangeMode(newMode, day) {
- const mode = newMode[0].toUpperCase() + newMode.slice(1);
- const focus_date = day.toISODate();
+ const opts = { zone: this.viewData.timezone };
+ const start = luxon.DateTime.fromISO(
+ this.studiensemester_start,
+ opts,
+ ).toUnixInteger();
+ const ende = luxon.DateTime.fromISO(
+ this.studiensemester_ende,
+ opts,
+ ).toUnixInteger();
- this.$router.push({
- name: "OtherLvPlan",
- params: {
- mode,
- focus_date,
- },
- });
- },
- updateRange(rangeInterval) {
- this.$api
- .call(
- ApiLvPlan.studiensemesterDateInterval(
- rangeInterval.end.startOf("week").toISODate(),
- ),
- )
- .then((res) => {
- this.studiensemester_kurzbz = res.data.studiensemester_kurzbz;
- this.studiensemester_start = res.data.start;
- this.studiensemester_ende = res.data.ende;
- });
- },
- getPromiseFunc(start, end) {
- return [
- this.$api.call(
- ApiLvPlan.eventsPersonal(
- start.toISODate(),
- end.toISODate(),
- this.propsViewData.otherUid,
- ),
- ),
- this.$api.call(
- ApiLvPlan.getLvPlanReservierungen(
- start.toISODate(),
- end.toISODate(),
- this.propsViewData.otherUid,
- ),
- ),
- ];
- },
- },
- async created() {
- const authInfoResponse = await this.$api.call(ApiAuthinfo.getAuthInfo());
- const authId = authInfoResponse.data.uid;
- if (authId === this.propsViewData.otherUid) {
- this.$router.push({ name: "MyLvPlan" });
- }
+ const download_link =
+ FHC_JS_DATA_STORAGE_OBJECT.app_root +
+ "cis/private/lvplan/stpl_kalender.php" +
+ "?type=" +
+ type +
+ "&pers_uid=" +
+ this.propsViewData.otherUid +
+ "&begin=" +
+ start +
+ "&ende=" +
+ ende;
- const userDataResponse = await this.$api.call(
- ApiOtherLvPlan.getBasicUserAttributesForLvPlanDisplay(
- this.propsViewData.otherUid,
- ),
- );
+ return [
+ {
+ title: "excel",
+ icon: "fa-solid fa-file-excel",
+ link: download_link + "&format=excel",
+ },
+ {
+ title: "csv",
+ icon: "fa-solid fa-file-csv",
+ link: download_link + "&format=csv",
+ },
+ {
+ title: "ical1",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=1&target=ical",
+ },
+ {
+ title: "ical2",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=2&target=ical",
+ },
+ ];
+ },
+ get_image_base64_src: function () {
+ if (!this.otherPersonData.photo?.length) {
+ return "";
+ }
+ return "data:image/jpeg;base64," + this.otherPersonData.photo;
+ },
+ },
+ watch: {
+ "propsViewData.otherUid": {
+ handler() {
+ this.$router.go();
+ },
+ },
+ },
+ methods: {
+ handleChangeDate(day, newMode) {
+ return this.handleChangeMode(newMode, day);
+ },
+ handleChangeMode(newMode, day) {
+ const mode = newMode[0].toUpperCase() + newMode.slice(1);
+ const focus_date = day.toISODate();
- const userData = userDataResponse.data;
- this.isOtherPersonMitarbeiter = !!userData.is_mitarbeiter;
- this.isOtherPersonStudent = !!userData.is_student;
- this.otherPersonData.fullName = userData.vorname + " " + userData.nachname;
- this.otherPersonData.photo = userData.foto;
- },
- template: `
+ this.$router.push({
+ name: "OtherLvPlan",
+ params: {
+ mode,
+ focus_date,
+ },
+ });
+ },
+ updateRange(rangeInterval) {
+ this.$api
+ .call(
+ ApiLvPlan.studiensemesterDateInterval(
+ rangeInterval.end.startOf("week").toISODate(),
+ ),
+ )
+ .then((res) => {
+ this.studiensemester_kurzbz =
+ res.data.studiensemester_kurzbz;
+ this.studiensemester_start = res.data.start;
+ this.studiensemester_ende = res.data.ende;
+ });
+ },
+ getPromiseFunc(start, end) {
+ return [
+ this.$api.call(
+ ApiLvPlan.eventsPersonal(
+ start.toISODate(),
+ end.toISODate(),
+ this.propsViewData.otherUid,
+ ),
+ ),
+ this.$api.call(
+ ApiLvPlan.getLvPlanReservierungen(
+ start.toISODate(),
+ end.toISODate(),
+ this.propsViewData.otherUid,
+ ),
+ ),
+ ];
+ },
+ },
+ async created() {
+ const authInfoResponse = await this.$api.call(
+ ApiAuthinfo.getAuthInfo(),
+ );
+ const authId = authInfoResponse.data.uid;
+ if (authId === this.propsViewData.otherUid) {
+ this.$router.push({ name: "MyLvPlan" });
+ }
+
+ const userDataResponse = await this.$api.call(
+ ApiOtherLvPlan.getBasicUserAttributesForLvPlanDisplay(
+ this.propsViewData.otherUid,
+ ),
+ );
+
+ const userData = userDataResponse.data;
+ this.isOtherPersonMitarbeiter = !!userData.is_mitarbeiter;
+ this.isOtherPersonStudent = !!userData.is_student;
+ this.otherPersonData.fullName =
+ userData.vorname + " " + userData.nachname;
+ this.otherPersonData.photo = userData.foto;
+ },
+ template: `
diff --git a/public/js/components/Cis/LvPlan/Personal.js b/public/js/components/Cis/LvPlan/Personal.js
index c77c6eea0..e0adc6ae7 100644
--- a/public/js/components/Cis/LvPlan/Personal.js
+++ b/public/js/components/Cis/LvPlan/Personal.js
@@ -1,19 +1,19 @@
import FhcCalendar from "../../Calendar/LvPlan.js";
-import ApiLvPlan from '../../../api/factory/lvPlan.js';
-import ApiAuthinfo from '../../../api/factory/authinfo.js';
+import ApiLvPlan from "../../../api/factory/lvPlan.js";
+import ApiAuthinfo from "../../../api/factory/authinfo.js";
-export const DEFAULT_MODE_LVPLAN_DESKTOP = 'Week';
-export const DEFAULT_MODE_LVPLAN_MOBILE = 'List';
+export const DEFAULT_MODE_LVPLAN_DESKTOP = "Week";
+export const DEFAULT_MODE_LVPLAN_MOBILE = "List";
export default {
- name: 'LvPlanPersonal',
+ name: "LvPlanPersonal",
components: {
- FhcCalendar
+ FhcCalendar,
},
props: {
viewData: Object, // NOTE(chris): this is inherited from router-view
- propsViewData: Object
+ propsViewData: Object,
},
data() {
return {
@@ -22,105 +22,152 @@ export default {
studiensemester_ende: null,
uid: null,
isMitarbeiter: false,
- isStudent: false
+ isStudent: false,
};
},
inject: ["isMobile"],
- computed:{
+ computed: {
currentDay() {
- if (!this.propsViewData?.focus_date || isNaN(new Date(this.propsViewData?.focus_date)))
- return luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
+ if (
+ !this.propsViewData?.focus_date ||
+ isNaN(new Date(this.propsViewData?.focus_date))
+ )
+ return luxon.DateTime.now()
+ .setZone(this.viewData.timezone)
+ .toISODate();
return this.propsViewData?.focus_date;
},
currentMode() {
- let validModes = ['day', 'month'];
- validModes.push(this.isMobile ? 'list' : 'week');
+ let validModes = ["day", "month"];
+ validModes.push(this.isMobile ? "list" : "week");
- const defaultMode = this.isMobile ? DEFAULT_MODE_LVPLAN_MOBILE : DEFAULT_MODE_LVPLAN_DESKTOP;
+ const defaultMode = this.isMobile
+ ? DEFAULT_MODE_LVPLAN_MOBILE
+ : DEFAULT_MODE_LVPLAN_DESKTOP;
- if (!this.propsViewData?.mode || !validModes.includes(this.propsViewData?.mode.toLowerCase()))
+ if (
+ !this.propsViewData?.mode ||
+ !validModes.includes(this.propsViewData?.mode.toLowerCase())
+ )
return defaultMode;
return this.propsViewData?.mode;
},
downloadLinks() {
- if (!this.studiensemester_start || !this.studiensemester_ende || !this.uid)
+ if (
+ !this.studiensemester_start ||
+ !this.studiensemester_ende ||
+ !this.uid
+ )
return false;
let type = false;
- type = this.isStudent ? 'student' : type;
- type = this.isMitarbeiter ? 'lektor' : type;
- if (false === type)
- {
+ type = this.isStudent ? "student" : type;
+ type = this.isMitarbeiter ? "lektor" : type;
+ if (false === type) {
return;
}
const opts = { zone: this.viewData.timezone };
- const start = luxon.DateTime
- .fromISO(this.studiensemester_start, opts)
- .toUnixInteger();
- const ende = luxon.DateTime
- .fromISO(this.studiensemester_ende, opts)
- .toUnixInteger();
+ const start = luxon.DateTime.fromISO(
+ this.studiensemester_start,
+ opts,
+ ).toUnixInteger();
+ const ende = luxon.DateTime.fromISO(
+ this.studiensemester_ende,
+ opts,
+ ).toUnixInteger();
- const download_link = FHC_JS_DATA_STORAGE_OBJECT.app_root
- + 'cis/private/lvplan/stpl_kalender.php'
- + '?type=' + type
- + '&pers_uid=' + this.uid
- + '&begin=' + start
- + '&ende=' + ende;
+ const download_link =
+ FHC_JS_DATA_STORAGE_OBJECT.app_root +
+ "cis/private/lvplan/stpl_kalender.php" +
+ "?type=" +
+ type +
+ "&pers_uid=" +
+ this.uid +
+ "&begin=" +
+ start +
+ "&ende=" +
+ ende;
return [
- { title: "excel", icon: 'fa-solid fa-file-excel', link: download_link + '&format=excel' },
- { title: "csv", icon: 'fa-solid fa-file-csv', link: download_link + '&format=csv' },
- { title: "ical1", icon: 'fa-regular fa-calendar', link: download_link + '&format=ical&version=1&target=ical' },
- { title: "ical2", icon: 'fa-regular fa-calendar', link: download_link + '&format=ical&version=2&target=ical' }
+ {
+ title: "excel",
+ icon: "fa-solid fa-file-excel",
+ link: download_link + "&format=excel",
+ },
+ {
+ title: "csv",
+ icon: "fa-solid fa-file-csv",
+ link: download_link + "&format=csv",
+ },
+ {
+ title: "ical1",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=1&target=ical",
+ },
+ {
+ title: "ical2",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=2&target=ical",
+ },
];
- }
+ },
},
methods: {
handleChangeDate(day, newMode) {
return this.handleChangeMode(newMode, day);
},
handleChangeMode(newMode, day) {
- const mode = newMode[0].toUpperCase() + newMode.slice(1)
+ const mode = newMode[0].toUpperCase() + newMode.slice(1);
const focus_date = day.toISODate();
-
+
this.$router.push({
name: "MyLvPlan",
params: {
mode,
- focus_date
- }
+ focus_date,
+ },
});
},
updateRange(rangeInterval) {
this.$api
- .call(ApiLvPlan.studiensemesterDateInterval(
- rangeInterval.end.startOf('week').toISODate()
- ))
- .then(res => {
- this.studiensemester_kurzbz = res.data.studiensemester_kurzbz;
+ .call(
+ ApiLvPlan.studiensemesterDateInterval(
+ rangeInterval.end.startOf("week").toISODate(),
+ ),
+ )
+ .then((res) => {
+ this.studiensemester_kurzbz =
+ res.data.studiensemester_kurzbz;
this.studiensemester_start = res.data.start;
this.studiensemester_ende = res.data.ende;
});
},
getPromiseFunc(start, end) {
return [
- this.$api.call(ApiLvPlan.eventsPersonal(start.toISODate(), end.toISODate())),
- this.$api.call(ApiLvPlan.getLvPlanReservierungen(start.toISODate(), end.toISODate()))
+ this.$api.call(
+ ApiLvPlan.eventsPersonal(
+ start.toISODate(),
+ end.toISODate(),
+ ),
+ ),
+ this.$api.call(
+ ApiLvPlan.getLvPlanReservierungen(
+ start.toISODate(),
+ end.toISODate(),
+ ),
+ ),
];
- }
+ },
},
created() {
- this.$api
- .call(ApiAuthinfo.getAuthInfo())
- .then(res => {
- this.uid = res.data.uid;
- this.isMitarbeiter = res.data.isMitarbeiter;
- this.isStudent = res.data.isStudent;
- });
+ this.$api.call(ApiAuthinfo.getAuthInfo()).then((res) => {
+ this.uid = res.data.uid;
+ this.isMitarbeiter = res.data.isMitarbeiter;
+ this.isStudent = res.data.isStudent;
+ });
},
- template: /*html*/`
+ template: /*html*/ `
{{ $p.t('lehre/stundenplan') }}
@@ -158,5 +205,5 @@ export default {
-
`
+ `,
};
diff --git a/public/js/components/Cis/LvPlan/StgOrg.js b/public/js/components/Cis/LvPlan/StgOrg.js
index f6bc51c12..08bec3674 100644
--- a/public/js/components/Cis/LvPlan/StgOrg.js
+++ b/public/js/components/Cis/LvPlan/StgOrg.js
@@ -1,14 +1,15 @@
-import FormForm from '../../Form/Form.js';
-import FormInput from '../../Form/Input.js';
+import FormForm from "../../Form/Form.js";
+import FormInput from "../../Form/Input.js";
import FhcCalendar from "../../Calendar/LvPlan.js";
-import ApiLvPlan from '../.././../api/factory/lvPlan.js';
-import ApiAuthinfo from '../../../api/factory/authinfo.js';
+import ApiLvPlan from "../.././../api/factory/lvPlan.js";
+import ApiAuthinfo from "../../../api/factory/authinfo.js";
-export const DEFAULT_MODE_LVPLAN = 'Week';
+export const DEFAULT_MODE_LVPLAN_DESKTOP = "Week";
+export const DEFAULT_MODE_LVPLAN_MOBILE = "List";
export default {
- name: 'LvPlanStgOrg',
+ name: "LvPlanStgOrg",
components: {
FormForm,
FormInput,
@@ -16,7 +17,7 @@ export default {
},
props: {
viewData: Object,
- propsViewData: Object
+ propsViewData: Object,
},
data() {
return {
@@ -28,85 +29,134 @@ export default {
isMitarbeiter: false,
isStudent: false,
currentStgBezeichnung: null,
- formData: {
+ formData: {
stgkz: null,
sem: null,
verband: null,
gruppe: null,
},
listStg: [],
- listSem: [1,2,3,4,5,6,7,8,9,10],
+ listSem: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
listVerband: [],
listGroup: [],
- rangeIntervalFirst: null
+ rangeIntervalFirst: null,
};
},
+ inject: ["isMobile"],
computed: {
- maxSemester(){
+ maxSemester() {
const currentStg = this.listStg.find(
- item => item.studiengang_kz === this.formData.stgkz
+ (item) => item.studiengang_kz === this.formData.stgkz,
);
return currentStg?.max_semester;
},
currentDay() {
- if (!this.propsViewData?.focus_date || isNaN(new Date(this.propsViewData?.focus_date)))
- return luxon.DateTime.now().setZone(this.viewData.timezone).toISODate();
+ if (
+ !this.propsViewData?.focus_date ||
+ isNaN(new Date(this.propsViewData?.focus_date))
+ )
+ return luxon.DateTime.now()
+ .setZone(this.viewData.timezone)
+ .toISODate();
return this.propsViewData?.focus_date;
},
currentMode() {
- if (!this.propsViewData?.mode || !['day', 'week', 'month'].includes(this.propsViewData?.mode.toLowerCase()))
- return DEFAULT_MODE_LVPLAN;
+ let validModes = ["day", "month"];
+ validModes.push(this.isMobile ? "list" : "week");
+
+ const defaultMode = this.isMobile
+ ? DEFAULT_MODE_LVPLAN_MOBILE
+ : DEFAULT_MODE_LVPLAN_DESKTOP;
+
+ if (
+ !this.propsViewData?.mode ||
+ !validModes.includes(this.propsViewData?.mode.toLowerCase())
+ )
+ return defaultMode;
return this.propsViewData?.mode;
},
downloadLinks() {
- if (!this.studiensemester_start || !this.studiensemester_ende || !this.uid)
+ if (
+ !this.studiensemester_start ||
+ !this.studiensemester_ende ||
+ !this.uid
+ )
return false;
let type = false;
- type = this.isStudent ? 'student' : type;
- type = this.isMitarbeiter ? 'lektor' : type;
- if (false === type)
- {
+ type = this.isStudent ? "student" : type;
+ type = this.isMitarbeiter ? "lektor" : type;
+ if (false === type) {
return;
}
const opts = { zone: this.viewData.timezone };
- const start = luxon.DateTime
- .fromISO(this.studiensemester_start, opts)
- .toUnixInteger();
- const ende = luxon.DateTime
- .fromISO(this.studiensemester_ende, opts)
- .toUnixInteger();
+ const start = luxon.DateTime.fromISO(
+ this.studiensemester_start,
+ opts,
+ ).toUnixInteger();
+ const ende = luxon.DateTime.fromISO(
+ this.studiensemester_ende,
+ opts,
+ ).toUnixInteger();
- const download_link = FHC_JS_DATA_STORAGE_OBJECT.app_root
- + 'cis/private/lvplan/stpl_kalender.php'
- + '?type=' + type
- + '&pers_uid=' + this.uid
- + '&begin=' + start
- + '&ende=' + ende;
+ const download_link =
+ FHC_JS_DATA_STORAGE_OBJECT.app_root +
+ "cis/private/lvplan/stpl_kalender.php" +
+ "?type=" +
+ type +
+ "&pers_uid=" +
+ this.uid +
+ "&begin=" +
+ start +
+ "&ende=" +
+ ende;
return [
- { title: "excel", icon: 'fa-solid fa-file-excel', link: download_link + '&format=excel' },
- { title: "csv", icon: 'fa-solid fa-file-csv', link: download_link + '&format=csv' },
- { title: "ical1", icon: 'fa-regular fa-calendar', link: download_link + '&format=ical&version=1&target=ical' },
- { title: "ical2", icon: 'fa-regular fa-calendar', link: download_link + '&format=ical&version=2&target=ical' }
+ {
+ title: "excel",
+ icon: "fa-solid fa-file-excel",
+ link: download_link + "&format=excel",
+ },
+ {
+ title: "csv",
+ icon: "fa-solid fa-file-csv",
+ link: download_link + "&format=csv",
+ },
+ {
+ title: "ical1",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=1&target=ical",
+ },
+ {
+ title: "ical2",
+ icon: "fa-regular fa-calendar",
+ link: download_link + "&format=ical&version=2&target=ical",
+ },
];
- }
+ },
},
methods: {
- loadLvPlan(){
- if(!this.formData.stgkz){
- this.$fhcAlert.alertError(this.$p.t('LvPlan', 'chooseStg'));
+ loadLvPlan() {
+ if (!this.formData.stgkz) {
+ this.$fhcAlert.alertError(this.$p.t("LvPlan", "chooseStg"));
return;
}
- if(!this.formData.sem && (this.formData.verband || this.formData.gruppe)){
- this.$fhcAlert.alertError(this.$p.t('LvPlan', 'error_SemMissing'));
+ if (
+ !this.formData.sem &&
+ (this.formData.verband || this.formData.gruppe)
+ ) {
+ this.$fhcAlert.alertError(
+ this.$p.t("LvPlan", "error_SemMissing"),
+ );
return;
}
- if(!this.formData.verband && this.formData.gruppe){
- this.$fhcAlert.alertError(this.$p.t('LvPlan', 'error_VerbandMissing'));
+ if (!this.formData.verband && this.formData.gruppe) {
+ this.$fhcAlert.alertError(
+ this.$p.t("LvPlan", "error_VerbandMissing"),
+ );
return;
}
@@ -120,18 +170,17 @@ export default {
};
//ensure logic: no value after a null value in route
- if(params.sem == null)
- {
+ if (params.sem == null) {
params.verband = null;
params.gruppe = null;
}
- if(params.verband == null) {
+ if (params.verband == null) {
params.gruppe = null;
}
//delete all null values to avoid null in router
Object.keys(params).forEach(
- key => params[key] == null && delete params[key]
+ (key) => params[key] == null && delete params[key],
);
this.$router.push({
@@ -139,37 +188,60 @@ export default {
params,
});
- this.$refs['calendar'].resetEventLoader();
+ this.$refs["calendar"].resetEventLoader();
},
- loadListSem(){
- this.listSem = [...Array(this.maxSemester).keys()].map(i => i + 1);
+ loadListSem() {
+ this.listSem = [...Array(this.maxSemester).keys()].map(
+ (i) => i + 1,
+ );
},
- loadListVerband(){
+ loadListVerband() {
this.$api
- .call(ApiLvPlan.getLehrverband(this.formData.stgkz, this.formData.semester, this.formData.verband))
- .then(result => {
+ .call(
+ ApiLvPlan.getLehrverband(
+ this.formData.stgkz,
+ this.formData.semester,
+ this.formData.verband,
+ ),
+ )
+ .then((result) => {
const data = result.data;
- const mappedData = data.map(item => item.verband);
- this.listVerband = [...new Set(mappedData.filter(v =>
- v !== null &&
- v !== undefined &&
- String(v).trim() !== ""
- ))]
- .sort();
+ const mappedData = data.map((item) => item.verband);
+ this.listVerband = [
+ ...new Set(
+ mappedData.filter(
+ (v) =>
+ v !== null &&
+ v !== undefined &&
+ String(v).trim() !== "",
+ ),
+ ),
+ ].sort();
})
.catch(this.$fhcAlert.handleSystemError);
},
- loadListGroup(){
+ loadListGroup() {
this.$api
- .call(ApiLvPlan.getGruppe(this.formData.stgkz, this.formData.semester, this.formData.verband))
- .then(result => {
+ .call(
+ ApiLvPlan.getGruppe(
+ this.formData.stgkz,
+ this.formData.semester,
+ this.formData.verband,
+ ),
+ )
+ .then((result) => {
const data = result.data;
- const mappedData = data.map(item => item.gruppe);
- this.listGroup = [...new Set(mappedData.filter(v =>
- v !== null &&
- v !== undefined &&
- String(v).trim() !== ""))]
- .sort();
+ const mappedData = data.map((item) => item.gruppe);
+ this.listGroup = [
+ ...new Set(
+ mappedData.filter(
+ (v) =>
+ v !== null &&
+ v !== undefined &&
+ String(v).trim() !== "",
+ ),
+ ),
+ ].sort();
})
.catch(this.$fhcAlert.handleSystemError);
},
@@ -194,42 +266,60 @@ export default {
},
updateRange(rangeInterval) {
this.$api
- .call(ApiLvPlan.studiensemesterDateInterval(
- rangeInterval.end.startOf('week').toISODate()
- ))
- .then(res => {
- this.studiensemester_kurzbz = res.data.studiensemester_kurzbz;
+ .call(
+ ApiLvPlan.studiensemesterDateInterval(
+ rangeInterval.end.startOf("week").toISODate(),
+ ),
+ )
+ .then((res) => {
+ this.studiensemester_kurzbz =
+ res.data.studiensemester_kurzbz;
this.studiensemester_start = res.data.start;
this.studiensemester_ende = res.data.ende;
});
},
getPromiseFunc(start, end) {
return [
- this.$api.call(ApiLvPlan.eventsStgOrg(start, end, this.formData.stgkz, this.formData.sem, this.formData.verband, this.formData.gruppe))
+ this.$api.call(
+ ApiLvPlan.eventsStgOrg(
+ start,
+ end,
+ this.formData.stgkz,
+ this.formData.sem,
+ this.formData.verband,
+ this.formData.gruppe,
+ ),
+ ),
];
},
},
- created(){
- this.$api
- .call(ApiAuthinfo.getAuthInfo())
- .then(res => {
- this.uid = res.data.uid;
- this.isMitarbeiter = res.data.isMitarbeiter;
- this.isStudent = res.data.isStudent;
- });
+ created() {
+ this.$api.call(ApiAuthinfo.getAuthInfo()).then((res) => {
+ this.uid = res.data.uid;
+ this.isMitarbeiter = res.data.isMitarbeiter;
+ this.isStudent = res.data.isStudent;
+ });
this.$api
.call(ApiLvPlan.getStudiengaenge())
- .then(result => {
- this. listStg = result.data;
+ .then((result) => {
+ this.listStg = result.data;
})
.catch(this.$fhcAlert.handleSystemError);
- if(this.propsViewData) {
- this.formData.stgkz = this.propsViewData.stgkz ? this.propsViewData.stgkz: null;
- this.formData.sem = this.propsViewData.sem ? this.propsViewData.sem: null;
- this.formData.verband = this.propsViewData.verband ? this.propsViewData.verband: null;
- this.formData.gruppe = this.propsViewData.gruppe ? this.propsViewData.gruppe: null;
+ if (this.propsViewData) {
+ this.formData.stgkz = this.propsViewData.stgkz
+ ? this.propsViewData.stgkz
+ : null;
+ this.formData.sem = this.propsViewData.sem
+ ? this.propsViewData.sem
+ : null;
+ this.formData.verband = this.propsViewData.verband
+ ? this.propsViewData.verband
+ : null;
+ this.formData.gruppe = this.propsViewData.gruppe
+ ? this.propsViewData.gruppe
+ : null;
}
},
template: `
@@ -331,6 +421,4 @@ export default {
`,
-
-
-};
\ No newline at end of file
+};