abgabetool api/controller refactor; quality gates dbupdate script; load types from backend instead of hardcoded; WIP email check for externe betreuer;

This commit is contained in:
Johann Hoffmann
2025-08-22 14:40:58 +02:00
parent ad83228396
commit 483662726d
11 changed files with 805 additions and 667 deletions
+96
View File
@@ -0,0 +1,96 @@
export default {
getStudentProjektarbeiten(uid) {
return {
method: 'get',
url: '/api/frontend/v1/Abgabe/getStudentProjektarbeiten',
params: { uid }
};
},
getStudentProjektabgaben(detail) {
return {
method: 'get',
url: '/api/frontend/v1/Abgabe/getStudentProjektabgaben',
params: { projektarbeit_id: detail.projektarbeit_id, student_uid: detail.student_uid }
};
},
postStudentProjektarbeitEndupload(formData) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/postStudentProjektarbeitEndupload',
params: { formData },
config: {Headers: { "Content-Type": "multipart/form-data" }}
};
// const url = '/api/frontend/v1/Lehre/postStudentProjektarbeitEndupload';
// const headers = {Headers: { "Content-Type": "multipart/form-data" }}
// return this.$fhcApi.post(url, formData, headers)
},
postStudentProjektarbeitZwischenabgabe(formData) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/postStudentProjektarbeitZwischenabgabe',
params: { formData },
config: {Headers: { "Content-Type": "multipart/form-data" }}
};
// const url = '/api/frontend/v1/Lehre/postStudentProjektarbeitZwischenabgabe';
// const headers = {Headers: { "Content-Type": "multipart/form-data" }}
// return this.$fhcApi.post(url, formData, headers)
},
getStudentProjektarbeitAbgabeFile(paabgabe_id, student_uid) {
// TODO: check if this is fine with new api scheme
const url = `/Cis/Abgabetool/getStudentProjektarbeitAbgabeFile?paabgabe_id=${paabgabe_id}&student_uid=${student_uid}`;
window.location = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + url
},
getMitarbeiterProjektarbeiten(all) {
return {
method: 'get',
url: '/api/frontend/v1/Abgabe/getMitarbeiterProjektarbeiten',
params: { showall: all }
};
},
postProjektarbeitAbgabe(termin) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/postProjektarbeitAbgabe',
params: {
paabgabe_id: termin.paabgabe_id,
paabgabetyp_kurzbz: termin.bezeichnung.paabgabetyp_kurzbz,
datum: termin.datum,
fixtermin: termin.fixtermin,
insertvon: termin.insertvon,
kurzbz: termin.kurzbz,
projektarbeit_id: termin.projektarbeit_id
}
};
},
deleteProjektarbeitAbgabe(paabgabe_id) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/deleteProjektarbeitAbgabe',
params: { paabgabe_id }
};
},
postSerientermin(datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/postSerientermin',
params: { datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids }
};
},
fetchDeadlines(person_id) {
return {
method: 'post',
url: '/api/frontend/v1/Abgabe/fetchDeadlines',
params: { person_id }
};
},
getPaAbgabetypen() {
return {
method: 'get',
url: '/api/frontend/v1/Abgabe/getPaAbgabetypen'
};
}
};
-75
View File
@@ -18,80 +18,5 @@ export default {
`/api/frontend/v1/Lehre/Pruefungen/${lehrveranstaltung_id}`
, {}
);
},
getStudentProjektarbeiten(uid) {
return this.$fhcApi.get(
`/api/frontend/v1/Lehre/getStudentProjektarbeiten/${uid}`
, {}
);
},
getStudentProjektabgaben(detail) {
return this.$fhcApi.get(
`/api/frontend/v1/Lehre/getStudentProjektabgaben`
, {
projektarbeit_id: detail.projektarbeit_id,
student_uid: detail.student_uid
}
);
},
postStudentProjektarbeitEndupload(formData) {
const url = '/api/frontend/v1/Lehre/postStudentProjektarbeitEndupload';
const headers = {Headers: { "Content-Type": "multipart/form-data" }}
return this.$fhcApi.post(url, formData, headers)
},
postStudentProjektarbeitZwischenabgabe(formData) {
const url = '/api/frontend/v1/Lehre/postStudentProjektarbeitZwischenabgabe';
const headers = {Headers: { "Content-Type": "multipart/form-data" }}
return this.$fhcApi.post(url, formData, headers)
},
getStudentProjektarbeitAbgabeFile(paabgabe_id, student_uid) {
const url = `/Cis/Abgabetool/getStudentProjektarbeitAbgabeFile?paabgabe_id=${paabgabe_id}&student_uid=${student_uid}`;
window.location = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + url
},
getMitarbeiterProjektarbeiten(uid, all) {
return this.$fhcApi.get(
`/api/frontend/v1/Lehre/getMitarbeiterProjektarbeiten?showall=${all}`
, {}
);
},
postProjektarbeitAbgabe(termin) {
const payload = {
paabgabe_id: termin.paabgabe_id,
paabgabetyp_kurzbz: termin.bezeichnung.paabgabetyp_kurzbz,
datum: termin.datum,
fixtermin: termin.fixtermin,
insertvon: termin.insertvon,
kurzbz: termin.kurzbz,
projektarbeit_id: termin.projektarbeit_id
}
const url = '/api/frontend/v1/Lehre/postProjektarbeitAbgabe';
return this.$fhcApi.post(url, payload, null)
},
deleteProjektarbeitAbgabe(paabgabe_id) {
const payload = {
paabgabe_id
}
const url = '/api/frontend/v1/Lehre/deleteProjektarbeitAbgabe';
return this.$fhcApi.post(url, payload, null)
},
postSerientermin(datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids) {
const payload = {
datum, paabgabetyp_kurzbz, bezeichnung, kurzbz, projektarbeit_ids
}
const url = '/api/frontend/v1/Lehre/postSerientermin';
return this.$fhcApi.post(url, payload, null)
},
fetchDeadlines(person_id) {
const payload = {
person_id
}
const url = '/api/frontend/v1/Lehre/fetchDeadlines';
return this.$fhcApi.post(url, payload, null)
}
}