diff --git a/cis/private/lvplan/stpl_week.php b/cis/private/lvplan/stpl_week.php
index b9413063b..0df5d3049 100644
--- a/cis/private/lvplan/stpl_week.php
+++ b/cis/private/lvplan/stpl_week.php
@@ -147,11 +147,11 @@ if (!isset($pers_uid))
$pers_uid=$uid;
//echo $uid.':'.$user_uid;
-//var_dump($_POST);
+//var_dump($_POST);
// Reservieren
if (isset($reserve) && $user=='lektor')
-{
+{
//echo 'test';
echo 'test';
if(!$erg_std=pg_query($conn, "SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
@@ -172,7 +172,7 @@ if (isset($reserve) && $user=='lektor')
{
$datum_res=$$var;
//echo $datum_res;
- $query="INSERT INTO lehre.tbl_reservierung
+ $query="INSERT INTO campus.tbl_reservierung
(datum, uid, ort_kurzbz, stunde, beschreibung, titel, studiengang_kz )
VALUES
('$datum_res', '$user_uid', '$ort_kurzbz', $stunde, '$beschreibung', '$titel', 0)"; // semester, verband, gruppe, gruppe_kurzbz,
diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index 75c6906d2..0bc159f6f 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -8,8 +8,6 @@
Die Liste ist in Module geteilt. Innerhalb eines Moduls erfolgt die
Auflistung nach Priorität (höchste oben).
Änderungen
-Emailversand an Privatadressen
-Filter fuer alle Studenten mit offenen Buchungen
Ansicht fuer alle Gruppen in denen sich der Student befindet
@@ -42,11 +40,22 @@ content/statistik/lvplanung.php muss noch erstellt werden)
Absolventen Beendigungsdatum bei allen auf einmal setzbar
- Gegenbuchung fuer mehrere Buchungen auf einmal
Erledigte Anforderungen
+Gegenbuchung fuer mehrere Buchungen auf einmal
+22.08.2007
+Auf Zahlungsbestätigung immer den Absoluten Betrag anzeigen
+22.08.2007 oesi
+In der Lehrauftragsliste soll Studiensemester/Studiengang/Ausbildungsseemster angezeigt werden
+22.08.2007 oesi
+Wenn Semesterstunden bei Lektorenzuteilung geändert wird, dann sollen die Planstunden auch geändert werden
+22.08.2007 oesi
+Emailversand an Privatadressen
+22.08.2007 oesi
+Filter fuer alle Studenten mit offenen Buchungen
+22.08.2007 oesi
Bachelorarbeiten und Themengebiet am Zeugnis anzeigen
21.08.2007
Studiensemester am Lehrauftrag besser hervorheben
diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php
index a20997bfd..ef6ff1e52 100644
--- a/content/fasoverlay.js.php
+++ b/content/fasoverlay.js.php
@@ -644,8 +644,10 @@ function StatistikPrintLehrauftragsliste()
var col;
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
var studiengang_kz=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["sem"] : "sem";
+ var semester=tree.view.getCellText(tree.currentIndex,col);
- window.open('content/statistik/lehrauftragsliste_gst.xls.php?studiengang_kz='+studiengang_kz,'Lehrauftragsliste');
+ window.open('content/statistik/lehrauftragsliste_gst.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester,'Lehrauftragsliste');
}
// ****
diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
index e25ae2ee1..b7becb003 100644
--- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
+++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
@@ -349,7 +349,7 @@ echo '';
-
+
diff --git a/content/statistik/lehrauftragsliste_gst.xls.php b/content/statistik/lehrauftragsliste_gst.xls.php
index e03961ad0..43dcb84b9 100644
--- a/content/statistik/lehrauftragsliste_gst.xls.php
+++ b/content/statistik/lehrauftragsliste_gst.xls.php
@@ -35,6 +35,11 @@ if(isset($_GET['studiengang_kz']) && is_numeric($_GET['studiengang_kz']))
$studiengang_kz=$_GET['studiengang_kz'];
else
die('studiengangs_kz muss uebergeben werden');
+
+if(isset($_GET['semester']) && is_numeric($_GET['semester']))
+ $semester=$_GET['semester'];
+else
+ $semester='';
$user = get_uid();
loadVariables($conn, $user);
@@ -46,7 +51,7 @@ $studiengang = new studiengang($conn, $studiengang_kz);
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
-$workbook->send("Lehrauftragsliste_GST_" . date("Y_m_d") . ".xls");
+$workbook->send("Lehrauftragsliste_".$semester_aktuell."_".$studiengang->kuerzel.($semester!=''?'_'.$semester:'').".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Lehrauftragsliste");
@@ -63,27 +68,29 @@ $format_number_bold->setNumFormat('0,0.00');
$format_number_bold->setBold();
$i=0;
-
+$worksheet->write(0,0,'Erstellt am '.date('d.m.Y').' '.$semester_aktuell.' '.$studiengang->kuerzel.' '.$semester, $format_bold);
//Ueberschriften
-$worksheet->write(0,$i,"Studiengang", $format_bold);
-$worksheet->write(0,++$i,"Personalnr", $format_bold);
-$worksheet->write(0,++$i,"Titel", $format_bold);
-$worksheet->write(0,++$i,"Vorname", $format_bold);
-$worksheet->write(0,++$i,"Familienname", $format_bold);
-$worksheet->write(0,++$i,"Stunden", $format_bold);
-$worksheet->write(0,++$i,"Kosten", $format_bold);
+$worksheet->write(2,$i,"Studiengang", $format_bold);
+$worksheet->write(2,++$i,"Personalnr", $format_bold);
+$worksheet->write(2,++$i,"Titel", $format_bold);
+$worksheet->write(2,++$i,"Vorname", $format_bold);
+$worksheet->write(2,++$i,"Familienname", $format_bold);
+$worksheet->write(2,++$i,"Stunden", $format_bold);
+$worksheet->write(2,++$i,"Kosten", $format_bold);
//Daten holen
$qry = "SELECT vw_lehreinheit.*, tbl_person.vorname, tbl_person.nachname, tbl_person.titelpre, tbl_mitarbeiter.personalnummer, tbl_person.person_id
FROM campus.vw_lehreinheit, public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person WHERE
tbl_person.person_id = tbl_benutzer.person_id AND tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND
vw_lehreinheit.mitarbeiter_uid=tbl_mitarbeiter.mitarbeiter_uid AND
- studiengang_kz='$studiengang_kz' AND studiensemester_kurzbz='$semester_aktuell'
- ORDER BY nachname, vorname, mitarbeiter_uid";
+ studiengang_kz='$studiengang_kz' AND studiensemester_kurzbz='$semester_aktuell'";
+if($semester!='')
+ $qry.=" AND semester='$semester'";
+$qry.=" ORDER BY nachname, vorname, mitarbeiter_uid";
if($result = pg_query($conn, $qry))
{
- $zeile=1;
+ $zeile=3;
$gesamtkosten = 0;
$liste=array();
@@ -117,6 +124,8 @@ if($result = pg_query($conn, $qry))
AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
tbl_lehreinheit.studiensemester_kurzbz='$semester_aktuell' AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
tbl_lehrveranstaltung.studiengang_kz='$studiengang_kz'";
+ if($semester!='')
+ $qry.=" AND tbl_lehrveranstaltung.semester='$semester'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index 152087ee9..35a8d1282 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -873,46 +873,62 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='savegegenbuchung')
{
//Speichert eine Buchung
- if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr']))
+ if(isset($_POST['buchungsnr']))
{
- $buchung = new konto($conn, null, true);
-
- if($buchung->load($_POST['buchungsnr']))
+ $bnr_arr = explode(';',$_POST['buchungsnr']);
+ $errormsg='';
+ foreach ($bnr_arr as $buchungsnr)
{
- if($buchung->buchungsnr_verweis=='')
+ if(is_numeric($buchungsnr))
{
- $kto = new konto($conn, null, true);
- //$buchung->betrag*(-1);
- $buchung->betrag = $kto->getDifferenz($_POST['buchungsnr']);
- $buchung->buchungsdatum = date('Y-m-d');
- $buchung->mahnspanne = '0';
- $buchung->buchungsnr_verweis = $buchung->buchungsnr;
- $buchung->new = true;
- $buchung->insertamum = date('Y-m-d H:i:s');
- $buchung->insertvon = $user;
-
- if($buchung->save())
+ $buchung = new konto($conn, null, true);
+
+ if($buchung->load($buchungsnr))
{
- $data = $buchung->buchungsnr;
- $return = true;
+ if($buchung->buchungsnr_verweis=='')
+ {
+ $kto = new konto($conn, null, true);
+ //$buchung->betrag*(-1);
+ $buchung->betrag = $kto->getDifferenz($buchungsnr);
+ $buchung->buchungsdatum = date('Y-m-d');
+ $buchung->mahnspanne = '0';
+ $buchung->buchungsnr_verweis = $buchung->buchungsnr;
+ $buchung->new = true;
+ $buchung->insertamum = date('Y-m-d H:i:s');
+ $buchung->insertvon = $user;
+
+ if($buchung->save())
+ {
+ //$data = $buchung->buchungsnr;
+ $return = true;
+ }
+ else
+ {
+ $return = false;
+ $errormsg .= "\n".'Fehler beim Speichern:'.$buchung->errormsg;
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg .= "\n".'Gegenbuchungen koennen nur auf die obersten Buchungen getaetigt werden';
+ }
}
else
{
+ $errormsg .= "\n".'Buchung wurde nicht gefunden:'.$_POST['buchungsnr'];
$return = false;
- $errormsg = 'Fehler beim Speichern:'.$buchung->errormsg;
}
}
+ if($errormsg!='')
+ {
+ $return = false;
+ }
else
{
- $return = false;
- $errormsg = 'Gegenbuchungen koennen nur auf die obersten Buchungen getaetigt werden';
+ $return = true;
}
- }
- else
- {
- $errormsg = 'Buchung wurde nicht gefunden:'.$_POST['buchungsnr'];
- $return = false;
- }
+ }
}
else
{
@@ -1727,6 +1743,57 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
+ elseif(isset($_POST['type']) && $_POST['type']=='getprivatemailadress')
+ {
+ if(isset($_POST['person_ids']))
+ {
+ $pers_arr = explode(';',$_POST['person_ids']);
+ $data='';
+ $anz_error=0;
+
+ foreach ($pers_arr as $person_id)
+ {
+ if(is_numeric($person_id))
+ {
+ $qry = "SELECT kontakt FROM public.tbl_kontakt WHERE kontakttyp='email' AND person_id='$person_id' ORDER BY zustellung LIMIT 1";
+ if($result = pg_query($conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ if($data!='')
+ $data.=','.$row->kontakt;
+ else
+ $data = $row->kontakt;
+ }
+ else
+ {
+ $anz_error++;
+ }
+ }
+ }
+ }
+ if($data!='')
+ {
+ if($anz_error==0)
+ $return = true;
+ else
+ {
+ $return = false;
+ $errormsg = "Bei $anz_error Personen wurde keine Emailadresse gefunden!";
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Es wurde keine Privatadresse gefunden';
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Fehlerhafte Parameteruebergabe';
+ }
+ }
else
{
$return = false;
diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php
index 4fe4739eb..1a2394388 100644
--- a/content/student/studentenoverlay.xul.php
+++ b/content/student/studentenoverlay.xul.php
@@ -100,89 +100,89 @@ echo '
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/content/student/studentkontooverlay.xul.php b/content/student/studentkontooverlay.xul.php
index fe298c66a..b7cec7749 100644
--- a/content/student/studentkontooverlay.xul.php
+++ b/content/student/studentkontooverlay.xul.php
@@ -44,13 +44,14 @@ echo '';
-
+
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index fe87db3c7..6918855d6 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -1593,11 +1593,11 @@ function StudentKontoTreeSelectBuchung()
{
//Alle subtrees oeffnen weil rowCount nur die Anzahl der sichtbaren
//Zeilen zurueckliefert
- for(var i=items-1;i>=0;i--)
- {
- if(!tree.view.isContainerOpen(i))
- tree.view.toggleOpenState(i);
- }
+ //for(var i=items-1;i>=0;i--)
+ //{
+ // if(!tree.view.isContainerOpen(i))
+ // tree.view.toggleOpenState(i);
+ //}
//Jetzt die wirkliche Anzahl (aller) Zeilen holen
items = tree.view.rowCount;
@@ -1736,6 +1736,65 @@ function StudentKontoFilter()
kontotree.builder.addListener(StudentKontoTreeListener);
}
+// ****
+// * Zeigt im Studententree nur diejenigen Studenten an die noch nicht alle Dokumente abgegeben haben
+// ****
+function StudentKontoFilterStudenten()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree=document.getElementById('tree-verband');
+
+ //Wenn nichts markiert wurde -> beenden
+ if(tree.currentIndex==-1)
+ return;
+
+ // Progressmeter starten. Ab jetzt keine 'return's mehr.
+ document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined');
+ //globalProgressmeter.StartPM();
+
+ var col;
+ col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
+ var stg_kz=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["sem"] : "sem";
+ var sem=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["ver"] : "ver";
+ var ver=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["grp"] : "grp";
+ var grp=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["gruppe"] : "gruppe";
+ var gruppe=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["typ"] : "typ";
+ var typ=tree.view.getCellText(tree.currentIndex,col);
+ col = tree.columns ? tree.columns["stsem"] : "stsem";
+ var stsem=tree.view.getCellText(tree.currentIndex,col);
+
+ stsem = getStudiensemester();
+ url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&filter2=konto&"+gettimestamp();
+ var treeStudent=document.getElementById('student-tree');
+
+ //Alte DS entfernen
+ var oldDatasources = treeStudent.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeStudent.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ try
+ {
+ StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
+ treeStudent.builder.removeListener(StudentTreeListener);
+ }
+ catch(e)
+ {}
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ StudentTreeDatasource = rdfService.GetDataSource(url);
+ StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ treeStudent.database.AddDataSource(StudentTreeDatasource);
+ StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
+ treeStudent.builder.addListener(StudentTreeListener);
+}
+
// ****
// * Aktiviert / Deaktiviert die Konto Felder
// ****
@@ -1824,16 +1883,37 @@ function StudentKontoGegenbuchung()
StudentKontoDetailDisableFields(false);
+ var start = new Object();
+ var end = new Object();
+ var numRanges = tree.view.selection.getRangeCount();
+ var paramList= '';
+
+ for (var t = 0; t < numRanges; t++)
+ {
+ tree.view.selection.getRangeAt(t,start,end);
+ for (var v = start.value; v <= end.value; v++)
+ {
+ if(!tree.view.getParentIndex(v))
+ {
+ alert('Zum Drucken der Bestaetigung bitte die oberste Buchung waehlen');
+ return false;
+ }
+ var col = tree.columns ? tree.columns["student-konto-tree-buchungsnr"] : "student-konto-tree-buchungsnr";
+ var buchungsnr=tree.view.getCellText(v,col);
+ paramList += ';'+buchungsnr;
+ }
+ }
+
//Ausgewaehlte Nr holen
- var col = tree.columns ? tree.columns["student-konto-tree-buchungsnr"] : "student-konto-tree-buchungsnr";
- var buchungsnr=tree.view.getCellText(tree.currentIndex,col);
+ //var col = tree.columns ? tree.columns["student-konto-tree-buchungsnr"] : "student-konto-tree-buchungsnr";
+ //var buchungsnr=tree.view.getCellText(tree.currentIndex,col);
var url = 'content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'savegegenbuchung');
- req.add('buchungsnr', buchungsnr);
+ req.add('buchungsnr', paramList);
var response = req.executePOST();
@@ -1842,13 +1922,15 @@ function StudentKontoGegenbuchung()
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
- alert(response)
+ alert(response);
else
- alert(val.dbdml_errormsg)
+ alert(val.dbdml_errormsg);
+ StudentKontoTreeDatasource.Refresh(false); //non blocking
}
else
{
- StudentKontoSelectBuchung=val.dbdml_data;
+ //StudentKontoSelectBuchung=val.dbdml_data;
+ StudentKontoSelectBuchung=null;
StudentKontoTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
@@ -2016,12 +2098,7 @@ function StudentCreateZeugnis()
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
- {
- if(!tree.view.getParentIndex(v))
- {
- alert('Zum Drucken der Bestaetigung bitte die oberste Buchung waehlen');
- return false;
- }
+ {
var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var uid=tree.view.getCellText(v,col);
paramList += ';'+uid;
@@ -3168,37 +3245,49 @@ function StudentSendMail()
// ****
function StudentSendMailPrivat()
{
- mailempfaenger='';
var tree=document.getElementById('student-tree');
var numRanges = tree.view.selection.getRangeCount();
var start = new Object();
- var end = new Object();
- var anzfault=0;
+ var end = new Object();
+ var person_ids='';
+
//Markierte Datensaetze holen
for (var t=0; t1)
- {
- if(mailempfaenger!='')
- mailempfaenger=mailempfaenger+','+tree.view.getCellText(v,col);
- else
- mailempfaenger='mailto:'+tree.view.getCellText(v,col);
- }
- else
- {
- anzfault=anzfault+1;
- }
+ var col = tree.columns ? tree.columns["student-treecol-person_id"] : "student-treecol-person_id";
+ person_ids=person_ids+';'+tree.view.getCellText(v,col);
}
}
- if(anzfault!=0)
- alert(anzfault+' Student konnten nicht hinzugefuegt werden weil keine Privatemailadresse eingetragen ist!');
-
- if(mailempfaenger!='')
- window.location.href=mailempfaenger;
+
+ var url = 'content/student/studentDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'getprivatemailadress');
+ req.add('person_ids', person_ids);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ {
+ alert(val.dbdml_errormsg)
+ if(val.dbdml_data!='')
+ window.location.href='mailto:'+val.dbdml_data;
+ }
+ }
+ else
+ {
+ if(val.dbdml_data!='')
+ window.location.href='mailto:'+val.dbdml_data;
+ }
}
// ****
diff --git a/include/prestudent.class.php b/include/prestudent.class.php
index 2203dcce0..ddc60dd85 100644
--- a/include/prestudent.class.php
+++ b/include/prestudent.class.php
@@ -433,7 +433,7 @@ class prestudent extends person
{
$qry = "SELECT * FROM (
SELECT *, (
- SELECT rolle_kurzbz FROM tbl_prestudentrolle WHERE prestudent_id=prestudent.prestudent_id ORDER BY datum DESC, insertamum DESC LIMIT 1) AS rolle
+ SELECT rolle_kurzbz FROM tbl_prestudentrolle WHERE prestudent_id=prestudent.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
FROM tbl_prestudent prestudent ORDER BY prestudent_id) a, tbl_prestudentrolle, tbl_person
WHERE a.rolle=tbl_prestudentrolle.rolle_kurzbz AND
a.person_id=tbl_person.person_id AND
@@ -715,7 +715,7 @@ class prestudent extends person
function getLastStatus($prestudent_id)
{
- $qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' ORDER BY datum DESC, insertamum DESC LIMIT 1";
+ $qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
diff --git a/include/student.class.php b/include/student.class.php
index d0e8826f9..a3128c5cd 100644
--- a/include/student.class.php
+++ b/include/student.class.php
@@ -287,10 +287,10 @@ class student extends benutzer
//$sql_query="SELECT * FROM campus.vw_student WHERE $where ORDER by nachname,vorname";
$sql_query = "SELECT *, tbl_student.semester as std_semester, tbl_student.verband as std_verband, tbl_student.gruppe as std_gruppe, tbl_student.studiengang_kz as std_studiengang_kz,
tbl_studentlehrverband.studiengang_kz as lvb_studiengang_kz, tbl_studentlehrverband.semester as lvb_semester, tbl_studentlehrverband.verband as lvb_verband, tbl_studentlehrverband.gruppe as lvb_gruppe
- FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband";
+ FROM public.tbl_person, public.tbl_student, public.tbl_benutzer, public.tbl_studentlehrverband, public.tbl_prestudent";
if($gruppe!=null)
$sql_query.= ",public.tbl_benutzergruppe";
- $sql_query.= " WHERE tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname";
+ $sql_query.= " WHERE tbl_prestudent.prestudent_id=tbl_student.prestudent_id AND tbl_person.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid = tbl_student.student_uid AND tbl_studentlehrverband.student_uid=tbl_student.student_uid AND $where ORDER BY nachname, vorname";
//echo $sql_query;
if(!($erg=pg_query($this->conn, $sql_query)))
{
@@ -330,6 +330,14 @@ class student extends benutzer
$l->verband=$row->lvb_verband;
$l->semester=$row->lvb_semester;
$l->studiengang_kz=$row->lvb_studiengang_kz;
+ $l->staatsbuergerschaft = $row->staatsbuergerschaft;
+
+ $l->zgv_code = $row->zgv_code;
+ $l->zgvort = $row->zgvort;
+ $l->zgvdatum = $row->zgvdatum;
+ $l->zgvmas_code = $row->zgvmas_code;
+ $l->zgvmaort = $row->zgvmaort;
+ $l->zgvmadatum = $row->zgvmadatum;
//$l->stg_bezeichnung=$row->bezeichnung;
// student in Array speichern
$result[]=$l;
diff --git a/rdf/konto.rdf.php b/rdf/konto.rdf.php
index 4708365fe..decc3fd62 100644
--- a/rdf/konto.rdf.php
+++ b/rdf/konto.rdf.php
@@ -201,7 +201,7 @@ elseif ($xmlformat=='xml')
studiengang_kz."]]>
studiensemester_kurzbz."]]>
buchungsnr_verweis."]]>
- betrag*(-1))."]]>
+ betrag))."]]>
convertISODate($row->buchungsdatum)."]]>
buchungstext."]]>
mahnspanne."]]>
diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php
index f9a2e39f0..8fa4f26fe 100644
--- a/rdf/student.rdf.php
+++ b/rdf/student.rdf.php
@@ -138,8 +138,8 @@ if($xmlformat=='rdf')
vornamen.']]>
vorname.']]>
nachname.']]>
- svnr.']]>
- ersatzkennzeichen.']]>
+ '.($row->svnr==''?' ':'svnr.']]>').'
+ '.($row->ersatzkennzeichen==''?' ':'ersatzkennzeichen.']]>').'
convertISODate($row->gebdatum).']]>
gebdatum.']]>
semester)?$row->semester:'').']]>
@@ -149,7 +149,7 @@ if($xmlformat=='rdf')
uid)?$row->uid.'@'.DOMAIN:'').']]>
- anmerkungen.']]>
+ '.($row->anmerkungen==''?' ':'anmerkungen.']]>').'
studiengang_kz.']]>
studiengang_kz].']]>
@@ -191,7 +191,7 @@ if($xmlformat=='rdf')
aktiv?'true':'false').']]>
gebort.']]>
gebzeit.']]>
- anmerkungen.']]>
+ '.($row->anmerkungen==''?' ':'anmerkungen.']]>').'
anrede.']]>
svnr.']]>
ersatzkennzeichen.']]>
diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php
index 7a374ce88..c12fa3e09 100644
--- a/vilesci/stammdaten/reihungstestverwaltung.php
+++ b/vilesci/stammdaten/reihungstestverwaltung.php
@@ -27,6 +27,8 @@
require_once('../../include/ort.class.php');
require_once('../../include/datum.class.php');
+ require_once('../../include/Excel/excel.php');
+
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -38,217 +40,301 @@
$stg_arr = array();
$error = false;
-?>
-
-
-
-Reihungstest
-
-
-
-
-
-Reihungstest - Verwaltung
-getAll('typ, kurzbz', false);
+ foreach ($studiengang->result as $stg)
+ $stg_arr[$stg->studiengang_kz]=$stg->kuerzel;
+
+ $reihungstest = new reihungstest($conn);
+ if($reihungstest->load($_GET['reihungstest_id']))
+ {
+ // Creating a workbook
+ $workbook = new Spreadsheet_Excel_Writer();
+
+ // sending HTTP headers
+ $workbook->send("Anwesenheitsliste_Reihungstest_".$reihungstest->datum.".xls");
+
+ // Creating a worksheet
+ $worksheet =& $workbook->addWorksheet("Reihungstest");
+
+ //Formate Definieren
+ $format_bold =& $workbook->addFormat();
+ $format_bold->setBold();
+
+ $worksheet->write(0,0,'Anwesenheitsliste Reihungstest '.$datum_obj->convertISODate($reihungstest->datum).' '.$reihungstest->uhrzeit.' Uhr '.$reihungstest->anmerkung.', erstellt am '.date('d.m.Y'), $format_bold);
+ //Ueberschriften
+ $i=0;
+ $worksheet->write(2,$i,"Vorname", $format_bold);
+ $maxlength[$i] = 7;
+ $worksheet->write(2,++$i,"Nachname", $format_bold);
+ $maxlength[$i] = 8;
+ $worksheet->write(2,++$i,"Geburtsdatum", $format_bold);
+ $maxlength[$i] = 12;
+ $worksheet->write(2,++$i,"Studiengang", $format_bold);
+ $maxlength[$i] = 11;
+ //$worksheet->write(2,++$i,"EMail", $format_bold);
+ //$maxlength[$i] = 5;
+
+ $qry = "SELECT * FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest->reihungstest_id' ORDER BY nachname, vorname";
+ //, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id ORDER BY zustellung LIMIT 1) as email
+ if($result = pg_query($conn, $qry))
+ {
+ $zeile=3;
+ while($row = pg_fetch_object($result))
+ {
+ $i=0;
+
+ $worksheet->write($zeile,$i, $row->vorname);
+ if(strlen($row->vorname)>$maxlength[$i])
+ $maxlength[$i] = strlen($row->vorname);
+
+ $worksheet->write($zeile,++$i,$row->nachname);
+ if(strlen($row->nachname)>$maxlength[$i])
+ $maxlength[$i] = strlen($row->nachname);
+
+ $worksheet->write($zeile,++$i,$datum_obj->convertISODate($row->gebdatum));
+ if(strlen($row->gebdatum)>$maxlength[$i])
+ $maxlength[$i] = strlen($row->gebdatum);
+
+ $worksheet->write($zeile,++$i,$stg_arr[$row->studiengang_kz]);
+ if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$i])
+ $maxlength[$i] = strlen($stg_arr[$row->studiengang_kz]);
+
+ //$worksheet->write($zeile,++$i,$row->email);
+ //if(strlen($row->email)>$maxlength[$i])
+ // $maxlength[$i] = strlen($row->email);
+
+ $zeile++;
+ }
+ }
+ //Die Breite der Spalten setzen
+ foreach($maxlength as $i=>$breite)
+ $worksheet->setColumn($i, $i, $breite+2);
+
+ $workbook->close();
+ }
+ else
+ {
+ echo 'Reihungstest wurde nicht gefunden!';
+ }
+ }
+ else
+ {
+ echo '
+
+
+
+ Reihungstest
+
+
+
+
+
+
+ Reihungstest - Verwaltung ';
+
+ // Speichern eines Reihungstesttermines
+ if(isset($_POST['speichern']))
+ {
+ $reihungstest = new reihungstest($conn);
+
+ if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
+ {
+ //Reihungstest laden
+ if(!$reihungstest->load($_POST['reihungstest_id']))
+ die($reihungstest->errormsg);
+ $reihungstest->new = false;
+ }
+ else
+ {
+ //Neuen Reihungstest anlegen
+ $reihungstest->new=true;
+ $reihungstest->insertvon = $user;
+ $reihungstest->insertamum = date('Y-m-d H:i:s');
+ }
+
+ //Datum und Uhrzeit pruefen
+ if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum']))
+ {
+ echo 'Datum ist ungueltig';
+ $error = true;
+ }
+ if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit']))
+ {
+ echo 'Uhrzeit ist ungueltig:'.$_POST['uhrzeit'];
+ $error = true;
+ }
+
+ if(!$error)
+ {
+ $reihungstest->studiengang_kz = $_POST['studiengang_kz'];
+ $reihungstest->ort_kurzbz = $_POST['ort_kurzbz'];
+ $reihungstest->anmerkung = $_POST['anmerkung'];
+ $reihungstest->datum = $_POST['datum'];
+ $reihungstest->uhrzeit = $_POST['uhrzeit'];
+ $reihungstest->updateamum = date('Y-m-d H:i:s');
+ $reihungstest->udpatevon = $user;
+
+ if($reihungstest->save())
+ {
+ echo 'Daten wurden erfolgreich gespeichert';
+ $reihungstest_id = $reihungstest->reihungstest_id;
+ $stg_kz = $reihungstest->studiengang_kz;
+ }
+ else
+ {
+ echo 'Fehler beim Speichern der Daten: '.$reihungstest->errormsg;
+ }
+ }
+ }
+ echo ' ";
+
$reihungstest = new reihungstest($conn);
- if(isset($_POST['reihungstest_id']) && $_POST['reihungstest_id']!='')
+ if(!$neu)
{
- //Reihungstest laden
- if(!$reihungstest->load($_POST['reihungstest_id']))
- die($reihungstest->errormsg);
- $reihungstest->new = false;
+ if(!$reihungstest->load($reihungstest_id))
+ die('Reihungstest existiert nicht: '.$reihungstest_id);
}
else
{
- //Neuen Reihungstest anlegen
- $reihungstest->new=true;
- $reihungstest->insertvon = $user;
- $reihungstest->insertamum = date('Y-m-d H:i:s');
+ if($stg_kz!=-1 && $stg_kz!='')
+ $reihungstest->studiengang_kz = $stg_kz;
}
+
+ //Formular zum bearbeiten des Reihungstests
+ echo ' ';
+ echo "';
+
+ echo ' ';
+ echo "Excel Export ";
+ //Liste der Interessenten die zum Reihungstest angemeldet sind
+ $qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id ORDER BY zustellung LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest_id' ORDER BY nachname, vorname";
+ $mailto = '';
+ if($result = pg_query($conn, $qry))
+ {
+ echo 'Anzahl: '.pg_num_rows($result);
+
+ echo "Vorname Nachname Studiengang Geburtsdatum EMail ";
+ while($row = pg_fetch_object($result))
+ {
+ echo "
+
+ $row->vorname
+ $row->nachname
+ ".$stg_arr[$row->studiengang_kz]."
+ ".$datum_obj->convertISODate($row->gebdatum)."
+ $row->email
+ ";
+
+ $mailto.= ($mailto!=''?',':'').$row->email;
+ }
+ echo "
";
+ echo "Mail an alle senden ";
+ }
+ echo '
+
+ ';
}
-?>
-
-
-
\ No newline at end of file
+?>
\ No newline at end of file