diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index f0e39f6c6..34a38a4ef 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -419,19 +419,24 @@ Duplizierter Wert, etc.)
Erledigte Anforderungen
+ - Neuer Filter zum Anzeigen aller Studenten bei denen der ZGV-Typ
+eingetragen ist, aber noch kein ZGV-Datum
+20.02.2008 oesi
+
+
- Die Stati eines Studenten werden jetzt in umgekehrter Reihenfolge
angezeigt. (aktueller Status steht ganz oben)
-19.02.2007 oesi
+19.02.2008 oesi
- Bei Auswahl eines Reihungstests in der Studentenansicht wird das
Datumsfeld "zum Reihungstest angemeldet" auf das aktuelle Datum gesetzt.
-19.02.2007 oesi
+19.02.2008 oesi
- Am Zeugnis wird der Postnomentitel nun durch einen Beistricht vom
Nachnamen getrennt
-19.02.2007 oesi
+19.02.2008 oesi
- Die Höhe des Konto-Trees passt sich nun der
diff --git a/content/functions.js.php b/content/functions.js.php
index 2dfc5d92c..b96f01a32 100644
--- a/content/functions.js.php
+++ b/content/functions.js.php
@@ -219,4 +219,16 @@ function MenulistGetSelectedValue(id)
return children[0].value;
else
return '';
+}
+
+// *****
+// * Liefert den Text aus einem Tree
+// * Parameter: tree ... Referenz auf den Tree
+// * col ... id der Spalte
+// * idx ... Zeilenindex im Tree
+// *****
+function getTreeCellText(tree, col, idx)
+{
+ col = tree.columns ? tree.columns[col] : col;
+ return tree.view.getCellText(idx, col);
}
\ No newline at end of file
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index 56168dc33..f1049eeb2 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -1000,50 +1000,80 @@ if(!$error)
$return = false;
}
- $student->studiengang_kz = $_POST['stg_kz'];
- $student->semester = $_POST['semester'];
- $student->verband = ($_POST['verband']==''?' ':$_POST['verband']);
- $student->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
- $student->new=false;
-
- if(!$student->save())
+ if($student->studiengang_kz!=$_POST['stg_kz'])
{
- $errormsg .= 'Fehler beim Speichern des Studenteneintrages';
+ $errormsg.='Ein Student kann nicht in eine Lehrverbandsgruppe eines anderen Studienganges verschoben werden';
$return = false;
$error = true;
}
+
+ if(!$error)
+ {
+ $student->studiengang_kz = $_POST['stg_kz'];
+ $student->semester = $_POST['semester'];
+ $student->verband = ($_POST['verband']==''?' ':$_POST['verband']);
+ $student->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
+ $student->new=false;
+
+ if(!$student->save())
+ {
+ $errormsg .= 'Fehler beim Speichern des Studenteneintrages';
+ $return = false;
+ $error = true;
+ }
+ }
}
if(!$error)
{
- //Eintrag in der Tabelle Studentlehrverband aendern
- $student_lvb = new student($conn, null, true);
-
- if($student_lvb->studentlehrverband_exists($uid, $semester_aktuell))
- $student_lvb->new = false;
- else
- $student_lvb->new = true;
-
- $student_lvb->uid = $uid;
- $student_lvb->studiensemester_kurzbz = $semester_aktuell;
- $student_lvb->studiengang_kz = $_POST['stg_kz'];
- $student_lvb->semester = $_POST['semester'];
- $student_lvb->verband = ($_POST['verband']==''?' ':$_POST['verband']);
- $student_lvb->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
- $student_lvb->updateamum = date('Y-m-d H:i:s');
- $student_lvb->updatevon = $user;
-
- if($student_lvb->save_studentlehrverband())
- {
- $return = true;
- $error=false;
- }
- else
+ //Eintrag in der Tabelle Student aendern
+ $student = new student($conn, true);
+
+ if(!$student->load($uid))
{
+ $errormsg .= 'Fehler beim Laden des Studenten';
$error = true;
- $errormsg .= $student_lvb->errormsg;
$return = false;
}
+
+ if($student->studiengang_kz!=$_POST['stg_kz'])
+ {
+ $errormsg.='Ein Student kann nicht in eine Lehrverbandsgruppe eines anderen Studienganges verschoben werden';
+ $return = false;
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ //Eintrag in der Tabelle Studentlehrverband aendern
+ $student_lvb = new student($conn, null, true);
+
+ if($student_lvb->studentlehrverband_exists($uid, $semester_aktuell))
+ $student_lvb->new = false;
+ else
+ $student_lvb->new = true;
+
+ $student_lvb->uid = $uid;
+ $student_lvb->studiensemester_kurzbz = $semester_aktuell;
+ $student_lvb->studiengang_kz = $_POST['stg_kz'];
+ $student_lvb->semester = $_POST['semester'];
+ $student_lvb->verband = ($_POST['verband']==''?' ':$_POST['verband']);
+ $student_lvb->gruppe = ($_POST['gruppe']==''?' ':$_POST['gruppe']);
+ $student_lvb->updateamum = date('Y-m-d H:i:s');
+ $student_lvb->updatevon = $user;
+
+ if($student_lvb->save_studentlehrverband())
+ {
+ $return = true;
+ $error=false;
+ }
+ else
+ {
+ $error = true;
+ $errormsg .= $student_lvb->errormsg;
+ $return = false;
+ }
+ }
}
}
}
diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php
index 9a512b1f0..799b4c607 100644
--- a/content/student/studentenoverlay.xul.php
+++ b/content/student/studentenoverlay.xul.php
@@ -109,6 +109,7 @@ else
+
rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&filter2="+filter+"&"+gettimestamp();
+ var stg_kz = getTreeCellText(tree, 'stg_kz', tree.currentIndex);
+ var sem = getTreeCellText(tree, 'sem', tree.currentIndex);
+ var ver = getTreeCellText(tree, 'ver', tree.currentIndex);
+ var grp = getTreeCellText(tree, 'grp', tree.currentIndex);
+ var gruppe = getTreeCellText(tree, 'gruppe', tree.currentIndex);
+ var typ = getTreeCellText(tree, 'typ', tree.currentIndex);
+ var stsem = getTreeCellText(tree, 'stsem', tree.currentIndex);
+
+ if(stsem=='')
+ stsem = getStudiensemester();
+ url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2="+filter+"&"+gettimestamp();
var treeStudent=document.getElementById('student-tree');
//Alte DS entfernen
diff --git a/include/tw/generateuid.inc.php b/include/tw/generateuid.inc.php
index 7a87638f3..4153d736c 100644
--- a/include/tw/generateuid.inc.php
+++ b/include/tw/generateuid.inc.php
@@ -37,6 +37,7 @@ function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer)
$nr = substr($matrikelnummer, 7);
if($art=='2')
$nr = $nr+500;
+
return $stgkzl.$jahr.($art!='0'?$stgtyp:'x').$nr;
}
diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php
index 24c58a749..97d8d3dba 100644
--- a/rdf/student.rdf.php
+++ b/rdf/student.rdf.php
@@ -90,6 +90,22 @@ function convdate($date)
if($row_filter->anzahl>0 || $prestudent->rolle_kurzbz=='Incoming')
return false;
}
+ elseif($filter2=='zgvohnedatum')
+ {
+ //Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum
+ $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum FROM public.tbl_prestudent WHERE prestudent_id='$row->prestudent_id'";
+ if($result_filter = pg_query($conn, $qry))
+ {
+ if($row_filter = pg_fetch_object($result_filter))
+ {
+ if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='') ||
+ ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum==''))
+ return true;
+ else
+ return false;
+ }
+ }
+ }
return true;
}
diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php
index fde644dd8..bf0a9902c 100644
--- a/vilesci/personen/import/interessentenimport.php
+++ b/vilesci/personen/import/interessentenimport.php
@@ -154,6 +154,9 @@ $geburtsdatum_error=false;
function generateMatrikelnummer($conn, $studiengang_kz, $studiensemester_kurzbz)
{
$jahr = substr($studiensemester_kurzbz, 4);
+ $sem = substr($studiensemester_kurzbz, 0, 2);
+ if($sem=='SS')
+ $jahr = $jahr-1;
$art =0;
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);