diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index ebfd1db37..d1ce87422 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -315,22 +315,15 @@ WHERE tpl.app = '.$APP.' ) pl USING(person_id) LEFT JOIN ( - SELECT + SELECT DISTINCT ON (tbl_rueckstellung.person_id) tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis, tbl_rueckstellung.status_kurzbz, array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung FROM public.tbl_rueckstellung JOIN public.tbl_rueckstellung_status USING(status_kurzbz) - JOIN public.tbl_person sp ON tbl_rueckstellung.person_id = sp.person_id - WHERE tbl_rueckstellung.rueckstellung_id = - ( - SELECT srueck.rueckstellung_id - FROM public.tbl_rueckstellung srueck - WHERE srueck.person_id = tbl_rueckstellung.person_id - AND datum_bis >= NOW() - ORDER BY srueck.datum_bis DESC LIMIT 1 - ) + WHERE tbl_rueckstellung.datum_bis >= NOW() + ORDER BY tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis DESC ) rueck ON rueck.person_id = p.person_id WHERE EXISTS ( diff --git a/application/views/system/infocenter/onboardingData.php b/application/views/system/infocenter/onboardingData.php index 5ee66fdde..bf126f283 100644 --- a/application/views/system/infocenter/onboardingData.php +++ b/application/views/system/infocenter/onboardingData.php @@ -24,22 +24,15 @@ $query = ' WHERE tpl.app = '.$APP.' ) pl ON p.person_id = pl.person_id LEFT JOIN ( - SELECT + SELECT DISTINCT ON (tbl_rueckstellung.person_id) tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis, tbl_rueckstellung.status_kurzbz, array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung FROM public.tbl_rueckstellung - JOIN public.tbl_rueckstellung_status USING(status_kurzbz) - JOIN public.tbl_person sp ON tbl_rueckstellung.person_id = sp.person_id - WHERE tbl_rueckstellung.rueckstellung_id = - ( - SELECT srueck.rueckstellung_id - FROM public.tbl_rueckstellung srueck - WHERE srueck.person_id = tbl_rueckstellung.person_id - AND datum_bis >= NOW() - ORDER BY srueck.datum_bis DESC LIMIT 1 - ) + JOIN public.tbl_rueckstellung_status USING(status_kurzbz) + WHERE tbl_rueckstellung.datum_bis >= NOW() + ORDER BY tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis DESC ) rueck ON rueck.person_id = p.person_id WHERE p.person_id NOT IN (SELECT person_id FROM public.tbl_prestudent)'; diff --git a/cis/testtool/login.php b/cis/testtool/login.php index c909bcd4f..60447ee52 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -142,9 +142,9 @@ if (isset($_REQUEST['prestudent'])) } if ($reihungstest_id != '' && $rt->load($reihungstest_id)) { - $pruefling_registered = new Pruefling(); - $registered = $pruefling_registered->personRegisteredRT($ps->person_id, $rt->reihungstest_id, $ps->prestudent_id); - if ($rt->freigeschaltet && $registered) + $pruefling_exist = new Pruefling(); + $alreadyInRT = $pruefling_exist->personAlreadyInRT($ps->person_id, $rt->reihungstest_id, $ps->prestudent_id); + if ($rt->freigeschaltet && !$alreadyInRT) { // regenerate Session ID after Login session_regenerate_id(); @@ -284,7 +284,7 @@ if (isset($_REQUEST['prestudent'])) } else { - if (!$registered) + if ($alreadyInRT) { $alertmsg .= '