From 49bc35033c19bcf9860a2f44bdbb900778e462c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 21 Aug 2007 14:02:47 +0000 Subject: [PATCH] --- content/student/studentDBDML.php | 7 ++++--- content/student/studentprojektarbeit.js.php | 19 ++++++++++++++++--- .../studentprojektarbeitoverlay.xul.php | 3 ++- include/projektbetreuer.class.php | 12 +++++++----- rdf/projektbetreuer.rdf.php | 4 ++-- rdf/student.rdf.php | 9 ++++++++- 6 files changed, 39 insertions(+), 15 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 5cfb6c94d..152087ee9 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -1654,7 +1654,7 @@ if(!$error) if($_POST['neu']=='false') { - if($projektbetreuer->load($_POST['person_id_old'], $_POST['projektarbeit_id'])) + if($projektbetreuer->load($_POST['person_id_old'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz_old'])) { $projektbetreuer->new = false; } @@ -1667,7 +1667,7 @@ if(!$error) } else { - if($projektbetreuer->load($_POST['person_id'], $_POST['projektarbeit_id'])) + if($projektbetreuer->load($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz'])) { $error = true; $errormsg = 'Dieser Betreuer ist bereits zugeteilt'; @@ -1687,6 +1687,7 @@ if(!$error) $projektbetreuer->stunden = str_replace(',','.', $_POST['stunden']); $projektbetreuer->stundensatz = str_replace(',','.', $_POST['stundensatz']); $projektbetreuer->betreuerart_kurzbz = $_POST['betreuerart_kurzbz']; + $projektbetreuer->betreuerart_kurzbz_old = $_POST['betreuerart_kurzbz_old']; $projektbetreuer->updateamum = date('Y-m-d H:i:s'); $projektbetreuer->updatevon = $user; @@ -1710,7 +1711,7 @@ if(!$error) { $projektbetreuer = new projektbetreuer($conn, null, null, true); - if($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id'])) + if($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz'])) { $return = true; } diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 5fab17c36..fa9475df9 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -34,6 +34,7 @@ var StudentProjektarbeitTreeDatasource=null; //Datasource des Projektarbeit Tree var StudentProjektbetreuerTreeDatasource=null; //Datasource des Projektbetreuer Trees var StudentProjektbetreuerSelectPersonID=null; var StudentProjektbetreuerSelectProjektarbeitID=null; +var StudentProjektbetreuerSelectBetreuerartKurzbz=null; // ********** Observer und Listener ************* // // **** @@ -606,9 +607,11 @@ function StudentProjektbetreuerTreeSelectID() var projektarbeit_id=tree.view.getCellText(i,col); col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-tree-person_id"; var person_id=tree.view.getCellText(i,col); + col = tree.columns ? tree.columns["student-projektbetreuer-tree-betreuerart_kurzbz"] : "student-projektbetreuer-tree-betreuerart_kurzbz"; + var betreuerart_kurzbz=tree.view.getCellText(i,col); //wenn dies die zu selektierende Zeile - if(person_id == StudentProjektbetreuerSelectPersonID && projektarbeit_id == StudentProjektbetreuerSelectProjektarbeitID) + if(person_id == StudentProjektbetreuerSelectPersonID && projektarbeit_id == StudentProjektbetreuerSelectProjektarbeitID && betreuerart_kurzbz == StudentProjektbetreuerSelectBetreuerartKurzbz) { //Zeile markieren tree.view.selection.select(i); @@ -638,16 +641,18 @@ function StudentProjektbetreuerAuswahl() var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col); var col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-treecol-person_id"; var person_id=tree.view.getCellText(tree.currentIndex,col); + var col = tree.columns ? tree.columns["student-projektbetreuer-tree-betreuerart_kurzbz"] : "student-projektbetreuer-treecol-betreuerart_kurzbz"; + var betreuerart_kurzbz=tree.view.getCellText(tree.currentIndex,col); //Daten holen - var url = 'rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+'&person_id='+person_id+'&'+gettimestamp(); + var url = 'rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+'&person_id='+person_id+'&betreuerart_kurzbz='+betreuerart_kurzbz+'&'+gettimestamp(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); var dsource = rdfService.GetDataSourceBlocking(url); - var subject = rdfService.GetResource("http://www.technikum-wien.at/projektbetreuer/" + person_id+'/'+projektarbeit_id); + var subject = rdfService.GetResource("http://www.technikum-wien.at/projektbetreuer/" + person_id+'/'+projektarbeit_id+'/'+betreuerart_kurzbz); var predicateNS = "http://www.technikum-wien.at/projektbetreuer/rdf"; @@ -673,6 +678,7 @@ function StudentProjektbetreuerAuswahl() document.getElementById('student-projektbetreuer-textbox-stunden').value=stunden; document.getElementById('student-projektbetreuer-textbox-stundensatz').value=stundensatz; document.getElementById('student-projektbetreuer-menulist-betreuerart').value=betreuerart_kurzbz; + document.getElementById('student-projektbetreuer-textbox-betreuerart_kurzbz_old').value=betreuerart_kurzbz; document.getElementById('student-projektbetreuer-textbox-person_id').value=person_id; document.getElementById('student-projektbetreuer-checkbox-neu').checked=false; } @@ -780,6 +786,7 @@ function StudentProjektbetreuerSpeichern() stunden = document.getElementById('student-projektbetreuer-textbox-stunden').value; stundensatz = document.getElementById('student-projektbetreuer-textbox-stundensatz').value; betreuerart_kurzbz = document.getElementById('student-projektbetreuer-menulist-betreuerart').value; + betreuerart_kurzbz_old = document.getElementById('student-projektbetreuer-textbox-betreuerart_kurzbz_old').value; person_id_old = document.getElementById('student-projektbetreuer-textbox-person_id').value; neu = document.getElementById('student-projektbetreuer-checkbox-neu').checked; @@ -806,6 +813,7 @@ function StudentProjektbetreuerSpeichern() req.add('stunden', stunden); req.add('stundensatz', stundensatz); req.add('betreuerart_kurzbz', betreuerart_kurzbz); + req.add('betreuerart_kurzbz_old', betreuerart_kurzbz_old); req.add('projektarbeit_id', projektarbeit_id); req.add('person_id_old', person_id_old); req.add('neu', neu); @@ -825,6 +833,7 @@ function StudentProjektbetreuerSpeichern() { StudentProjektbetreuerSelectPersonID=person_id; StudentProjektbetreuerSelectProjektarbeitID=projektarbeit_id; + StudentProjektbetreuerSelectBetreuerartKurzbz=betreuerart_kurzbz; StudentProjektbetreuerTreeDatasource.Refresh(false); //non blocking SetStatusBarText('Daten wurden gespeichert'); StudentProjektbetreuerDetailDisableFields(true); @@ -859,6 +868,8 @@ function StudentProjektbetreuerLoeschen() var projektarbeit_id=tree.view.getCellText(tree.currentIndex,col); var col = tree.columns ? tree.columns["student-projektbetreuer-tree-person_id"] : "student-projektbetreuer-tree-person_id"; var person_id=tree.view.getCellText(tree.currentIndex,col); + var col = tree.columns ? tree.columns["student-projektbetreuer-tree-betreuerart_kurzbz"] : "student-projektbetreuer-tree-betreuerart_kurzbz"; + var betreuerart_kurzbz=tree.view.getCellText(tree.currentIndex,col); var url = 'content/student/studentDBDML.php'; var req = new phpRequest(url,'',''); @@ -867,6 +878,7 @@ function StudentProjektbetreuerLoeschen() req.add('person_id', person_id); req.add('projektarbeit_id', projektarbeit_id); + req.add('betreuerart_kurzbz', betreuerart_kurzbz); var response = req.executePOST(); @@ -883,6 +895,7 @@ function StudentProjektbetreuerLoeschen() { StudentProjektbetreuerSelectPersonID=null; StudentProjektbetreuerSelectProjektarbeitID=null; + StudentProjektbetreuerSelectBetreuerartKurzbz=null; StudentProjektbetreuerTreeDatasource.Refresh(false); //non blocking SetStatusBarText('Daten wurden geloescht'); StudentProjektbetreuerDetailDisableFields(true); diff --git a/content/student/studentprojektarbeitoverlay.xul.php b/content/student/studentprojektarbeitoverlay.xul.php index 34bf9755d..6a0d6d97b 100644 --- a/content/student/studentprojektarbeitoverlay.xul.php +++ b/content/student/studentprojektarbeitoverlay.xul.php @@ -379,7 +379,7 @@ echo ''; - + @@ -394,6 +394,7 @@ echo ''; diff --git a/include/projektbetreuer.class.php b/include/projektbetreuer.class.php index 2893d46a4..04f5ab10a 100644 --- a/include/projektbetreuer.class.php +++ b/include/projektbetreuer.class.php @@ -83,7 +83,7 @@ class projektbetreuer * @param $projektarbeit_id ID der zu ladenden Funktion * @return true wenn ok, false im Fehlerfall */ - function load($person_id, $projektarbeit_id) + function load($person_id, $projektarbeit_id, $betreuerart_kurzbz) { if(!is_numeric($person_id)) { @@ -97,7 +97,7 @@ class projektbetreuer return false; } - $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id'"; + $qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."'"; if($result = pg_query($this->conn, $qry)) { @@ -241,6 +241,8 @@ class projektbetreuer $this->errormsg = 'person_id muss eine gueltige Zahl sein'; return false; } + if($this->betreuerart_kurzbz_old=='') + $this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz; $qry='UPDATE lehre.tbl_projektbetreuer SET '. 'person_id='.$this->addslashes($this->person_id).', '. @@ -253,7 +255,7 @@ class projektbetreuer 'stundensatz='.$this->addslashes($this->stundensatz).', '. 'updateamum='.$this->addslashes($this->updateamum).', '. 'updatevon='.$this->addslashes($this->updatevon).' '. - "WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."';"; + "WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."' AND betreuerart_kurzbz='".addslashes($this->betreuerart_kurzbz_old)."';"; } //echo $qry; if(pg_query($this->conn,$qry)) @@ -273,7 +275,7 @@ class projektbetreuer * @param $projektarbeit_id ID die geloescht werden soll * @return true wenn ok, false im Fehlerfall */ - function delete($person_id, $projektarbeit_id) + function delete($person_id, $projektarbeit_id, $betreuerart_kurzbz) { if(!is_numeric($person_id)) { @@ -287,7 +289,7 @@ class projektbetreuer return false; } - $qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."';"; + $qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."';"; if(pg_query($this->conn, $qry)) { diff --git a/rdf/projektbetreuer.rdf.php b/rdf/projektbetreuer.rdf.php index 285c35c76..00201db78 100644 --- a/rdf/projektbetreuer.rdf.php +++ b/rdf/projektbetreuer.rdf.php @@ -61,7 +61,7 @@ if(isset($_GET['projektarbeit_id']) && !isset($_GET['person_id'])) } elseif(isset($_GET['person_id']) && is_numeric($_GET['person_id']) && isset($_GET['projektarbeit_id']) && is_numeric($_GET['projektarbeit_id'])) { - if($projektbetreuer->load($_GET['person_id'], $_GET['projektarbeit_id'])) + if($projektbetreuer->load($_GET['person_id'], $_GET['projektarbeit_id'], $_GET['betreuerart_kurzbz'])) draw_content($projektbetreuer); else die('Eintrag wurde nicht gefunden'); @@ -75,7 +75,7 @@ function draw_content($row) $person=new person($conn, $row->person_id, null); echo ' - + projektarbeit_id.']]> person_id.']]> nachname.']]> diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 4285df69e..f9a2e39f0 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -97,7 +97,14 @@ if($xmlformat=='rdf') if($row_filter->anzahl==0) return false; } - + elseif($filter2=='konto') + { + $qry = "SELECT sum(betrag) as summe FROM tbl_konto WHERE person_id='$row->person_id'"; + if($result_filter = pg_query($conn, $qry)) + if($row_filter = pg_fetch_object($result_filter)) + if($row_filter->summe=='0.00') + return false; + } return true; }