mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 06:54:04 +00:00
use new endpoint in frontend, skip next semester spezialgruppen
This commit is contained in:
@@ -78,7 +78,7 @@ class LvTermine extends FHCAPI_Controller
|
||||
if ($function_error)
|
||||
return $function_error;
|
||||
|
||||
$benutzer_gruppen = $this->fetchBenutzerGruppenFromStudiensemester($student_uid, $semester_range);
|
||||
$benutzer_gruppen = $this->fetchBenutzerGruppenFromStudiensemester($student_uid, $semester_range, $nextstudiensemester->studiensemester_kurzbz);
|
||||
if (isError($benutzer_gruppen))
|
||||
return $benutzer_gruppen;
|
||||
$benutzer_gruppen = getData($benutzer_gruppen);
|
||||
@@ -161,8 +161,6 @@ class LvTermine extends FHCAPI_Controller
|
||||
$semesterStud = $data->ausbildungssemester;
|
||||
}
|
||||
|
||||
$ci->addMeta('semester of studentUid', $semesterStud);
|
||||
|
||||
$stundenplan_query = $this->StundenplanModel->getStundenplanQuery(
|
||||
$start_date,
|
||||
$end_date, //will be overwritten in model if $ende_semProlonged
|
||||
@@ -252,7 +250,7 @@ class LvTermine extends FHCAPI_Controller
|
||||
);
|
||||
}
|
||||
|
||||
private function fetchBenutzerGruppenFromStudiensemester($student_uid, $semester_range)
|
||||
private function fetchBenutzerGruppenFromStudiensemester($student_uid, $semester_range, $skip_semester_kurzbz)
|
||||
{
|
||||
$this->load->model('person/Benutzergruppe_model', 'BenutzergruppeModel');
|
||||
|
||||
@@ -271,6 +269,10 @@ class LvTermine extends FHCAPI_Controller
|
||||
// each semester could have ajoint semesters that need to be checked
|
||||
foreach($semester_array as $semester=>$semester_date_range)
|
||||
{
|
||||
if($semester === $skip_semester_kurzbz)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// for each active semester query the benutzer_gruppen associated to the semester
|
||||
$benutzer_query = $this->BenutzergruppeModel->execReadOnlyQuery("
|
||||
SELECT * FROM tbl_benutzergruppe where uid = ? AND studiensemester_kurzbz = ?",[$student_uid, $semester]);
|
||||
|
||||
@@ -599,10 +599,10 @@ EOSQL;
|
||||
// converts the array of gruppen strings into a sql IN (_,_,_) chain
|
||||
$groups = implode(', ', $gruppen[$sem_date]);
|
||||
$spezgrpclauses[] = <<<EOSPEZGRP
|
||||
(
|
||||
sp.gruppe_kurzbz IN ({$groups})
|
||||
AND sp.datum BETWEEN {$this->escape($sem_date_range->start)} AND {$this->escape($sem_date_range->ende)}
|
||||
)
|
||||
(
|
||||
sp.gruppe_kurzbz IN ({$groups})
|
||||
AND sp.datum BETWEEN {$this->escape($sem_date_range->start)} AND {$this->escape($sem_date_range->ende)}
|
||||
)
|
||||
EOSPEZGRP;
|
||||
|
||||
}
|
||||
@@ -650,7 +650,7 @@ EOSQL;
|
||||
|
||||
$lvbdclauses = $this->genLehrverbandClauses($semester, $studentlehrverbaende);
|
||||
$spezgrpclauses = $this->genSpezialgruppenClauses($semester, $gruppen);
|
||||
$chainingand = ($lvbdclauses && $spezgrpclauses) ? 'AND' : '';
|
||||
$chainingor = ($lvbdclauses && $spezgrpclauses) ? 'OR' : '';
|
||||
|
||||
$query = <<<EOSQL
|
||||
with preprocessedsp as (
|
||||
@@ -673,7 +673,7 @@ EOSQL;
|
||||
preprocessedsp sp
|
||||
where
|
||||
{$lvbdclauses}
|
||||
{$chainingand}
|
||||
{$chainingor}
|
||||
{$spezgrpclauses}
|
||||
)
|
||||
|
||||
|
||||
@@ -26,6 +26,15 @@ export default {
|
||||
+ encodeURIComponent(true)
|
||||
};
|
||||
},
|
||||
getCourselistByStudiensemester(student_uid, studiensemester_kurzbz, stundenplan) {
|
||||
return {
|
||||
method: 'get',
|
||||
url: 'api/frontend/v1/stv/LvTermine/getStundenplanForStudiensemester/' + encodeURIComponent(student_uid) + '/'
|
||||
+ encodeURIComponent(studiensemester_kurzbz) + '/'
|
||||
+ encodeURIComponent(stundenplan) + '/'
|
||||
+ encodeURIComponent(true)
|
||||
};
|
||||
},
|
||||
exportCalendar(student_uid, stundenplan)
|
||||
{
|
||||
return FHC_JS_DATA_STORAGE_OBJECT.app_root + 'content/statistik/termine.xls.php?student_uid=' + encodeURIComponent(student_uid) + '&db_stpl_table='+encodeURIComponent(stundenplan);
|
||||
|
||||
+2
-1
@@ -54,7 +54,8 @@ export default {
|
||||
initTabulatorOptions(){
|
||||
this.tabulatorOptions = {
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: () => this.$api.call(this.endpoint.getCourselist(this.id, this.dataSem.start, this.dataSem.ende, this.dbStundenplanTable)),
|
||||
//ajaxRequestFunc: () => this.$api.call(this.endpoint.getCourselist(this.id, this.dataSem.start, this.dataSem.ende, this.dbStundenplanTable)),
|
||||
ajaxRequestFunc: () => this.$api.call(this.endpoint.getCourselistByStudiensemester(this.id, this.currentSemester, this.dbStundenplanTable)),
|
||||
ajaxResponse: (url, params, response) => {
|
||||
return response.data;
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user