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)
|
if ($function_error)
|
||||||
return $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))
|
if (isError($benutzer_gruppen))
|
||||||
return $benutzer_gruppen;
|
return $benutzer_gruppen;
|
||||||
$benutzer_gruppen = getData($benutzer_gruppen);
|
$benutzer_gruppen = getData($benutzer_gruppen);
|
||||||
@@ -161,8 +161,6 @@ class LvTermine extends FHCAPI_Controller
|
|||||||
$semesterStud = $data->ausbildungssemester;
|
$semesterStud = $data->ausbildungssemester;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ci->addMeta('semester of studentUid', $semesterStud);
|
|
||||||
|
|
||||||
$stundenplan_query = $this->StundenplanModel->getStundenplanQuery(
|
$stundenplan_query = $this->StundenplanModel->getStundenplanQuery(
|
||||||
$start_date,
|
$start_date,
|
||||||
$end_date, //will be overwritten in model if $ende_semProlonged
|
$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');
|
$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
|
// each semester could have ajoint semesters that need to be checked
|
||||||
foreach($semester_array as $semester=>$semester_date_range)
|
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
|
// for each active semester query the benutzer_gruppen associated to the semester
|
||||||
$benutzer_query = $this->BenutzergruppeModel->execReadOnlyQuery("
|
$benutzer_query = $this->BenutzergruppeModel->execReadOnlyQuery("
|
||||||
SELECT * FROM tbl_benutzergruppe where uid = ? AND studiensemester_kurzbz = ?",[$student_uid, $semester]);
|
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
|
// converts the array of gruppen strings into a sql IN (_,_,_) chain
|
||||||
$groups = implode(', ', $gruppen[$sem_date]);
|
$groups = implode(', ', $gruppen[$sem_date]);
|
||||||
$spezgrpclauses[] = <<<EOSPEZGRP
|
$spezgrpclauses[] = <<<EOSPEZGRP
|
||||||
(
|
(
|
||||||
sp.gruppe_kurzbz IN ({$groups})
|
sp.gruppe_kurzbz IN ({$groups})
|
||||||
AND sp.datum BETWEEN {$this->escape($sem_date_range->start)} AND {$this->escape($sem_date_range->ende)}
|
AND sp.datum BETWEEN {$this->escape($sem_date_range->start)} AND {$this->escape($sem_date_range->ende)}
|
||||||
)
|
)
|
||||||
EOSPEZGRP;
|
EOSPEZGRP;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -650,7 +650,7 @@ EOSQL;
|
|||||||
|
|
||||||
$lvbdclauses = $this->genLehrverbandClauses($semester, $studentlehrverbaende);
|
$lvbdclauses = $this->genLehrverbandClauses($semester, $studentlehrverbaende);
|
||||||
$spezgrpclauses = $this->genSpezialgruppenClauses($semester, $gruppen);
|
$spezgrpclauses = $this->genSpezialgruppenClauses($semester, $gruppen);
|
||||||
$chainingand = ($lvbdclauses && $spezgrpclauses) ? 'AND' : '';
|
$chainingor = ($lvbdclauses && $spezgrpclauses) ? 'OR' : '';
|
||||||
|
|
||||||
$query = <<<EOSQL
|
$query = <<<EOSQL
|
||||||
with preprocessedsp as (
|
with preprocessedsp as (
|
||||||
@@ -673,7 +673,7 @@ EOSQL;
|
|||||||
preprocessedsp sp
|
preprocessedsp sp
|
||||||
where
|
where
|
||||||
{$lvbdclauses}
|
{$lvbdclauses}
|
||||||
{$chainingand}
|
{$chainingor}
|
||||||
{$spezgrpclauses}
|
{$spezgrpclauses}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,15 @@ export default {
|
|||||||
+ encodeURIComponent(true)
|
+ 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)
|
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);
|
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(){
|
initTabulatorOptions(){
|
||||||
this.tabulatorOptions = {
|
this.tabulatorOptions = {
|
||||||
ajaxURL: 'dummy',
|
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) => {
|
ajaxResponse: (url, params, response) => {
|
||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user