diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 49a819a0f..f0d261e4d 100644 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -314,20 +314,18 @@ function drawTree($tree, $depth) $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; + $abgeschlossen=false; $lvregel = new lvregel(); if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) { if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) - echo ''; + $abgeschlossen=true; else - echo ''; + $abgeschlossen=false; } - else - echo ''; // Bezeichnung der Lehrveranstaltung echo $row_tree->bezeichnung; - echo ''; echo ''; // ECTS Punkte @@ -354,7 +352,9 @@ function drawTree($tree, $depth) } else { - if(!$row_tree->stpllv_pflicht) + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) echo ''.$p->t('studienplan/optional').''; else echo ''.$p->t('studienplan/offen').''; @@ -474,7 +474,7 @@ function drawTree($tree, $depth) } } } - $class=implode(',',$tdclass); + $class=implode(' ',$tdclass); echo ''; echo $tdinhalt; echo ''; diff --git a/include/lvregel.class.php b/include/lvregel.class.php index c64daafe5..4e264df5f 100644 --- a/include/lvregel.class.php +++ b/include/lvregel.class.php @@ -503,6 +503,7 @@ class lvregel extends basis_db { list($testval,$ects_tmp) = $this->Test($uid, $regel, $studiensemester_kurzbz, $retval); + $this->debug("
Compare ".$regel[0]->operator.", ".($retval?'T':'F').", ".($testval?'T':'F'),5); $retval = $this->Compare($regel[0]->operator, $retval, $testval); if($regel[0]->operator=='x' && $ects==0 && $ects_tmp>0) @@ -519,7 +520,7 @@ class lvregel extends basis_db } else { - $this->debug('
keine Anrechnung von ECTS Punkten für diesen Eintrag',3); + $this->debug('
keine Anrechnung von ECTS Punkten für diesen Eintrag OP:'.$regel[0]->operator.' ECTS:'.$ects_tmp,3); } $this->debug('
Zwischenergebnis :'.($retval?'TRUE':'FALSE'),5); @@ -570,6 +571,7 @@ class lvregel extends basis_db $regel = $regel_obj[0]; $ects=0; $this->debug('
Teste Regel '.$regel->lvregel_id.'',2); + $this->debug("
UID:$uid OP:$regel->operator STSEM:$studiensemester_kurzbz RETVAL:".($retvalglobal?'T':'F'),5); switch($regel->lvregeltyp_kurzbz) { @@ -630,6 +632,40 @@ class lvregel extends basis_db AND student_uid=".$this->db_add_param($uid)." AND lehrveranstaltung_id=".$this->db_add_param($regel->lehrveranstaltung_id); + if($result = $this->db_query($qry)) + { + if($row = $this->db_fetch_object($result)) + { + $this->debug('Positive Note gefunden:'.$row->note,3); + $retval = true; + } + else + { + $this->debug('Keine positive Note',3); + $retval = false; + } + } + else + { + $this->debug('Fehler bei Abfrage',1); + $this->errormsg = 'Fehler bei Abfrage'; + $retval = false; + } + break; + + case 'lvpositivabschluss': + $this->debug('Regeltyp lvpositivabschluss:'.$regel->lehrveranstaltung_id,3); + $qry = "SELECT + tbl_lehrveranstaltung.ects, tbl_zeugnisnote.note + FROM + lehre.tbl_zeugnisnote + JOIN lehre.tbl_note USING(note) + JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE + tbl_note.positiv + AND student_uid=".$this->db_add_param($uid)." + AND lehrveranstaltung_id=".$this->db_add_param($regel->lehrveranstaltung_id); + if($result = $this->db_query($qry)) { if($row = $this->db_fetch_object($result)) @@ -665,21 +701,22 @@ class lvregel extends basis_db list($testval,$ects_tmp) = $this->TestRegeln($uid, $regel_obj['childs'],null, $retval); $retval = $this->Compare($regel->operator, $retval, $testval); -/* - if($regel->operator=='x' && $ects==0 && $ects_tmp>0) + if($testval) { - $this->debug('
Aufgrund des XOR Vergleichs werden '.$ects_tmp.' ECTS dazugerechnet'); - $ects+=$ects_tmp; + if($regel->operator=='x' && $ects==0 && $ects_tmp>0) + { + $this->debug('
Aufgrund des XOR Vergleichs werden '.$ects_tmp.' ECTS dazugerechnet'); + $ects+=$ects_tmp; + } + if(($regel->operator=='u' || $regel->operator=='o')) + { + $this->debug('
Aufgrund des AND / OR Operators werden '.$ects_tmp.' ECTS dazugerechnet'); + $ects+=$ects_tmp; + } } - if(($regel->operator=='u' || $regel->operator=='o')) - { - $this->debug('
Aufgrund des AND / OR Operators werden '.$ects_tmp.' ECTS dazugerechnet'); - $ects+=$ects_tmp; - } -*/ $this->debug('
== Subregel '.$regel->lvregel_id.' Ende ==
',2); } - + $this->debug('
TEST Return Retval:'.($retval?'T':'F').' ECTS:'.$ects); return array($retval,$ects); } @@ -741,7 +778,7 @@ class lvregel extends basis_db $lv->load($stpllv->lehrveranstaltung_id); $this->debug('Abgeschlossen:'.$retval.' ECTS:'.$ects,1); - if($ects>=$lv->ects && $retval) + if($ects>=$lv->ects) return true; else return false; diff --git a/locale/de-AT/studienplan.php b/locale/de-AT/studienplan.php index e5dcf48d5..b43658bee 100644 --- a/locale/de-AT/studienplan.php +++ b/locale/de-AT/studienplan.php @@ -22,5 +22,6 @@ $this->phrasen['studienplan/zuWenigCP']='Sie haben zu wenig Credit Points für e $this->phrasen['studienplan/reduzierteCP']='Für dieses Semester sind die verfügbaren ECTS Punkte reduziert. Noch verfügbare ECTS Punkte: %s'; $this->phrasen['studienplan/einschreibungErfolgreich']='Sie wurden erfolgreich in die Lehrveranstaltung eingeschrieben'; $this->phrasen['studienplan/AnmeldungNichtMoeglich']='Keine Anmeldung moeglich'; +$this->phrasen['studienplan/regelabgeschlossen']='abgeschlossen'; ?> diff --git a/skin/styles/tw.css b/skin/styles/tw.css index b6f06a9f3..79d78ca5d 100644 --- a/skin/styles/tw.css +++ b/skin/styles/tw.css @@ -927,15 +927,18 @@ ul.menu padding-left: 5px; } + +/* LV Angebot im Studienplan */ +.angebot +{ + border: 3px solid #edd400; +} + /* Empfehlung im Studienplan */ .empfehlung { border: 3px solid green; } -.angebot -{ - border: 3px solid #edd400; -} /* ==== Menubox-Effekt am Seitenrand. Nettes Feature aber dzt. nicht sinnvoll einsetzbar ==== diff --git a/system/checksystem.php b/system/checksystem.php index 3eff936d0..4bb316dbf 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -289,6 +289,10 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvregel LIMIT 1;")) ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_studienplan_lehrveranstaltung FOREIGN KEY (studienplan_lehrveranstaltung_id) REFERENCES lehre.tbl_studienplan_lehrveranstaltung (studienplan_lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE; + INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('ausbsemmin','Ausbildungssemester Min'); + INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositiv','LV Positiv für Anmeldung'); + INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositivabschluss','LV Positiv für Abschluss'); + GRANT SELECT ON lehre.tbl_lvregel TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvregel TO vilesci; GRANT SELECT, UPDATE ON lehre.seq_lvregel_lvregel_id TO vilesci; diff --git a/vilesci/lehre/lehrveranstaltung_kompatibel.php b/vilesci/lehre/lehrveranstaltung_kompatibel.php index 25a204fc8..0be49e616 100755 --- a/vilesci/lehre/lehrveranstaltung_kompatibel.php +++ b/vilesci/lehre/lehrveranstaltung_kompatibel.php @@ -245,10 +245,11 @@ $rechte->getBerechtigungen($user); $lehrveranstaltung_id = $_GET["lehrveranstaltung_id"]; $type = isset($_GET["type"]) ? $_GET["type"] : ""; $lv = new lehrveranstaltung(); +$lv->load($lehrveranstaltung_id); +echo '

Kompatible Lehrveranstaltungen - '.$lv->bezeichnung.'

'; $kompatibleLvs = $lv->loadLVkompatibel($lehrveranstaltung_id); //var_dump($kompatibleLvs); -echo '

Kompatible Lehrveranstaltungen

'; if(count($kompatibleLvs)>0) { echo ' diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index be9bd2005..71684bb71 100644 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -116,7 +116,7 @@ function loadStudienordnung() */ function drawStudienordnungen(data) { - var obj='Neue Studienordnung