Separated Bachelor and Masters on testtool

Now if the logged-in prestudents study is a Bachelor-study, all other Bachelor studies he might have applied for, are displayed. Also the testing areas (gebiete) are shown only for that Bachelor studies.

If the logged-in prestudents study is a Master (or something else than a Bachelor), only that one particular Master study is displayed on the starting page.  The testing areas are shown only for that one particular Master study.
This commit is contained in:
Cris
2019-03-12 18:03:24 +01:00
parent 0b5f9f51f7
commit 991ca747d1
2 changed files with 71 additions and 7 deletions
+44 -5
View File
@@ -19,6 +19,7 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Manfred Kindl <manfred.kindl@technikum-wien.at>
* Cristina Hainberger <hainberg@technikum-wien.at>
*/
require_once('../../config/cis.config.inc.php');
@@ -356,22 +357,60 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
// STG mit der höchsten Prio ermitteln
$ps = new Prestudent();
$ps->getActualInteressenten($prestudent_id, true);
$firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz');
$firstPrio_studiengang_kz = array_shift($firstPrio_studiengang_kz);
// * wenn STG des eingeloggten Prestudenten vom Typ Bachelor ist, dann höchste Prio aller
// Bachelor-STG ermitteln, an denen die Person noch interessiert ist
if ($typ->typ == 'b')
{
$ps->getActualInteressenten($prestudent_id, true, 'b');
$firstPrio_studiengang_kz = array_column($ps->result, 'studiengang_kz');
$firstPrio_studiengang_kz = array_shift($firstPrio_studiengang_kz);
}
// * sonst STG der session übernehmem
else
{
$firstPrio_studiengang_kz = $prestudent->studiengang_kz;
}
// Sprachwahl zu STG mit höchster Prio ermitteln
$ablauf = new Ablauf();
$ablauf->getAblaufVorgabeStudiengang($firstPrio_studiengang_kz);
$sprachwahl = $ablauf->result[0]->sprachwahl;
//Prestudent Informationen und Logout
//Prestudent Informationen und Logout
echo '<form method="GET">';
echo '<br>'.$p->t('testtool/begruessungstext').' <br/><br/>';
echo '<b>'.$p->t('zeitaufzeichnung/id').'</b>: '.$_SESSION['prestudent_id'].'<br/>';
echo '<b>'.$p->t('global/name').'</b>: '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'<br/>';
echo '<b>'.$p->t('global/geburtsdatum').'</b>: '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'<br/>';
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
// * wenn Prestudent an mehreren Bachelor-Studiengängen interessiert ist, dann alle STG anführen
if ($typ->typ == 'b')
{
$ps_arr = new Prestudent();
$ps_arr->getActualInteressenten($prestudent_id, false, 'b');
if (count($ps_arr->result) > 1)
{
echo '<b>'.$p->t('global/studiengang'). "</b>: <br><br>";
foreach ($ps_arr->result as $ps_obj)
{
$stg = new Studiengang($ps_obj->studiengang_kz);
echo "<li>". $ps_obj->typ_bz .' '. ($sprache_user == 'English' ? $stg->english : $stg->bezeichnung). '<br/>'. "</li>";
}
echo "<br>";
}
// * wenn Prestudent nur an einem Bachelor-Studiengang interessiert ist, dann nur den einen STG anführen
else
{
echo '<b>'.$p->t('global/studiengang').'</b>: '. $typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
}
}
// * wenn Prestudent an einem Master-Studiengang interessiert ist, dann nur den einen STG anführen
else
{
echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>';
}
echo '<INPUT type="submit" value="Logout" name="logout" />';
echo '</form>';
echo '<br><br>';
+27 -2
View File
@@ -26,6 +26,7 @@ require_once('../../config/global.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/sprache.class.php');
require_once '../../include/phrasen.class.php';
require_once '../../include/studiengang.class.php';
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
@@ -100,7 +101,10 @@ if (isset($_SESSION['pruefling_id']))
echo '<tr><td style="padding-left: 20px;"><a href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a></td></tr>';
echo '<tr><td>&nbsp;</td></tr>';
echo '<tr><td style="padding-left: 20px;" nowrap>';
$studiengang_kz = (isset($_SESSION['studiengang_kz'])) ? $_SESSION['studiengang_kz'] : '';
$stg = new Studiengang($studiengang_kz);
$sprache_mehrsprachig = new sprache();
$bezeichnung_mehrsprachig = $sprache_mehrsprachig->getSprachQuery('bezeichnung_mehrsprachig');
@@ -130,11 +134,17 @@ if (isset($_SESSION['pruefling_id']))
prestudent_id,
studienplan_id,
studiengang_kz,
typ,
tbl_studiengangstyp.bezeichnung AS typ_bz,
ausbildungssemester AS semester
FROM
public.tbl_prestudentstatus
JOIN
public.tbl_prestudent USING (prestudent_id)
JOIN
public.tbl_studiengang USING (studiengang_kz)
JOIN
public.tbl_studiengangstyp USING (typ)
WHERE
tbl_prestudent.person_id = (
SELECT
@@ -157,7 +167,22 @@ if (isset($_SESSION['pruefling_id']))
)
AND
status_kurzbz = 'Interessent'
status_kurzbz = 'Interessent'";
/* If the logged-in prestudents study is a Bachelor-study, filter only Bachelor-studies */
if ($stg->typ == 'b')
{
$qry .= "
AND tbl_studiengang.typ = 'b'";
}
/* If the logged-in prestudents study is NOT a Bachelor-study, get only the specific study */
else
{
$qry .= "
AND tbl_studiengang.studiengang_kz = ". $studiengang_kz;
}
$qry .= "
-- Order to get last semester when using distinct on
ORDER BY