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;
}