mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 17:02:19 +00:00
Studierendenverwaltung Projektarbeit: added Studiensemester dropdown for Lv-Teil
This commit is contained in:
@@ -17,7 +17,8 @@ class Projektarbeit extends FHCAPI_Controller
|
||||
'getTypenProjektarbeit' => ['admin:r', 'assistenz:r'],
|
||||
'getFirmen' => ['admin:r', 'assistenz:r'],
|
||||
'getLehrveranstaltungen' => ['admin:r', 'assistenz:r'],
|
||||
'getNoten' => ['admin:r', 'assistenz:r']
|
||||
'getNoten' => ['admin:r', 'assistenz:r'],
|
||||
'getStudiensemester' => ['admin:r', 'assistenz:r']
|
||||
]);
|
||||
|
||||
// Load Libraries
|
||||
@@ -40,6 +41,7 @@ class Projektarbeit extends FHCAPI_Controller
|
||||
$this->load->model('ressource/Mitarbeiter_model', 'MitarbeiterModel');
|
||||
$this->load->model('education/Note_model', 'NoteModel');
|
||||
$this->load->model('education/Projektbetreuer_model', 'BetreuerModel');
|
||||
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
|
||||
|
||||
// load libraries
|
||||
$this->load->library('PermissionLib');
|
||||
@@ -259,6 +261,16 @@ class Projektarbeit extends FHCAPI_Controller
|
||||
return $this->terminateWithSuccess(hasData($result) ? getData($result) : []);
|
||||
}
|
||||
|
||||
public function getStudiensemester()
|
||||
{
|
||||
$this->StudiensemesterModel->addOrder('start', 'DESC');
|
||||
$result = $this->StudiensemesterModel->load();
|
||||
|
||||
if (isError($result)) return $this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
|
||||
return $this->terminateWithSuccess(hasData($result) ? getData($result) : []);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param
|
||||
|
||||
@@ -49,6 +49,12 @@ export default {
|
||||
url: 'api/frontend/v1/stv/projektarbeit/getNoten'
|
||||
};
|
||||
},
|
||||
getStudiensemester() {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/projektarbeit/getStudiensemester'
|
||||
};
|
||||
},
|
||||
loadProjektarbeit(projektarbeit_id) {
|
||||
return {
|
||||
method: 'get',
|
||||
|
||||
@@ -69,10 +69,13 @@ export default {
|
||||
final: true,
|
||||
anmerkung: null
|
||||
},
|
||||
studiensemester: null,
|
||||
arrTypen: [],
|
||||
arrFirmen: [],
|
||||
arrLvs: [],
|
||||
arrNoten: [],
|
||||
arrStudiensemester: [],
|
||||
additional_lehrveranstaltung_id: null,
|
||||
filteredFirmen: [],
|
||||
abortController: {
|
||||
firma: null
|
||||
@@ -103,7 +106,11 @@ export default {
|
||||
this.formData.anmerkung = null;
|
||||
this.$refs.formDetails.clearValidation();
|
||||
},
|
||||
getFormData(statusNew, studiensemester_kurzbz, additional_lehrveranstaltung_id) {
|
||||
getFormData(newProjektarbeit, studiensemester_kurzbz, additional_lehrveranstaltung_id) {
|
||||
|
||||
this.additional_lehrveranstaltung_id = additional_lehrveranstaltung_id;
|
||||
this.studiensemester = studiensemester_kurzbz || this.defaultSemester;
|
||||
this.newProjektarbeit = newProjektarbeit;
|
||||
|
||||
this.$api
|
||||
.call(ApiStvProjektarbeit.getTypenProjektarbeit())
|
||||
@@ -112,18 +119,7 @@ export default {
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
|
||||
this.$api
|
||||
.call(ApiStvProjektarbeit.getLehrveranstaltungen(
|
||||
this.student.uid,
|
||||
statusNew ? this.student.studiengang_kz : null,
|
||||
studiensemester_kurzbz ?? this.defaultSemester,
|
||||
additional_lehrveranstaltung_id
|
||||
))
|
||||
.then(result => {
|
||||
this.arrLvs = result.data
|
||||
}
|
||||
)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
this.getLehrveranstaltungen();
|
||||
|
||||
this.$api
|
||||
.call(ApiStvProjektarbeit.getNoten())
|
||||
@@ -132,7 +128,14 @@ export default {
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
|
||||
if (statusNew) this.resetForm();
|
||||
this.$api
|
||||
.call(ApiStvProjektarbeit.getStudiensemester())
|
||||
.then(result => {
|
||||
this.arrStudiensemester = result.data;
|
||||
})
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
|
||||
if (this.newProjektarbeit) this.resetForm();
|
||||
},
|
||||
loadProjektarbeit(projektarbeit_id) {
|
||||
|
||||
@@ -178,6 +181,24 @@ export default {
|
||||
this.filteredFirmen = result.data;
|
||||
});
|
||||
},
|
||||
getLehrveranstaltungen() {
|
||||
return this.$api
|
||||
.call(ApiStvProjektarbeit.getLehrveranstaltungen(
|
||||
this.student.uid,
|
||||
this.newProjektarbeit ? this.student.studiengang_kz : null,
|
||||
this.studiensemester,
|
||||
this.additional_lehrveranstaltung_id
|
||||
))
|
||||
.then(result => {
|
||||
this.arrLvs = result.data
|
||||
}
|
||||
)
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
studiensemesterChanged() {
|
||||
this.formData.lehreinheit_id = null;
|
||||
this.getLehrveranstaltungen();
|
||||
},
|
||||
lvChanged(event) {
|
||||
this.formData.lehreinheit_id = null;
|
||||
},
|
||||
@@ -281,7 +302,7 @@ export default {
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
container-class="stv-details-projektarbeit-lv"
|
||||
container-class="stv-details-projektarbeit-lv col-10"
|
||||
:label="$p.t('projektarbeit', 'lehrveranstaltung')"
|
||||
type="select"
|
||||
v-model="formData.lehrveranstaltung_id"
|
||||
@@ -297,6 +318,23 @@ export default {
|
||||
{{lv.bezeichnung + (lv.orgform_kurzbz ? ' ' + lv.orgform_kurzbz : '') + ' (' + lv.semester + ' Sem) ID: ' + lv.lehrveranstaltung_id}}
|
||||
</option>
|
||||
</form-input>
|
||||
<form-input
|
||||
container-class="col-2"
|
||||
:label="$p.t('lehre', 'studiensemester')"
|
||||
type="select"
|
||||
v-model="studiensemester"
|
||||
name="studiensemester"
|
||||
@change="studiensemesterChanged"
|
||||
>
|
||||
<option :value="null"> -- {{$p.t('fehlermonitoring', 'keineAuswahl')}} -- </option>
|
||||
<option
|
||||
v-for="sem in arrStudiensemester"
|
||||
:key="sem.studiensemester_kurzbz"
|
||||
:value="sem.studiensemester_kurzbz"
|
||||
>
|
||||
{{sem.studiensemester_kurzbz}}
|
||||
</option>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
|
||||
@@ -258,7 +258,7 @@ export default {
|
||||
this.statusNew = true;
|
||||
this.editedProjektarbeit = null;
|
||||
this.toggleMenu('details');
|
||||
this.$refs.projektarbeitDetails.getFormData(this.statusNew);
|
||||
this.$refs.projektarbeitDetails.getFormData(this.statusNew, null, null);
|
||||
this.$refs.projektarbeitModal.show();
|
||||
},
|
||||
actionEditProjektarbeit() {
|
||||
|
||||
Reference in New Issue
Block a user