This commit is contained in:
bison-paolo
2016-11-30 11:44:13 +01:00
5 changed files with 136 additions and 95 deletions
@@ -539,11 +539,20 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$konto = new konto();
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz);
if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet)))
if(($creditPoints != false))
{
$cpVerbleibend = $creditPoints - $ects_verwendet;
if(($lehrveranstaltung->ects > $cpVerbleibend))
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
}
}
else
{
$data['error'] = 'true';
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
return $data;
$data['errormsg'] = 'Fehler beim Laden der Credit Points.';
}
if(isset($data['error']) && $data['error'] = 'true')
+87 -65
View File
@@ -291,9 +291,9 @@ if($zeugnisnote->getZeugnisnoten('',$uid,''))
foreach($zeugnisnote->result as $row_note)
{
if($row_note->note!='')
{
{
$noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note;
}
}
}
}
@@ -447,14 +447,22 @@ function drawTree($tree, $depth)
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
if(!$positiv)
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
//echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
if(count($kompatibleLVs) > 0)
{
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, true);
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif($lvregelExists)
{
if($abgeschlossen && $positiv)
if($abgeschlossen || $positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
@@ -475,66 +483,7 @@ function drawTree($tree, $depth)
//check if compatible course has grade
elseif(count($kompatibleLVs) > 0)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid);
}
else
{
@@ -708,6 +657,79 @@ function drawTree($tree, $depth)
drawTree($row_tree->childs, $depth+1);
}
}
function checkKompatibleLvs($kompatibleLVs, $student, $row_tree, $noten_arr, $note_pruef_arr, $p, $uid, $negativeNote= null)
{
$positiv = false;
$found = false;
$i = 0;
while(!$found && $i < count($kompatibleLVs))
{
foreach($kompatibleLVs as $komp)
{
$anrechnung = new anrechnung();
$anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp);
if(count($anrechnung->result) == 1)
{
$lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel;
if(isset($noten_arr[$lv]))
{
$positiv=false;
foreach($noten_arr[$lv] as $note)
{
if($note_pruef_arr[$note]->positiv)
$positiv=true;
}
$found = true;
}
else
{
/* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert
* darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde
*/
if(!$found)
$found = false;
}
}
$i++;
}
}
if($found)
{
if($positiv)
{
echo '<span class="ok">'.$p->t('studienplan/abgeschlossen').'</span>';
}
else
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
}
elseif(!$found)
{
if(!$row_tree->stpllv_pflicht)
{
echo '<span>'.$p->t('studienplan/optional').'</span>';
}
else
{
if(($negativeNote!= null) && ($negativeNote == true))
{
echo '<span class="error">'.$p->t('studienplan/negativ').'</span>';
}
else
{
echo '<span>'.$p->t('studienplan/offen').'</span>';
}
}
}
}
echo '</table>';
echo '<br><br>'.$p->t('studienplan/legende').':<br>
<table>
+17 -14
View File
@@ -1775,13 +1775,13 @@ function PrintStudienblatt(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
catch(e)
@@ -1851,7 +1851,7 @@ function PrintStudienblatt(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&&uid='+data+"&ss="+ss;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=Studienblatt&xml=studienblatt.xml.php&output='+output+'&uid='+data+"&ss="+ss;
window.open(action,'Studienblatt','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
@@ -1866,6 +1866,7 @@ function PrintStudienblatt(event)
function PrintStudienblattEnglisch(event)
{
var tree = document.getElementById('student-prestudent-tree-rolle');
var ss = document.getElementById('statusbarpanel-semester').label;
var items = tree.view.rowCount;
try
@@ -1873,12 +1874,14 @@ function PrintStudienblattEnglisch(event)
var studienplan_id = "";
for (var v=0; v < items; v++)
{
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
var stsem = getTreeCellText(tree, 'student-prestudent-tree-rolle-studiensemester_kurzbz', v);
if(stsem == ss)
{
studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v);
if(studienplan_id!='')
break;
}
}
}
}
catch(e)
{
@@ -1947,7 +1950,7 @@ function PrintStudienblattEnglisch(event)
{
if(error>0)
alert(error+' der ausgewaehlten Personen haben keinen Account');
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&&uid='+data;
action = '<?php echo APP_ROOT; ?>content/pdfExport.php?xsl=StudienblattEng&xml=studienblatt.xml.php&output='+output+'&uid='+data+'&ss='+ss;
window.open(action,'StudienblattEng','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
else
+17 -10
View File
@@ -174,16 +174,23 @@ class pruefungsanmeldung extends basis_db {
/**
* Lädt alle Prüfungsanmeldungen eines Studenten
* @param type $uid UID eines Studenten
* @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
* @param type $studiensemester_kurzbz Filter nach Studiensemester (zB 'WS2013')
* @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
* @return boolean|array false, bei Fehler; Array mit Anmeldungen
*/
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
public function getAnmeldungenByStudent($uid, $studiensemester_kurzbz=null, $status_kurzbz=null)
{
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
. 'WHERE uid='.$this->db_add_param($uid).';';
. 'WHERE uid='.$this->db_add_param($uid);
if($studiensemester_kurzbz != null)
{
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
}
$qry .= ';';
if(!$this->db_query($qry))
{
@@ -204,13 +211,13 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->pruefung_id = $row->pruefung_id;
$anmeldung->von = $row->von;
$anmeldung->bis = $row->bis;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
$anmeldung->reihung = $row->reihung;
$anmeldung->wuensche = $row->wuensche;
$anmeldung->kommentar = $row->kommentar;
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
+3 -3
View File
@@ -94,7 +94,7 @@ foreach($uid_arr as $uid)
$datum_aktuell = date('d.m.Y');
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
$prestudent = new prestudent($student->prestudent_id);
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studienordnung = new studienordnung();
$studienordnung->getStudienordnungFromStudienplan($prestudent->studienplan_id);
$studiengang = new studiengang();
@@ -180,7 +180,7 @@ foreach($uid_arr as $uid)
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester,'Student');
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
@@ -306,7 +306,7 @@ foreach($uid_arr as $uid)
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
$prestudent->getLastStatus($student->prestudent_id, null);
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;