diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php
index 6a7a927f8..0045c6927 100755
--- a/cis/private/profile/studienplan.php
+++ b/cis/private/profile/studienplan.php
@@ -396,7 +396,8 @@ function drawTree($tree, $depth)
$abgeschlossen=false;
$lvregel = new lvregel();
- if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id))
+ $lvregelExists = $lvregel->exists($row_tree->studienplan_lehrveranstaltung_id);
+ if($lvregelExists)
{
if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id))
$abgeschlossen=true;
@@ -436,7 +437,7 @@ function drawTree($tree, $depth)
$lv_kompatibel = new lehrveranstaltung();
$kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id);
-
+
if(isset($noten_arr[$row_tree->lehrveranstaltung_id]))
{
// Positive Note fuer diese LV vorhanden?
@@ -447,82 +448,97 @@ function drawTree($tree, $depth)
$positiv=true;
}
- if($positiv)
- echo ''.$p->t('studienplan/abgeschlossen').'';
- else
+ if(!$positiv)
+ {
echo ''.$p->t('studienplan/negativ').'';
+ }
+ elseif($lvregelExists)
+ {
+ if($abgeschlossen && $positiv)
+ {
+ echo ''.$p->t('studienplan/abgeschlossen').'';
+ }
+ else
+ {
+ echo ''.$p->t('studienplan/offen').'';
+ }
+ }
+ elseif($positiv)
+ {
+ echo ''.$p->t('studienplan/abgeschlossen').'';
+ }
+ else
+ {
+ echo ''.$p->t('studienplan/offen').'';
+ }
}
//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;
- }
+ $positiv = false;
+ $found = false;
+ $i = 0;
+ while(!$found && $i < count($kompatibleLVs))
+ {
+ foreach($kompatibleLVs as $komp)
+ {
- $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)
+ $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]))
{
- echo ''.$p->t('studienplan/abgeschlossen').'';
- }
- else
- {
- echo ''.$p->t('studienplan/negativ').'';
- }
- }
- elseif(!$found)
- {
- if(!$row_tree->stpllv_pflicht)
- {
- echo ''.$p->t('studienplan/optional').'';
+ $positiv=false;
+ foreach($noten_arr[$lv] as $note)
+ {
+ if($note_pruef_arr[$note]->positiv)
+ $positiv=true;
+ }
+
+ $found = true;
}
else
{
- echo ''.$p->t('studienplan/offen').'';
+ /* 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 ''.$p->t('studienplan/abgeschlossen').'';
+ }
+ else
+ {
+ echo ''.$p->t('studienplan/negativ').'';
+ }
+ }
+ elseif(!$found)
+ {
+ if(!$row_tree->stpllv_pflicht)
+ {
+ echo ''.$p->t('studienplan/optional').'';
+ }
+ else
+ {
+ echo ''.$p->t('studienplan/offen').'';
+ }
+ }
}
else
{
- if($abgeschlossen)
- {
- echo ''.$p->t('studienplan/regelabgeschlossen'),'';
- }
- elseif(!$row_tree->stpllv_pflicht)
+ if(!$row_tree->stpllv_pflicht)
{
echo ''.$p->t('studienplan/optional').'';
}
diff --git a/include/lvregel.class.php b/include/lvregel.class.php
index bf3de11fa..97e3a68fe 100644
--- a/include/lvregel.class.php
+++ b/include/lvregel.class.php
@@ -602,7 +602,33 @@ class lvregel extends basis_db
}
}
$ausbildungssemester = $this->cache[$uid][$studiensemester_kurzbz];
+
+ $qry = "SELECT
+ tbl_lehrveranstaltung.ects
+ FROM
+ lehre.tbl_lehrveranstaltung
+ JOIN lehre.tbl_studienplan_lehrveranstaltung sl USING(lehrveranstaltung_id)
+ WHERE
+ studienplan_lehrveranstaltung_id=".$this->db_add_param($regel->studienplan_lehrveranstaltung_id);
+ if($result = $this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object($result))
+ {
+ $ects = $row->ects;
+ }
+ else
+ {
+ $ects = 0;
+ }
+ }
+ else
+ {
+ $this->debug('Fehler bei Abfrage',1);
+ $this->errormsg = 'Fehler bei Abfrage';
+ $retval = false;
+ }
+
// Vergleichen des Ausbildungssemesters mit dem RegelParameter
if($ausbildungssemester>=$regel->parameter)
{