mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'feature-75888/reihungstest_mehrfachdurchfuehrung' into rc_reihungstest
This commit is contained in:
@@ -315,22 +315,15 @@
|
|||||||
WHERE tpl.app = '.$APP.'
|
WHERE tpl.app = '.$APP.'
|
||||||
) pl USING(person_id)
|
) pl USING(person_id)
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT DISTINCT ON (tbl_rueckstellung.person_id)
|
||||||
tbl_rueckstellung.person_id,
|
tbl_rueckstellung.person_id,
|
||||||
tbl_rueckstellung.datum_bis,
|
tbl_rueckstellung.datum_bis,
|
||||||
tbl_rueckstellung.status_kurzbz,
|
tbl_rueckstellung.status_kurzbz,
|
||||||
array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung
|
array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung
|
||||||
FROM public.tbl_rueckstellung
|
FROM public.tbl_rueckstellung
|
||||||
JOIN public.tbl_rueckstellung_status USING(status_kurzbz)
|
JOIN public.tbl_rueckstellung_status USING(status_kurzbz)
|
||||||
JOIN public.tbl_person sp ON tbl_rueckstellung.person_id = sp.person_id
|
WHERE tbl_rueckstellung.datum_bis >= NOW()
|
||||||
WHERE tbl_rueckstellung.rueckstellung_id =
|
ORDER BY tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis DESC
|
||||||
(
|
|
||||||
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
|
|
||||||
)
|
|
||||||
) rueck ON rueck.person_id = p.person_id
|
) rueck ON rueck.person_id = p.person_id
|
||||||
WHERE
|
WHERE
|
||||||
EXISTS (
|
EXISTS (
|
||||||
|
|||||||
@@ -24,22 +24,15 @@ $query = '
|
|||||||
WHERE tpl.app = '.$APP.'
|
WHERE tpl.app = '.$APP.'
|
||||||
) pl ON p.person_id = pl.person_id
|
) pl ON p.person_id = pl.person_id
|
||||||
LEFT JOIN (
|
LEFT JOIN (
|
||||||
SELECT
|
SELECT DISTINCT ON (tbl_rueckstellung.person_id)
|
||||||
tbl_rueckstellung.person_id,
|
tbl_rueckstellung.person_id,
|
||||||
tbl_rueckstellung.datum_bis,
|
tbl_rueckstellung.datum_bis,
|
||||||
tbl_rueckstellung.status_kurzbz,
|
tbl_rueckstellung.status_kurzbz,
|
||||||
array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung
|
array_to_json(bezeichnung_mehrsprachig::varchar[])->>0 as bezeichnung
|
||||||
FROM public.tbl_rueckstellung
|
FROM public.tbl_rueckstellung
|
||||||
JOIN public.tbl_rueckstellung_status USING(status_kurzbz)
|
JOIN public.tbl_rueckstellung_status USING(status_kurzbz)
|
||||||
JOIN public.tbl_person sp ON tbl_rueckstellung.person_id = sp.person_id
|
WHERE tbl_rueckstellung.datum_bis >= NOW()
|
||||||
WHERE tbl_rueckstellung.rueckstellung_id =
|
ORDER BY tbl_rueckstellung.person_id, tbl_rueckstellung.datum_bis DESC
|
||||||
(
|
|
||||||
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
|
|
||||||
)
|
|
||||||
) rueck ON rueck.person_id = p.person_id
|
) rueck ON rueck.person_id = p.person_id
|
||||||
WHERE p.person_id NOT IN (SELECT person_id FROM public.tbl_prestudent)';
|
WHERE p.person_id NOT IN (SELECT person_id FROM public.tbl_prestudent)';
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -142,7 +142,9 @@ if (isset($_REQUEST['prestudent']))
|
|||||||
}
|
}
|
||||||
if ($reihungstest_id != '' && $rt->load($reihungstest_id))
|
if ($reihungstest_id != '' && $rt->load($reihungstest_id))
|
||||||
{
|
{
|
||||||
if ($rt->freigeschaltet)
|
$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
|
// regenerate Session ID after Login
|
||||||
session_regenerate_id();
|
session_regenerate_id();
|
||||||
@@ -281,10 +283,17 @@ if (isset($_REQUEST['prestudent']))
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if ($alreadyInRT)
|
||||||
|
{
|
||||||
|
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestNichtRegistriert').'</div>';
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</div>';
|
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</div>';
|
$alertmsg .= '<div class="alert alert-danger">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</div>';
|
||||||
|
|||||||
@@ -584,6 +584,32 @@ class pruefling extends basis_db
|
|||||||
|
|
||||||
$qry .= " LIMIT 1";
|
$qry .= " LIMIT 1";
|
||||||
|
|
||||||
|
if($result = $this->db_query($qry))
|
||||||
|
{
|
||||||
|
if ($this->db_num_rows($result) == 0)
|
||||||
|
return false;
|
||||||
|
else
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public function personAlreadyInRT($person_id, $reihungstest_id, $prestudent_id)
|
||||||
|
{
|
||||||
|
$qry = "SELECT tbl_prestudent.prestudent_id
|
||||||
|
FROM public.tbl_rt_person
|
||||||
|
JOIN public.tbl_prestudent ON tbl_prestudent.person_id = tbl_rt_person.person_id
|
||||||
|
JOIN public.tbl_prestudentstatus ON tbl_prestudent.prestudent_id = tbl_prestudentstatus.prestudent_id AND status_kurzbz = 'Bewerber'
|
||||||
|
AND tbl_prestudentstatus.studienplan_id = tbl_rt_person.studienplan_id
|
||||||
|
WHERE tbl_rt_person.person_id = " . $this->db_add_param($person_id) . "
|
||||||
|
AND tbl_rt_person.rt_id = " . $this->db_add_param($reihungstest_id) . "
|
||||||
|
AND tbl_prestudent.prestudent_id != " . $this->db_add_param($prestudent_id) . "
|
||||||
|
AND get_rolle_prestudent(tbl_prestudent.prestudent_id, NULL) = 'Bewerber'
|
||||||
|
LIMIT 1";
|
||||||
|
|
||||||
if($result = $this->db_query($qry))
|
if($result = $this->db_query($qry))
|
||||||
{
|
{
|
||||||
if ($this->db_num_rows($result) == 0)
|
if ($this->db_num_rows($result) == 0)
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ $this->phrasen['testtool/basic']='Basic';
|
|||||||
$this->phrasen['testtool/basisgebiete']='Basisgebiete';
|
$this->phrasen['testtool/basisgebiete']='Basisgebiete';
|
||||||
$this->phrasen['testtool/semester']='Semester';
|
$this->phrasen['testtool/semester']='Semester';
|
||||||
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
|
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet';
|
||||||
|
$this->phrasen['testtool/reihungstestNichtRegistriert']='Sie sind für den Reihungstest nicht registriert';
|
||||||
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden. Melden Sie sich bitte bei der Reihungstestaufsicht.';
|
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden. Melden Sie sich bitte bei der Reihungstestaufsicht.';
|
||||||
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
|
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson';
|
||||||
$this->phrasen['testtool/home']='Home';
|
$this->phrasen['testtool/home']='Home';
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ $this->phrasen['testtool/basic']='Basic';
|
|||||||
$this->phrasen['testtool/basisgebiete']='Basic test';
|
$this->phrasen['testtool/basisgebiete']='Basic test';
|
||||||
$this->phrasen['testtool/semester']='Semester';
|
$this->phrasen['testtool/semester']='Semester';
|
||||||
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.';
|
$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.';
|
||||||
|
$this->phrasen['testtool/reihungstestNichtRegistriert']='You are not registered for the placement test.';
|
||||||
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The placement test you are assigned to could not be loaded. Please contact the placement test supervisior.';
|
$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The placement test you are assigned to could not be loaded. Please contact the placement test supervisior.';
|
||||||
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. ';
|
$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. ';
|
||||||
$this->phrasen['testtool/home']='Home';
|
$this->phrasen['testtool/home']='Home';
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php');
|
|||||||
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
|
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
|
||||||
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
|
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
|
||||||
require_once('dbupdate_3.4/70376_lohnguide.php');
|
require_once('dbupdate_3.4/70376_lohnguide.php');
|
||||||
|
require_once('dbupdate_3.4/75888_reihungstest_mehrfachdurchfuehrung.php');
|
||||||
|
|
||||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||||
|
|
||||||
|
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_benutzerfunktion_uid'"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
$qry = "CREATE INDEX idx_tbl_benutzerfunktion_uid ON public.tbl_benutzerfunktion USING btree (uid)";
|
||||||
|
|
||||||
|
if (! $db->db_query($qry))
|
||||||
|
echo '<strong>idx_tbl_benutzerfunktion_uid: ' . $db->db_last_error() . '</strong><br>';
|
||||||
|
else
|
||||||
|
echo 'Index idx_tbl_benutzerfunktion_uid angelegt<br>';
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user