mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 23:42:17 +00:00
Überprüfung auf Sperre vor Anmeldung zur Prüfung
This commit is contained in:
@@ -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');
|
||||
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user