Überprüfung auf Sperre vor Anmeldung zur Prüfung

This commit is contained in:
Stefan Puraner
2014-07-01 13:49:19 +00:00
parent 606a34a9f0
commit 37a22f45f3
9 changed files with 77 additions and 40 deletions
@@ -22,6 +22,8 @@ require_once('../../../../include/ort.class.php');
require_once('../../../../include/stunde.class.php');
require_once('../../../../include/reservierung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/pruefung.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
$uid = get_uid();
@@ -30,7 +32,7 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getakt();
$aktStudiensemester = $studiensemester->getaktorNext();
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
@@ -73,7 +75,7 @@ switch($method)
break;
case 'getPruefungenStudiengang':
$studiensemester = new studiensemester();
$data = getPruefungenStudiengang($uid, $studiensemester->getakt());
$data = getPruefungenStudiengang($uid, $studiensemester->getaktorNext());
break;
case 'saveKommentar':
$data = saveKommentar();
@@ -333,55 +335,89 @@ function loadTermine()
function saveAnmeldung($aktStudiensemester = null, $uid = null)
{
$termin = new pruefungstermin($_REQUEST["termin_id"]);
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
$pruefung = new pruefung();
$pruefung->getPruefungen($uid, NULL, $_REQUEST["lehrveranstaltung_id"]);
$anmeldung_moeglich = true;
foreach($pruefung->result as $prf)
{
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
if($prf->note === '17')
{
if($creditpoints < $lehrveranstaltung->ects)
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$p = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($p->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
$data['error'] = 'true';
$data['errormsg'] = 'Credit-Points-Guthaben ist zu gering.';
return $data;
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
{
$anmeldung_moeglich = false;
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
//Kollisionsprüfung
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
foreach($anmeldungen as $temp)
}
if($anmeldung_moeglich)
{
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
$pruefung = new pruefungCis();
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
$anmeldung = new pruefungsanmeldung();
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
$anmeldung->wuensche = $_REQUEST["bemerkung"];
$anmeldung->uid = $uid;
$anmeldung->reihung = $reihung+1;
$anmeldung->status_kurzbz = "angemeldet";
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
{
$data['result'][$temp->pruefungstermin_id] = "true";
if($creditpoints < $lehrveranstaltung->ects)
{
$data['error'] = 'true';
$data['errormsg'] = 'Kollision mit anderer Anmeldung.';
$data['errormsg'] = 'Credit-Points-Guthaben ist zu gering.';
return $data;
}
}
//Kollisionsprüfung
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
foreach($anmeldungen as $temp)
{
$datum = new datum();
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
{
$data['result'][$temp->pruefungstermin_id] = "true";
$data['error'] = 'true';
$data['errormsg'] = 'Kollision mit anderer Anmeldung.';
}
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
if(isset($data['error']) && $data['error'] = 'true')
else
{
$data['error']='true';
$data['errormsg']='Keine freien Plätze vorhanden.';
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']='Keine freien Plätze vorhanden.';
$data['errormsg']='Anmeldung auf Grund von Sperre nicht möglich.';
return $data;
}
if($anmeldung->save(true))
{
$data['result'] = "Anmeldung erfolgreich!";
@@ -173,7 +173,7 @@ $studiensemester->getAll();
echo '<h3>Filter</h3>';
echo '<p>Studiensemester: ';
echo '<select id="filter_studiensemester" onchange="refresh();">';
$aktuellesSemester = $studiensemester->getakt();
$aktuellesSemester = $studiensemester->getaktorNext();
foreach($studiensemester->studiensemester as $sem)
{
if($aktuellesSemester == $sem->studiensemester_kurzbz)
@@ -35,7 +35,7 @@ $rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$pruefung = new pruefungCis();
$pruefung->getPruefungByMitarbeiter($uid, $studiensemester->getakt());
$pruefung->getPruefungByMitarbeiter($uid, $studiensemester->getaktorNext());
if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
@@ -22,7 +22,7 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getakt();
$aktStudiensemester = $studiensemester->getaktorNext();
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
@@ -41,7 +41,7 @@ $rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$pruefung = new pruefungCis();
$pruefung->getPruefungByMitarbeiter($uid, $studiensemester->getakt());
$pruefung->getPruefungByMitarbeiter($uid, $studiensemester->getaktorNext());
if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
@@ -30,12 +30,12 @@ switch($method)
break;
case 'loadStudiensemester':
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getakt();
$aktStudiensemester = $studiensemester->getaktorNext();
$data = loadStudiensemester($aktStudiensemester);
break;
case 'getPruefungsfensterByStudiensemester':
$studiensemester = new studiensemester();
$aktStudiensemester = $studiensemester->getakt();
$aktStudiensemester = $studiensemester->getaktorNext();
$studiensemester_kurzbz = isset($_REQUEST["studiensemester_kurzbz"]) ? $_REQUEST["studiensemester_kurzbz"] : $aktStudiensemester;
$data = getPruefungsfensterByStudiensemester($studiensemester_kurzbz, $aktStudiensemester);
break;
@@ -41,7 +41,7 @@ $rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$lehrveranstaltung = new lehrveranstaltung();
$lehrveranstaltung->loadLVAfromMitarbeiter(0, $uid, $studiensemester->getakt());
$lehrveranstaltung->loadLVAfromMitarbeiter(0, $uid, $studiensemester->getaktorNext());
if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
+1 -1
View File
@@ -213,7 +213,7 @@ class lehreinheit extends basis_db
if($fachbereich_kurzbz!='')
$qry .= " AND EXISTS ( SELECT 1 FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_fachbereich USING(oe_kurzbz) WHERE fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz)." AND lehrveranstaltung_id=tbl_lehreinheit.lehrfach_id)";
$qry.= "ORDER BY lehreinheit_id;";
$qry.= " ORDER BY lehreinheit_id;";
if($this->db_query($qry))
{
+1
View File
@@ -333,6 +333,7 @@ class pruefung extends basis_db
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
$this->result[] = $obj;
}