This commit is contained in:
kindlm
2016-10-07 16:13:07 +02:00
15 changed files with 585 additions and 507 deletions
@@ -67,20 +67,19 @@ switch($method)
$data = loadTermine(); $data = loadTermine();
break; break;
case 'saveAnmeldung': case 'saveAnmeldung':
$student_uid = filter_input(INPUT_POST,"uid"); $student_uid = filter_input(INPUT_POST,"uid");
if($student_uid !== "" && !is_null($student_uid)) if($student_uid !== "" && !is_null($student_uid))
{ {
$uid = $student_uid; $uid = $student_uid;
} }
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
if($student_uid === "")
{
$data['result']="";
$data['error']='true';
$data['errormsg']='Studenten UID fehlt.';
break;
}
$data = saveAnmeldung($aktStudiensemester, $uid); $data = saveAnmeldung($aktStudiensemester, $uid);
break; break;
case 'getAllPruefungen': case 'getAllPruefungen':
@@ -142,60 +141,60 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
$lvIds = array(); $lvIds = array();
foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs) foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs)
{ {
array_push($lvIds, $lvs->lehrveranstaltung_id); array_push($lvIds, $lvs->lehrveranstaltung_id);
} }
$lehrveranstaltungen=$lvIds; $lehrveranstaltungen=$lvIds;
$pruefung = new pruefungCis(); $pruefung = new pruefungCis();
if($pruefung->getPruefungByLv($lehrveranstaltungen)) if($pruefung->getPruefungByLv($lehrveranstaltungen))
{ {
$pruefungen = array(); $pruefungen = array();
foreach($pruefung->lehrveranstaltungen as $key=>$lv) foreach($pruefung->lehrveranstaltungen as $key=>$lv)
{ {
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id); $lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lehrveranstaltung = $lehrveranstaltung->cleanResult(); $lehrveranstaltung = $lehrveranstaltung->cleanResult();
$lehreinheit = new lehreinheit(); $lehreinheit = new lehreinheit();
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester); $lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
$lehreinheiten = $lehreinheit->lehreinheiten; $lehreinheiten = $lehreinheit->lehreinheiten;
$prf = new stdClass(); $prf = new stdClass();
$temp = new pruefungCis($lv->pruefung_id); $temp = new pruefungCis($lv->pruefung_id);
$temp->getTermineByPruefung($lv->pruefung_id); $temp->getTermineByPruefung($lv->pruefung_id);
for($i=0; $i < sizeof($temp->termine); $i++) for($i=0; $i < sizeof($temp->termine); $i++)
{ {
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id); $termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants(); $temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
} }
$prf->pruefung = $temp; $prf->pruefung = $temp;
$prf->lehrveranstaltung = $lehrveranstaltung; $prf->lehrveranstaltung = $lehrveranstaltung;
if(!empty($lehreinheiten)) if(!empty($lehreinheiten))
{ {
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id); $lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz); $oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
$prf->organisationseinheit = $oe->bezeichnung; $prf->organisationseinheit = $oe->bezeichnung;
array_push($pruefungen, $prf); array_push($pruefungen, $prf);
} }
} }
$anmeldung = new pruefungsanmeldung(); $anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester); $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
$anmeldungsIds = array(); $anmeldungsIds = array();
foreach($anmeldungen as $anm) foreach($anmeldungen as $anm)
{ {
$a = new stdClass(); $a = new stdClass();
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id; $a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
$a->pruefungstermin_id = $anm->pruefungstermin_id; $a->pruefungstermin_id = $anm->pruefungstermin_id;
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id; $a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
array_push($anmeldungsIds, $a); array_push($anmeldungsIds, $a);
} }
$return = new stdClass(); $return = new stdClass();
$return->pruefungen = $pruefungen; $return->pruefungen = $pruefungen;
$return->anmeldungen = $anmeldungsIds; $return->anmeldungen = $anmeldungsIds;
$data['result']=$return; $data['result']=$return;
$data['error']='false'; $data['error']='false';
$data['errormsg']=''; $data['errormsg']='';
} }
else else
{ {
$data['error']='true'; $data['error']='true';
$data['errormsg']=$pruefung->errormsg; $data['errormsg']=$pruefung->errormsg;
} }
return $data; return $data;
} }
@@ -387,26 +386,26 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$addon = new addon(); $addon = new addon();
foreach ($addon->aktive_addons as $a) foreach ($addon->aktive_addons as $a)
{ {
if($a === "ku") if($a === "ku")
{ {
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
switch($lehrveranstaltung->oe_kurzbz) switch($lehrveranstaltung->oe_kurzbz)
{ {
case $fakultaeten[0]["fakultaet"]: case $fakultaeten[0]["fakultaet"]:
$semCounter = $fakultaeten[0]["sem"]; $semCounter = $fakultaeten[0]["sem"];
break; break;
case $fakultaeten[1]["fakultaet"]: case $fakultaeten[1]["fakultaet"]:
$semCounter = $fakultaeten[1]["sem"]; $semCounter = $fakultaeten[1]["sem"];
break; break;
default: default:
$semCounter = 2; $semCounter = 2;
break; break;
} }
} }
else else
{ {
$semCounter = 99; $semCounter = 99;
} }
} }
$i=0; $i=0;
$stdsem_lv_besuch = null; $stdsem_lv_besuch = null;
@@ -442,107 +441,135 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen // Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
if(!isset($pruefungstyp_kurzbzArray)) if(!isset($pruefungstyp_kurzbzArray))
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef"); $pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
if(isset($pruefungstyp_kurzbzArray)) if(isset($pruefungstyp_kurzbzArray))
{ {
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
{ {
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
} }
} }
else else
{ {
$pruefungstyp_kurzbz = null; $pruefungstyp_kurzbz = null;
} }
foreach($pruefung->result as $prf) foreach($pruefung->result as $prf)
{ {
$note = new note($prf->note); $note = new note($prf->note);
if($note->note === $noteCode_uef) if($note->note === $noteCode_uef)
{
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
{ {
$anmeldung_moeglich = false; $pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$studiensemester = new studiensemester();
$stdsem = $studiensemester->getaktorNext();
$i=0;
while($i<2)
{
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
{
$anmeldung_moeglich = false;
}
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
} }
$stdsem = $studiensemester->getPreviousFrom($stdsem);
$i++;
}
}
else
{
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
{
$anmeldung_moeglich = false;
}
}
} }
if($anmeldung_moeglich) if($anmeldung_moeglich)
{ {
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL) if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
{
$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";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
$konto = new konto();
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
if($creditpoints !== false)
{
if($creditpoints < $lehrveranstaltung->ects)
{ {
$data['error'] = 'true'; $pruefung = new pruefungCis();
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); $reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
return $data; $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";
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
//Kollisionsprüfung // $konto = new konto();
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester); // $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
foreach($anmeldungen as $temp) //
{ // if($creditpoints !== false)
$datum = new datum(); // {
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis))) // if($creditpoints <= $lehrveranstaltung->ects)
// {
// $data['error'] = 'true';
// $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
// return $data;
// }
// }
//Kollisionsprüfung und Prüfung auf ausreichen Creditpoints
$pruefungstermin = new pruefungstermin($_REQUEST["termin_id"]);
$pf = new pruefungCis($pruefungstermin->pruefung_id);
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz);
if($anmeldungen !== false)
{
$ects_verwendet = 0;
foreach($anmeldungen as $temp)
{
$lehrveranstaltung = new lehrveranstaltung($temp->lehrveranstaltung_id);
$ects_verwendet += $lehrveranstaltung->ects;
$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'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
}
}
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error'] = 'true';
$data['errormsg'] = $anmeldung->errormsg;
return $data;
}
}
else
{ {
$data['result'][$temp->pruefungstermin_id] = "true"; $data['error']='true';
$data['error'] = 'true'; $data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung'); return $data;
} }
}
if(isset($data['error']) && $data['error'] = 'true')
{
return $data;
}
}
else
{
$data['error']='true';
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
return $data;
}
} }
else else
{ {
$data['error']='true'; $data['error']='true';
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich'); $data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
return $data; return $data;
} }
$anrechnung = new anrechnung(); $anrechnung = new anrechnung();
@@ -227,7 +227,7 @@ $rechte->getBerechtigungen($uid);
<th>#</th> <th>#</th>
<th><?php echo $p->t('global/vorname'); ?></th> <th><?php echo $p->t('global/vorname'); ?></th>
<th><?php echo $p->t('global/nachname'); ?></th> <th><?php echo $p->t('global/nachname'); ?></th>
<th><?php echo $p->t('global/matrikelnummer'); ?></th> <th><?php echo $p->t('pruefung/matrikelnummer'); ?></th>
<th><?php echo $p->t('global/datum'); ?></th> <th><?php echo $p->t('global/datum'); ?></th>
<th><?php echo $p->t('benotungstool/note'); ?></th> <th><?php echo $p->t('benotungstool/note'); ?></th>
<th><?php echo $p->t('global/anmerkung'); ?></th> <th><?php echo $p->t('global/anmerkung'); ?></th>
+1 -1
View File
@@ -152,7 +152,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin'))
$konto->load($bnr); $konto->load($bnr);
if($konto->person_id!=$user_obj->person_id) if($konto->person_id!=$user_obj->person_id)
die('Sie haben keine Berechtigung fuer diese Buchung'); die('Sie haben keine Berechtigung fuer diese Buchung');
if($konto->getDifferenz($bnr)!=0) if($konto->getDifferenz($bnr)>0)
die('Diese Zahlung wurde noch nicht beglichen'); die('Diese Zahlung wurde noch nicht beglichen');
} }
} }
+35 -34
View File
@@ -19,6 +19,7 @@
* *
* *
* Authors: Andreas Österreicher <[email protected]> * Authors: Andreas Österreicher <[email protected]>
* Stefan Puraner <[email protected]>
* *
* Zeigt den Studienplan eines Studierenden an * Zeigt den Studienplan eines Studierenden an
* und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen.
@@ -101,14 +102,7 @@ if(isset($_GET['getAnmeldung']))
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{ {
// User ist noch nicht angemeldet // User ist noch nicht angemeldet
//Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
$konto = new konto();
$cp = $konto->getCreditPoints($uid, $stsem);
if($cp===false || $cp>=$lv->ects)
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
else
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span style="color:gray;">'.$lv->bezeichnung.'</span><img src="../../../skin/images/information.png" title="'.$p->t('studienplan/zuWenigCP').'" />';
} }
else else
{ {
@@ -200,25 +194,16 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
{ {
$bngruppe->uid = $uid;
// Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
$konto = new konto(); $bngruppe->studiensemester_kurzbz = $stsem;
$cp = $konto->getCreditPoints($uid, $stsem); $bngruppe->new=true;
if($cp===false || $cp>=$lv->ects) if($bngruppe->save())
{ {
$bngruppe->uid = $uid; echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz; // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
$bngruppe->studiensemester_kurzbz = $stsem; echo '<script>window.parent.menu.location.reload();</script>';
$bngruppe->new=true;
if($bngruppe->save())
{
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
echo '<script>window.parent.menu.location.reload();</script>';
}
} }
else
echo '<span class="error">'.$p->t('studienplan/zuWenigCP').'</span>';
} }
else else
{ {
@@ -366,7 +351,7 @@ drawTree($tree,0);
function drawTree($tree, $depth) function drawTree($tree, $depth)
{ {
global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext;
global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student;
foreach($tree as $row_tree) foreach($tree as $row_tree)
@@ -511,28 +496,40 @@ function drawTree($tree, $depth)
if($found) if($found)
{ {
if($positiv) if($positiv)
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>'; {
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>'; echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
} }
elseif(!$found) elseif(!$found)
{ {
if($abgeschlossen) if(!$row_tree->stpllv_pflicht)
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>'; {
elseif(!$row_tree->stpllv_pflicht)
echo '<span>'.$p->t('studienplan/optional').'</span>'; echo '<span>'.$p->t('studienplan/optional').'</span>';
else }
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>'; echo '<span>'.$p->t('studienplan/offen').'</span>';
}
} }
} }
else else
{ {
if($abgeschlossen) if($abgeschlossen)
{
echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>'; echo '<span>'.$p->t('studienplan/regelabgeschlossen'),'</span>';
}
elseif(!$row_tree->stpllv_pflicht) elseif(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>'; echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else else
{
echo '<span>'.$p->t('studienplan/offen').'</span>'; echo '<span>'.$p->t('studienplan/offen').'</span>';
}
} }
echo '</td>'; echo '</td>';
@@ -610,9 +607,13 @@ function drawTree($tree, $depth)
} }
else else
{ {
if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) //check if rules are fulfilled just for actual or next studiensemester
if($stsem === $aktornext)
{ {
$regelerfuellt=false; if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem) !== true)
{
$regelerfuellt=false;
}
} }
} }
@@ -669,7 +670,7 @@ function drawTree($tree, $depth)
$tdinhalt.= '<span title="'.$anmeldeinformation.'">-</a>'; $tdinhalt.= '<span title="'.$anmeldeinformation.'">-</a>';
if(!$regelerfuellt) if(!$regelerfuellt)
$tdinhalt.= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>'; $tdinhalt= '<span title="'.$p->t('studienplan/regelnichterfuellt').'">X</span>';
} }
} }
else else
+1 -1
View File
@@ -157,7 +157,7 @@
echo '<td '.$style.'>'.$row['parent']->buchungstext.'</td>'; echo '<td '.$style.'>'.$row['parent']->buchungstext.'</td>';
echo '<td align="right" '.$style.'>'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €</td>'; echo '<td align="right" '.$style.'>'.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €</td>';
echo '<td align="center" '.$style.'>'; echo '<td align="center" '.$style.'>';
if($betrag==0 && $row['parent']->betrag<=0) if($betrag>=0 && $row['parent']->betrag<=0)
echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$buchungsnummern.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>'; echo '<a href="../pdfExport.php?xml=konto.rdf.php&xsl=Zahlung&uid='.$uid.'&buchungsnummern='.$buchungsnummern.'" title="'.$p->t('tools/bestaetigungDrucken').'"><img src="../../../skin/images/pdfpic.gif" alt="'.$p->t('tools/bestaetigungDrucken').'"></a>';
elseif($row['parent']->betrag>0) elseif($row['parent']->betrag>0)
{ {
+45
View File
@@ -801,6 +801,51 @@ class konto extends basis_db
} }
} }
/**
* Liefert die CreditPoints die ein Studierender für ein Studiensemester zur Verfügung hat
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
* wird false zurueckgeliefert. Es werden die Creditpoint der Belastungen herangezogen.
* Die Gegenbuchung wird nicht beruecksichtigt.
* @return Anzahl der gekauften CreditPoints oder false falls unbeschraenkt
*/
public function getCreditPointsOfStudiensemester($uid, $studiensemester_kurzbz)
{
$qry = "SELECT sum(credit_points) as cp
FROM
public.tbl_konto
JOIN public.tbl_benutzer USING(person_id)
WHERE
uid=".$this->db_add_param($uid)."
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND buchungsnr_verweis is null
AND credit_points is not null";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$creditpoints = $row->cp;
if($creditpoints!='')
{
return $creditpoints;
}
else
return false;
}
else
{
// keine Einschraenkung vorhanden
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/** /**
* Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu * Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu
* @param $buchungsnr Die ID der erstellten Buchung in der Datenbank * @param $buchungsnr Die ID der erstellten Buchung in der Datenbank
+248 -256
View File
@@ -289,8 +289,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen //Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis)) if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis); $qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
// else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '') if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER); $qry .= " AND semester=" . $this->db_add_param($semester, FHC_INTEGER);
@@ -425,8 +423,6 @@ class lehrveranstaltung extends basis_db
//Select Befehl zusammenbauen //Select Befehl zusammenbauen
if (!is_null($lehreverzeichnis)) if (!is_null($lehreverzeichnis))
$qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis); $qry .= " AND lehreverzeichnis=" . $this->db_add_param($lehreverzeichnis);
//else
// $qry .= " AND lehreverzeichnis<>'' ";
if (!is_null($semester) && $semester != '') if (!is_null($semester) && $semester != '')
$qry .= " AND semester=" . $this->db_add_param($semester); $qry .= " AND semester=" . $this->db_add_param($semester);
@@ -436,7 +432,6 @@ class lehrveranstaltung extends basis_db
if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '') if (!is_null($studiensemester_kurzbz) && $studiensemester_kurzbz != '')
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz); $qry .= " AND tbl_lehreinheit.studiensemester_kurzbz=" . $this->db_add_param($studiensemester_kurzbz);
if (!is_null($lehre)) if (!is_null($lehre))
$qry .= " AND lehre=" . ($lehre ? 'true' : 'false'); $qry .= " AND lehre=" . ($lehre ? 'true' : 'false');
@@ -527,10 +522,10 @@ class lehrveranstaltung extends basis_db
WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung WHERE lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM campus.vw_student_lehrveranstaltung
WHERE uid=" . $this->db_add_param($student_uid); WHERE uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL) if($studiensemester_kurzbz !== NULL)
$qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz); $qry .= " AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
$qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid); $qry .= ") OR lehrveranstaltung_id IN(SELECT lehrveranstaltung_id FROM lehre.tbl_zeugnisnote WHERE student_uid=" . $this->db_add_param($student_uid);
if($studiensemester_kurzbz !== NULL) if($studiensemester_kurzbz !== NULL)
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz); $qry .= ' AND studiensemester_kurzbz='.$this->db_add_param ($studiensemester_kurzbz);
$qry .= ") ORDER BY semester, bezeichnung"; $qry .= ") ORDER BY semester, bezeichnung";
//Datensaetze laden //Datensaetze laden
@@ -608,16 +603,10 @@ class lehrveranstaltung extends basis_db
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein'; $this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false; return false;
} }
/*
if(is_null($orgform_kurzbz) || $orgform_kurzbz=='')
{
$this->errormsg = 'keine orgform_kurzbz uebergeben';
return false;
}*/
$qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung $qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz).' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"=".$this->db_add_param($orgform_kurzbz)); WHERE studiengang_kz='.$this->db_add_param($studiengang_kz).' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"=".$this->db_add_param($orgform_kurzbz));
//echo $qry;
$return=array(); $return=array();
if($db_result=$this->db_query($qry)) if($db_result=$this->db_query($qry))
{ {
@@ -1072,9 +1061,9 @@ class lehrveranstaltung extends basis_db
} }
$qry = "SELECT mdl_course_id FROM lehre.tbl_moodle $qry = "SELECT mdl_course_id FROM lehre.tbl_moodle
WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . " WHERE studiensemester_kurzbz = " . $this->db_add_param($semester) . "
AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . " AND (lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "
OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));"; OR lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id = " . $this->db_add_param($lehrveranstaltung_id) . "));";
$moodleArray = array(); $moodleArray = array();
@@ -1323,7 +1312,7 @@ class lehrveranstaltung extends basis_db
return $childs; return $childs;
} }
/** /**
* Generiert die Subtrees des Lehrveranstaltungstrees * Generiert die Subtrees des Lehrveranstaltungstrees
*/ */
public function hasChildren($studienplan_lehrveranstaltung_id) public function hasChildren($studienplan_lehrveranstaltung_id)
@@ -1338,15 +1327,14 @@ class lehrveranstaltung extends basis_db
} }
} }
if(count($childs) > 0) if(count($childs) > 0)
{ {
return true; return true;
} }
else else
{ {
return false; return false;
} }
}
}
/** /**
* Baut die Datenstruktur für senden als JSON Objekt auf * Baut die Datenstruktur für senden als JSON Objekt auf
@@ -1453,6 +1441,7 @@ class lehrveranstaltung extends basis_db
$obj->zeugnis = $lv->zeugnis; $obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum; $obj->curriculum = $lv->curriculum;
$obj->export = $lv->export; $obj->export = $lv->export;
$obj->genehmigung = $lv->genehmigung;
$obj->lehrauftrag = $lv->lehrauftrag; $obj->lehrauftrag = $lv->lehrauftrag;
$obj->lehre = $lv->lehre; $obj->lehre = $lv->lehre;
$obj->children = array(); $obj->children = array();
@@ -1511,7 +1500,8 @@ class lehrveranstaltung extends basis_db
*/ */
public function loadLVkompatibel($lehrveranstaltung_id) public function loadLVkompatibel($lehrveranstaltung_id)
{ {
if (!is_numeric($lehrveranstaltung_id)) { if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false; return false;
} }
@@ -1536,7 +1526,8 @@ class lehrveranstaltung extends basis_db
*/ */
public function getLVkompatibel($lehrveranstaltung_id) public function getLVkompatibel($lehrveranstaltung_id)
{ {
if (!is_numeric($lehrveranstaltung_id)) { if (!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein'; $this->errormsg = 'Lehrveranstaltung_id muss eine gueltige Zahl sein';
return false; return false;
} }
@@ -1676,11 +1667,13 @@ class lehrveranstaltung extends basis_db
public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null, $sort=null, $semester=null) public function load_lva_oe($oe_kurzbz, $aktiv=null, $lehrtyp=null, $sort=null, $semester=null)
{ {
if (is_null($oe_kurzbz)) { if (is_null($oe_kurzbz))
{
$this->errormsg = 'OE KurzBz darf nicht null sein'; $this->errormsg = 'OE KurzBz darf nicht null sein';
return false; return false;
} }
if (!is_null($aktiv) && !is_bool($aktiv)) { if (!is_null($aktiv) && !is_bool($aktiv))
{
$this->errormsg = 'Aktivkz muss ein boolscher Wert sein'; $this->errormsg = 'Aktivkz muss ein boolscher Wert sein';
return false; return false;
} }
@@ -1942,125 +1935,125 @@ class lehrveranstaltung extends basis_db
} }
} }
/** /**
* lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter * lädt die Lehrveranstaltungen zum zugehörigen Mitarbeiter
* @param String $uid User ID des Mitarbeiters * @param String $uid User ID des Mitarbeiters
* @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters * @param String $studiensemster_kurzbz Kurzbezeichnung des Studiensemesters
*/ */
public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null) public function getLVByMitarbeiter($uid, $studiensemester_kurzbz = null)
{ {
$qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung $qry = 'SELECT DISTINCT tbl_lehrveranstaltung.* FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE WHERE
mitarbeiter_uid='.$this->db_add_param($uid); mitarbeiter_uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null) if($studiensemester_kurzbz != null)
{ {
$qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';'; $qry .= ' AND tbl_lehreinheit.studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';';
} }
if($this->db_query($qry)) if($this->db_query($qry))
{ {
while($row = $this->db_fetch_object()) while($row = $this->db_fetch_object())
{ {
$lv_obj = new lehrveranstaltung(); $lv_obj = new lehrveranstaltung();
$lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; $lv_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$lv_obj->studiengang_kz = $row->studiengang_kz; $lv_obj->studiengang_kz = $row->studiengang_kz;
$lv_obj->bezeichnung = $row->bezeichnung; $lv_obj->bezeichnung = $row->bezeichnung;
$lv_obj->kurzbz = $row->kurzbz; $lv_obj->kurzbz = $row->kurzbz;
$lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz; $lv_obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$lv_obj->semester = $row->semester; $lv_obj->semester = $row->semester;
$lv_obj->ects = $row->ects; $lv_obj->ects = $row->ects;
$lv_obj->semesterstunden = $row->semesterstunden; $lv_obj->semesterstunden = $row->semesterstunden;
$lv_obj->anmerkung = $row->anmerkung; $lv_obj->anmerkung = $row->anmerkung;
$lv_obj->lehre = $this->db_parse_bool($row->lehre); $lv_obj->lehre = $this->db_parse_bool($row->lehre);
$lv_obj->lehreverzeichnis = $row->lehreverzeichnis; $lv_obj->lehreverzeichnis = $row->lehreverzeichnis;
$lv_obj->aktiv = $this->db_parse_bool($row->aktiv); $lv_obj->aktiv = $this->db_parse_bool($row->aktiv);
$lv_obj->ext_id = $row->ext_id; $lv_obj->ext_id = $row->ext_id;
$lv_obj->insertamum = $row->insertamum; $lv_obj->insertamum = $row->insertamum;
$lv_obj->insertvon = $row->insertvon; $lv_obj->insertvon = $row->insertvon;
$lv_obj->planfaktor = $row->planfaktor; $lv_obj->planfaktor = $row->planfaktor;
$lv_obj->planlektoren = $row->planlektoren; $lv_obj->planlektoren = $row->planlektoren;
$lv_obj->planpersonalkosten = $row->planpersonalkosten; $lv_obj->planpersonalkosten = $row->planpersonalkosten;
$lv_obj->plankostenprolektor = $row->plankostenprolektor; $lv_obj->plankostenprolektor = $row->plankostenprolektor;
$lv_obj->updateamum = $row->updateamum; $lv_obj->updateamum = $row->updateamum;
$lv_obj->updatevon = $row->updatevon; $lv_obj->updatevon = $row->updatevon;
$lv_obj->sprache = $row->sprache; $lv_obj->sprache = $row->sprache;
$lv_obj->sort = $row->sort; $lv_obj->sort = $row->sort;
$lv_obj->incoming = $row->incoming; $lv_obj->incoming = $row->incoming;
$lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis); $lv_obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit); $lv_obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$lv_obj->zeugnis = $row->koordinator; $lv_obj->zeugnis = $row->koordinator;
$lv_obj->bezeichnung_english = $row->bezeichnung_english; $lv_obj->bezeichnung_english = $row->bezeichnung_english;
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz; $lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz; $lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$lv_obj->oe_kurzbz = $row->oe_kurzbz; $lv_obj->oe_kurzbz = $row->oe_kurzbz;
$lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz; $lv_obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$lv_obj->anzahlsemester = $row->anzahlsemester; $lv_obj->anzahlsemester = $row->anzahlsemester;
$lv_obj->semesterwochen = $row->semesterwochen; $lv_obj->semesterwochen = $row->semesterwochen;
$lv_obj->lvnr = $row->lvnr; $lv_obj->lvnr = $row->lvnr;
$lv_obj->semester_alternativ = $row->semester_alternativ; $lv_obj->semester_alternativ = $row->semester_alternativ;
$lv_obj->farbe = $row->farbe; $lv_obj->farbe = $row->farbe;
$lv_obj->benotung = $this->db_parse_bool($row->benotung); $lv_obj->benotung = $this->db_parse_bool($row->benotung);
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo); $lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($lv_obj->bezeichnung_arr['English'] == '') if ($lv_obj->bezeichnung_arr['English'] == '')
$lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German'];
$this->lehrveranstaltungen[] = $lv_obj; $this->lehrveranstaltungen[] = $lv_obj;
} }
return true; return true;
} }
else else
{ {
$this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden."; $this->errormsg = "Lehrveranstaltungen konnten nicht geladen werden.";
} }
} }
/** /**
* Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester) * Lädt alle Studenten UIDs die die angegebenen LV besuchen (optional mit Studiensemester)
* @param integer $lehrveranstaltung_id ID der Lehrveranstaltung * @param integer $lehrveranstaltung_id ID der Lehrveranstaltung
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters * @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich * @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
*/ */
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null) public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
{ {
if(!is_numeric($lehrveranstaltung_id)) if(!is_numeric($lehrveranstaltung_id))
{ {
$this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein."; $this->errormsg = "Lehrveranstaltung ID muss eine gültige Zahl sein.";
return false; return false;
} }
$qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE ' $qry = 'SELECT distinct uid FROM campus.vw_student_lehrveranstaltung WHERE '
. 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id); . 'lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
if(!is_null($studiensemester_kurzbz)) if(!is_null($studiensemester_kurzbz))
{ {
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz); $qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
} }
if(!is_null($lehreinheit_id)) if(!is_null($lehreinheit_id))
{ {
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id); $qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
} }
$qry .= ';'; $qry .= ';';
if($this->db_query($qry)) if($this->db_query($qry))
{ {
$result = array(); $result = array();
while($row = $this->db_fetch_object()) while($row = $this->db_fetch_object())
{ {
array_push($result, $row->uid); array_push($result, $row->uid);
} }
return $result; return $result;
} }
return false; return false;
} }
/** /**
* *
@@ -2097,7 +2090,7 @@ class lehrveranstaltung extends basis_db
} }
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs $qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
FROM lehre.tbl_lehrveranstaltung FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id) JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id) JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id)
@@ -2167,14 +2160,13 @@ class lehrveranstaltung extends basis_db
public function lehreverzeichnisExists($lehreverzeichnis, $studiengang_kz, $semester) public function lehreverzeichnisExists($lehreverzeichnis, $studiengang_kz, $semester)
{ {
$qry = 'SELECT $qry = 'SELECT
1 1
FROM FROM
lehre.tbl_lehrveranstaltung lehre.tbl_lehrveranstaltung
WHERE WHERE
lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).' lehreverzeichnis='.$this->db_add_param($lehreverzeichnis).'
AND studiengang_kz='.$this->db_add_param($studiengang_kz).' AND studiengang_kz='.$this->db_add_param($studiengang_kz).'
AND semester='.$this->db_add_param($semester).';'; AND semester='.$this->db_add_param($semester).';';
if($this->db_query($qry)) if($this->db_query($qry))
{ {
@@ -2201,117 +2193,117 @@ class lehrveranstaltung extends basis_db
*/ */
public function getLVFromStudienplanByLehrtyp($studienplan_id, $lehrtyp_kurzbz=NULL, $semester=NULL) public function getLVFromStudienplanByLehrtyp($studienplan_id, $lehrtyp_kurzbz=NULL, $semester=NULL)
{ {
if (!is_numeric($studienplan_id) || $studienplan_id === '') if (!is_numeric($studienplan_id) || $studienplan_id === '')
{ {
$this->errormsg = 'StudienplanID ist ungueltig'; $this->errormsg = 'StudienplanID ist ungueltig';
return false; return false;
} }
$qry = "SELECT DISTINCT tbl_lehrveranstaltung.* $qry = "SELECT DISTINCT tbl_lehrveranstaltung.*
FROM lehre.tbl_lehrveranstaltung FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id) USING(lehrveranstaltung_id)
WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER); WHERE tbl_studienplan_lehrveranstaltung.studienplan_id=" . $this->db_add_param($studienplan_id, FHC_INTEGER);
if (!is_null($lehrtyp_kurzbz)) if (!is_null($lehrtyp_kurzbz))
{
$qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
}
if (!is_null($semester))
{
$qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
}
$qry.=" ORDER BY bezeichnung;";
$this->lehrveranstaltungen = array();
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{ {
$obj = new lehrveranstaltung(); $qry.=" AND tbl_lehrveranstaltung.lehrtyp_kurzbz=" . $this->db_add_param($lehrtyp_kurzbz, FHC_STRING);
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
} }
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/** if (!is_null($semester))
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen {
* die Lehrveranstaltung über Studienpläne verknüpft ist $qry.=" AND tbl_studienplan_lehrveranstaltung.semester=" . $this->db_add_param($semester, FHC_INTEGER);
* @return boolean|array false im Fehlerfall, sonst ein Array }
*/ $qry.=" ORDER BY bezeichnung;";
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz $this->lehrveranstaltungen = array();
FROM lehre.tbl_studienplan_lehrveranstaltung if ($result = $this->db_query($qry))
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{ {
while ($row = $this->db_fetch_object($result)) while ($row = $this->db_fetch_object($result))
{ {
$oe[] = $row->oe_kurzbz; $obj = new lehrveranstaltung();
}
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->bezeichnung = $row->bezeichnung;
$obj->kurzbz = $row->kurzbz;
$obj->lehrform_kurzbz = $row->lehrform_kurzbz;
$obj->semester = $row->semester;
$obj->ects = $row->ects;
$obj->semesterstunden = $row->semesterstunden;
$obj->anmerkung = $row->anmerkung;
$obj->lehre = $this->db_parse_bool($row->lehre);
$obj->lehreverzeichnis = $row->lehreverzeichnis;
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->planfaktor = $row->planfaktor;
$obj->planlektoren = $row->planlektoren;
$obj->planpersonalkosten = $row->planpersonalkosten;
$obj->plankostenprolektor = $row->plankostenprolektor;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->sprache = $row->sprache;
$obj->sort = $row->sort;
$obj->incoming = $row->incoming;
$obj->zeugnis = $this->db_parse_bool($row->zeugnis);
$obj->projektarbeit = $this->db_parse_bool($row->projektarbeit);
$obj->koordinator = $row->koordinator;
$obj->bezeichnung_english = $row->bezeichnung_english;
$obj->orgform_kurzbz = $row->orgform_kurzbz;
$obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->raumtyp_kurzbz = $row->raumtyp_kurzbz;
$obj->anzahlsemester = $row->anzahlsemester;
$obj->semesterwochen = $row->semesterwochen;
$obj->lvnr = $row->lvnr;
$obj->semester_alternativ = $row->semester_alternativ;
$obj->farbe = $row->farbe;
$obj->benotung = $this->db_parse_bool($row->benotung);
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->new = false;
$this->lehrveranstaltungen[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
} }
else else
{ {
@@ -2319,16 +2311,16 @@ class lehrveranstaltung extends basis_db
return false; return false;
} }
// oe_kurzbz des Studiengangs der LVA hinzufügen // oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz); $stg = new studiengang($this->studiengang_kz);
if(!in_array($stg->oe_kurzbz, $oe)) if(!in_array($stg->oe_kurzbz, $oe))
{ {
$oe[] = $this->oe_kurzbz; $oe[] = $this->oe_kurzbz;
} }
return $oe; return $oe;
} }
/** /**
* Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist, * Laedt den LV-Leiter einer Lehrveranstaltung, wenn keiner der Lektoren als LVLeiter eingetragen ist,
+1 -1
View File
@@ -108,7 +108,7 @@ class statistik extends basis_db
} }
else else
{ {
$this->errormsg = 'Dieser Eintrag wurde nicht gefunden'; $this->errormsg = 'Dieser Eintrag wurde nicht gefunden: ' . $statistik_kurzbz;
return false; return false;
} }
} }
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.'; $this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor'; $this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission'; $this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten // anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung'; $this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Keine Lehreinheiten vo
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.'; $this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Keine Anmeldungen vorhanden.';
$this->phrasen['pruefung/derLektor'] = 'Lektor'; $this->phrasen['pruefung/derLektor'] = 'Lektor';
$this->phrasen['pruefung/dieKommission'] = 'Kommission'; $this->phrasen['pruefung/dieKommission'] = 'Kommission';
$this->phrasen['pruefung/matrikelnummer'] = 'Personenkennzeichen';
// anmeldungen Verwalten // anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung'; $this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Prüfungsanmeldung Verwaltung';
+1
View File
@@ -108,6 +108,7 @@ $this->phrasen['pruefung/keineLehreinheitenVorhanden'] = 'Nessun corso disponibi
$this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessun studente iscritto.'; $this->phrasen['pruefung/keineAnmeldungenVorhanden'] = 'Nessun studente iscritto.';
$this->phrasen['pruefung/derLektor'] = 'Docente'; $this->phrasen['pruefung/derLektor'] = 'Docente';
$this->phrasen['pruefung/dieKommission'] = 'Commissione'; $this->phrasen['pruefung/dieKommission'] = 'Commissione';
$this->phrasen['pruefung/matrikelnummer']='Matricola';
// anmeldungen Verwalten // anmeldungen Verwalten
$this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli'; $this->phrasen['pruefung/anmeldungenVerwaltenTitle'] = 'Gestione delle prenotazioni degli appelli';
+4 -3
View File
@@ -371,10 +371,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{ {
$studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id); $studienplan->loadStudienplanLehrveranstaltung($studienplan_lehrveranstaltung_id);
$lv = new lehrveranstaltung(); $lv = new lehrveranstaltung();
while($lv->lehrtyp_kurzbz != "modul") while(($lv->lehrtyp_kurzbz != "modul") && ($studienplan->lehrveranstaltung_id != $studienplan_lehrveranstaltung_id))
{ {
$lv->load($studienplan->lehrveranstaltung_id); $lv->load($studienplan->lehrveranstaltung_id);
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent); $studienplan_lehrveranstaltung_id = $studienplan->lehrveranstaltung_id;
$studienplan->loadStudienplanLehrveranstaltung($studienplan->studienplan_lehrveranstaltung_id_parent);
} }
$lehrveranstaltung->lehrveranstaltungen = array(0 => $lv); $lehrveranstaltung->lehrveranstaltungen = array(0 => $lv);
} }
+12 -1
View File
@@ -1206,7 +1206,7 @@ if(!$result = @$db->db_query("SELECT verpflichtend FROM public.tbl_ampel LIMIT 1
echo '<br>Neue Spalten "verpflichtend" und "buttontext" in Tabelle public.tbl_ampel hinzugefügt<br>'; echo '<br>Neue Spalten "verpflichtend" und "buttontext" in Tabelle public.tbl_ampel hinzugefügt<br>';
} }
// Neue Spalte studienplan_id in public.tbl_bewerbungstermine // Neue Spalte lieferbedingungen in public.tbl_firma
if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIMIT 1")) if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIMIT 1"))
{ {
$qry = "ALTER TABLE public.tbl_firma ADD COLUMN lieferbedingungen varchar(256);"; $qry = "ALTER TABLE public.tbl_firma ADD COLUMN lieferbedingungen varchar(256);";
@@ -1218,6 +1218,17 @@ if(!$result = @$db->db_query("SELECT lieferbedingungen FROM public.tbl_firma LIM
} }
// 10.16 neuer webservicetyp reports
$result = $db->db_query("SELECT 1 FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz='reports'");
if($db->db_num_rows($result) < 1)
{
$qry = "INSERT INTO system.tbl_webservicetyp (webservicetyp_kurzbz, beschreibung) VALUES('reports', 'Logtyp fuer reports');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_webservicetyp '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neuen Eintrag "reports" in Tabelle system.tbl_webservicetyp eingefuegt<br>';
}
// *** 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>';
+27 -33
View File
@@ -245,7 +245,7 @@ function GenerateTreeChilds(data)
} }
var obj = { var obj = {
"data":data.bezeichnung, "data":data.bezeichnung,
"metadata": {"lehrveranstaltung_id":data.lehrveranstaltung_id,"bezeichnung":data.bezeichnung,"ects":data.ects,"semesterstunden":data.semesterstunden,"lehrform_kurzbz":data.lehrform_kurzbz,"lvnr":data.lvnr,"sortierung":data.stpllv_sort}, "metadata": {"lehrveranstaltung_id":data.lehrveranstaltung_id,"bezeichnung":data.bezeichnung,"ects":data.ects,"semesterstunden":data.semesterstunden,"lehrform_kurzbz":data.lehrform_kurzbz,"lvnr":data.lvnr,"sortierung":data.stpllv_sort,"pflicht":data.stpllv_pflicht,"export":data.export,"genehmigung":data.genehmigung},
"attr":{"id":data.studienplan_lehrveranstaltung_id,"rel":data.lehrtyp_kurzbz,"lvID":data.lehrveranstaltung_id,"studienplan_lehrveranstaltung_id":data.studienplan_lehrveranstaltung_id}, "attr":{"id":data.studienplan_lehrveranstaltung_id,"rel":data.lehrtyp_kurzbz,"lvID":data.lehrveranstaltung_id,"studienplan_lehrveranstaltung_id":data.studienplan_lehrveranstaltung_id},
"children":children "children":children
}; };
@@ -423,10 +423,13 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
columns: [ columns: [
{width: 300, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata", headerClass: "header_lv"}, {width: 300, header: "Lehrveranstaltung", value: "bezeichnung", source: "metadata", headerClass: "header_lv"},
{width: 50, header: "ECTS", value: "ects", source: "metadata", wideCellClass: "col_ects", headerClass: "header_ects"}, {width: 50, header: "ECTS", value: "ects", source: "metadata", wideCellClass: "col_ects", headerClass: "header_ects"},
{width: 120, header: "Semesterstunden", value: "semesterstunden", source: "metadata", cellClass: "col_semesterstunden"}, {width: 60, header: "SemStd", value: "semesterstunden", source: "metadata", cellClass: "col_left"},
{width: 80, header: "Lehrform", value: "lehrform_kurzbz", source: "metadata", cellClass: "col_lehrform"}, {width: 80, header: "Lehrform", value: "lehrform_kurzbz", source: "metadata", cellClass: "col_lehrform"},
{width: 80, header: "LVNR", value: "lvnr", source: "metadata", cellClass: "col_lvnr"}, {width: 60, header: "StudPlan", value: "export", source: "metadata", cellClass: "col_left"},
{width: 80, header: "Sortierung", value: "sortierung", source: "metadata", cellClass: "col_sortierung"}, {width: 60, header: "Pflicht", value: "pflicht", source: "metadata", cellClass: "col_left"},
{width: 60, header: "Gen", value: "genehmigung", source: "metadata", cellClass: "col_left"},
{width: 80, header: "LVNR", value: "lvnr", source: "metadata", cellClass: "col_left"},
{width: 60, header: "Sort", value: "sortierung", source: "metadata", cellClass: "col_left"},
], ],
resizable: true resizable: true
}, },
@@ -486,39 +489,31 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"] plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
}).bind("move_node.jstree", function(event, data) }).bind("move_node.jstree", function(event, data)
{ {
// if(searchTree(data.rslt.r, data.rslt.o.attr("id"))) // Verschieben eines Eintrages
// {
// $("#treeData").jstree("remove", "#"+data.rslt.oc.attr("id"));
// alert("Lehrveranstaltung bereits vorhanden");
// }
// else
// {
// Verschieben eines Eintrages
// Studienplan_lehrveranstaltung_id ermitteln // Studienplan_lehrveranstaltung_id ermitteln
var studienplan_lehrveranstaltung_id=''; var studienplan_lehrveranstaltung_id='';
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){ if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value; studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
//$("#treeData").jstree('refresh'); //$("#treeData").jstree('refresh');
} }
// Aenderung speichern // Aenderung speichern
saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id); saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id);
// ECTS Summen neu berechnen // ECTS Summen neu berechnen
var root = data.inst.get_container_ul(); var root = data.inst.get_container_ul();
var nodes = root[0].childNodes; var nodes = root[0].childNodes;
for(var i=0; i<nodes.length; i++) for(var i=0; i<nodes.length; i++)
{
if(nodes[i].getAttribute("rel") === "semester")
{ {
if(nodes[i].getAttribute("rel") === "semester") writeEctsSum(nodes[i]);
{
writeEctsSum(nodes[i]);
}
} }
hideAllTreeColumns();
writeOverallSum(nodes); }
// } hideAllTreeColumns();
writeOverallSum(nodes);
}).bind("loaded.jstree", function(event, data) }).bind("loaded.jstree", function(event, data)
{ {
// Wenn der Tree geladen wird, die ECTS Summen der einzelnen Semester berechnen // Wenn der Tree geladen wird, die ECTS Summen der einzelnen Semester berechnen
@@ -561,7 +556,6 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
} }
} }
// Lehrveranstaltungsdetails laden // Lehrveranstaltungsdetails laden
if(data.rslt.obj.attr("rel") !== "semester") if(data.rslt.obj.attr("rel") !== "semester")
{ {
+5 -1
View File
@@ -71,7 +71,11 @@ echo '<!DOCTYPE html>
align:center; align:center;
text-align:center; text-align:center;
} }
.col_left {
width: auto !important;
align:left;
text-align:left;
}
.header_ects { .header_ects {
//width: auto !important; //width: auto !important;
} }