This commit is contained in:
Andreas Österreicher
2007-08-23 08:30:49 +00:00
parent bed6b25526
commit b8fff3ea07
14 changed files with 585 additions and 314 deletions
+3 -3
View File
@@ -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,
+12 -3
View File
@@ -8,8 +8,6 @@
Die Liste ist in Module geteilt. Innerhalb eines Moduls erfolgt die
Auflistung nach Priorit&auml;t (h&ouml;chste oben).<br>
<h2>&Auml;nderungen</h2>
<li>Emailversand an Privatadressen</li>
<li>Filter fuer alle Studenten mit offenen Buchungen</li>
<li>Ansicht fuer alle Gruppen in denen sich der Student befindet</li>
<br>
@@ -42,11 +40,22 @@ content/statistik/lvplanung.php muss noch erstellt werden)</li>
<br>
<ul>
<li>Absolventen Beendigungsdatum bei allen auf einmal setzbar</li>
<li>Gegenbuchung fuer mehrere Buchungen auf einmal</li>
</ul>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Gegenbuchung fuer mehrere Buchungen auf einmal<br>
22.08.2007<br><br></li>
<li>Auf Zahlungsbestätigung immer den Absoluten Betrag anzeigen<br>
22.08.2007 oesi<br><br></li>
<li>In der Lehrauftragsliste soll Studiensemester/Studiengang/Ausbildungsseemster angezeigt werden<br>
22.08.2007 oesi<br><br></li>
<li>Wenn Semesterstunden bei Lektorenzuteilung geändert wird, dann sollen die Planstunden auch geändert werden<br>
22.08.2007 oesi<br><br></li>
<li>Emailversand an Privatadressen<br>
22.08.2007 oesi<br><br></li>
<li>Filter fuer alle Studenten mit offenen Buchungen<br>
22.08.2007 oesi<br><br></li>
<li>Bachelorarbeiten und Themengebiet am Zeugnis anzeigen<br>
21.08.2007 <br><br></li>
<li>Studiensemester am Lehrauftrag besser hervorheben<br>
+3 -1
View File
@@ -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('<?php echo APP_ROOT ?>content/statistik/lehrauftragsliste_gst.xls.php?studiengang_kz='+studiengang_kz,'Lehrauftragsliste');
window.open('<?php echo APP_ROOT ?>content/statistik/lehrauftragsliste_gst.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester,'Lehrauftragsliste');
}
// ****
@@ -349,7 +349,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</row>
<row>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" value="Semesterstunden: "/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" disabled="true" maxlength="6" flex="1" oninput="LeMitarbeiterValueChanged();"/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" disabled="true" maxlength="6" flex="1" oninput="LeMitarbeiterValueChanged(); if(parseInt(this.value)) document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').value= parseInt(this.value)"/>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden" value="Planstunden: "/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden" disabled="true" maxlength="3" flex="1" oninput="LeMitarbeiterValueChanged();"/>
</row>
+21 -12
View File
@@ -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))
+94 -27
View File
@@ -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;
+21 -21
View File
@@ -100,89 +100,89 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentdokumenteoverla
context="student-tree-popup"
>
<treecols>
<treecol id="student-treecol-uid" label="UID" flex="1" primary="false"
<treecol id="student-treecol-uid" label="UID" flex="1" primary="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#uid" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-titelpre" label="TitelPre" flex="1" hidden="false"
<treecol id="student-treecol-titelpre" label="TitelPre" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#titelpre" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-nachname" label="Nachname" flex="1" hidden="false"
<treecol id="student-treecol-nachname" label="Nachname" flex="1" hidden="false" persist="hidden"
sortActive="true"
sortDirection="ascending"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#nachname" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-vorname" label="Vorname" flex="1" hidden="false"
<treecol id="student-treecol-vorname" label="Vorname" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#vorname" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-vornamen" label="Vornamen" flex="1" hidden="true"
<treecol id="student-treecol-vornamen" label="Vornamen" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#vornamen" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-titelpost" label="TitelPost" flex="1" hidden="false"
<treecol id="student-treecol-titelpost" label="TitelPost" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#titelpost" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-svnr" label="SVNR" flex="1" hidden="false"
<treecol id="student-treecol-svnr" label="SVNR" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#svnr" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" hidden="false"
<treecol id="student-treecol-ersatzkennzeichen" label="Ersatzkennzeichen" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#ersatzkennzeichen" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-geburtsdatum" label="Geburtsdatum" flex="1" hidden="false"
<treecol id="student-treecol-geburtsdatum" label="Geburtsdatum" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#geburtsdatum_iso" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-semester" label="Sem." flex="1" hidden="false"
<treecol id="student-treecol-semester" label="Sem." flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#semester" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-verband" label="Verb." flex="1" hidden="false"
<treecol id="student-treecol-verband" label="Verb." flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#verband" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-gruppe" label="Grp." flex="1" hidden="false"
<treecol id="student-treecol-gruppe" label="Grp." flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#gruppe" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-studiengang" label="Studiengang" flex="1" hidden="true"
<treecol id="student-treecol-studiengang" label="Studiengang" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#studiengang" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-studiengang_kz" label="Studiengang_kz" flex="1" hidden="true"
<treecol id="student-treecol-studiengang_kz" label="Studiengang_kz" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#studiengang_kz" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-matrikelnummer" label="Personenkennzeichen" flex="1" hidden="false"
<treecol id="student-treecol-matrikelnummer" label="Personenkennzeichen" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#matrikelnummer" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-prestudent_id" label="PreStudentID" flex="1" hidden="true"
<treecol id="student-treecol-prestudent_id" label="PreStudentID" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#prestudent_id" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-person_id" label="PersonID" flex="1" hidden="true"
<treecol id="student-treecol-person_id" label="PersonID" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#person_id" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-status" label="Status" flex="1" hidden="false"
<treecol id="student-treecol-status" label="Status" flex="1" hidden="false" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#status" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-mail_privat" label="EMail (Privat)" flex="1" hidden="true"
<treecol id="student-treecol-mail_privat" label="EMail (Privat)" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#mail_privat" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-mail_intern" label="EMail (Intern)" flex="1" hidden="true"
<treecol id="student-treecol-mail_intern" label="EMail (Intern)" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#mail_intern" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="student-treecol-anmerkungen" label="Anmerkungen" flex="1" hidden="true"
<treecol id="student-treecol-anmerkungen" label="Anmerkungen" flex="1" hidden="true" persist="hidden"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/student/rdf#anmerkungen" onclick="StudentTreeSort()"/>
<splitter class="tree-splitter"/>
+2 -1
View File
@@ -44,13 +44,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<hbox flex="1">
<grid id="student-konto-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="4"/>
<column flex="1"/>
</columns>
<rows>
<row>
<hbox>
<spacer flex="1" />
<button id="student-konto-button-filterstudenten" oncommand="StudentKontoFilterStudenten()" label="Filter" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
<button id="student-konto-button-filter" value="alle" oncommand="StudentKontoFilter()" label="offene" disabled="true"/>
</hbox>
<spacer />
+126 -37
View File
@@ -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 = "<?php echo APP_ROOT; ?>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 = '<?php echo APP_ROOT ?>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; t<numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (v=start.value; v<=end.value; v++)
{
var col = tree.columns ? tree.columns["student-treecol-mail_privat"] : "student-treecol-mail_privat";
if(tree.view.getCellText(v,col).length>1)
{
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 = '<?php echo APP_ROOT ?>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;
}
}
// ****
+2 -2
View File
@@ -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))
+10 -2
View File
@@ -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;
+1 -1
View File
@@ -201,7 +201,7 @@ elseif ($xmlformat=='xml')
<studiengang_kz><![CDATA[".$row->studiengang_kz."]]></studiengang_kz>
<studiensemester_kurzbz><![CDATA[".$row->studiensemester_kurzbz."]]></studiensemester_kurzbz>
<buchungsnr_verweis><![CDATA[".$row->buchungsnr_verweis."]]></buchungsnr_verweis>
<betrag><![CDATA[".sprintf('%.2f',$row->betrag*(-1))."]]></betrag>
<betrag><![CDATA[".sprintf('%.2f',abs($row->betrag))."]]></betrag>
<buchungsdatum><![CDATA[".$datum->convertISODate($row->buchungsdatum)."]]></buchungsdatum>
<buchungstext><![CDATA[".$row->buchungstext."]]></buchungstext>
<mahnspanne><![CDATA[".$row->mahnspanne."]]></mahnspanne>
+4 -4
View File
@@ -138,8 +138,8 @@ if($xmlformat=='rdf')
<STUDENT:vornamen><![CDATA['.$row->vornamen.']]></STUDENT:vornamen>
<STUDENT:vorname><![CDATA['.$row->vorname.']]></STUDENT:vorname>
<STUDENT:nachname><![CDATA['.$row->nachname.']]></STUDENT:nachname>
<STUDENT:svnr><![CDATA['.$row->svnr.']]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA['.$row->ersatzkennzeichen.']]></STUDENT:ersatzkennzeichen>
<STUDENT:svnr>'.($row->svnr==''?'&#xA0;':'<![CDATA['.$row->svnr.']]>').'</STUDENT:svnr>
<STUDENT:ersatzkennzeichen>'.($row->ersatzkennzeichen==''?'&#xA0;':'<![CDATA['.$row->ersatzkennzeichen.']]>').'</STUDENT:ersatzkennzeichen>
<STUDENT:geburtsdatum><![CDATA['.$datum_obj->convertISODate($row->gebdatum).']]></STUDENT:geburtsdatum>
<STUDENT:geburtsdatum_iso><![CDATA['.$row->gebdatum.']]></STUDENT:geburtsdatum_iso>
<STUDENT:semester><![CDATA['.(isset($row->semester)?$row->semester:'').']]></STUDENT:semester>
@@ -149,7 +149,7 @@ if($xmlformat=='rdf')
<STUDENT:mail_privat><![CDATA['.$mail_privat.']]></STUDENT:mail_privat>
<STUDENT:mail_intern><![CDATA['.(isset($row->uid)?$row->uid.'@'.DOMAIN:'').']]></STUDENT:mail_intern>
<STUDENT:status><![CDATA['.$status.']]></STUDENT:status>
<STUDENT:anmerkungen><![CDATA['.$row->anmerkungen.']]></STUDENT:anmerkungen>
<STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen>
<STUDENT:studiengang_kz><![CDATA['.$row->studiengang_kz.']]></STUDENT:studiengang_kz>
<STUDENT:studiengang><![CDATA['.$stg_arr[$row->studiengang_kz].']]></STUDENT:studiengang>
</RDF:Description>
@@ -191,7 +191,7 @@ if($xmlformat=='rdf')
<STUDENT:aktiv><![CDATA['.($row->aktiv?'true':'false').']]></STUDENT:aktiv>
<STUDENT:gebort><![CDATA['.$row->gebort.']]></STUDENT:gebort>
<STUDENT:gebzeit><![CDATA['.$row->gebzeit.']]></STUDENT:gebzeit>
<STUDENT:anmerkungen><![CDATA['.$row->anmerkungen.']]></STUDENT:anmerkungen>
<STUDENT:anmerkungen>'.($row->anmerkungen==''?'&#xA0;':'<![CDATA['.$row->anmerkungen.']]>').'</STUDENT:anmerkungen>
<STUDENT:anrede><![CDATA['.$row->anrede.']]></STUDENT:anrede>
<STUDENT:svnr><![CDATA['.$row->svnr.']]></STUDENT:svnr>
<STUDENT:ersatzkennzeichen><![CDATA['.$row->ersatzkennzeichen.']]></STUDENT:ersatzkennzeichen>
+285 -199
View File
@@ -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;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Reihungstest</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>Reihungstest - Verwaltung</h2>
<?php
// Speichern eines Reihungstesttermines
if(isset($_POST['speichern']))
if(isset($_GET['excel']))
{
$studiengang = new studiengang($conn);
$studiengang->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 '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Reihungstest</title>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9" />
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
</head>
<body class="Background_main">
<h2>Reihungstest - Verwaltung</h2>';
// 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 '<br><table width="100%"><tr><td>';
//Studiengang DropDown
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
echo "<SELECT name='studiengang' onchange='window.location.href=this.value'>";
if($stg_kz==-1)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=-1&reihungstest_id=$reihungstest_id' $selected>Alle Studiengaenge</OPTION>";
foreach ($studiengang->result as $row)
{
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
if($stg_kz=='')
$stg_kz=$row->studiengang_kz;
if($row->studiengang_kz==$stg_kz)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$row->studiengang_kz&reihungstest_id=$reihungstest_id' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT>";
//Reihungstest DropDown
$reihungstest = new reihungstest($conn);
if($stg_kz==-1)
$reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden
else
$reihungstest->getReihungstest($stg_kz);
echo "<SELECT name='reihungstest' onchange='window.location.href=this.value'>";
foreach ($reihungstest->result as $row)
{
if($reihungstest_id=='')
$reihungstest_id=$row->reihungstest_id;
if($row->reihungstest_id==$reihungstest_id)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&reihungstest_id=$row->reihungstest_id' $selected>$row->datum $row->uhrzeit $row->ort_kurzbz $row->anmerkung</OPTION>";
}
echo "</SELECT></td>";
echo "<td align='right'><INPUT type='button' value='Neuen Reihungstesttermin anlegen' onclick='window.location.href=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&neu=true\"' >";
echo "</td></tr></table><br><br>";
$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 '<HR>';
echo "<FORM method='POST'>";
echo "<input type='hidden' value='$reihungstest->reihungstest_id' name='reihungstest_id' />";
//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 '<br><table width="100%"><tr><td>';
//Studiengang DropDown
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbz', false);
echo "<SELECT name='studiengang' onchange='window.location.href=this.value'>";
if($stg_kz==-1)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=-1&reihungstest_id=$reihungstest_id' $selected>Alle Studiengaenge</OPTION>";
foreach ($studiengang->result as $row)
{
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
if($stg_kz=='')
$stg_kz=$row->studiengang_kz;
if($row->studiengang_kz==$stg_kz)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$row->studiengang_kz&reihungstest_id=$reihungstest_id' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT>";
//Reihungstest DropDown
$reihungstest = new reihungstest($conn);
if($stg_kz==-1)
$reihungstest->getAll(date('Y').'-01-01'); //Alle Reihungstests ab diesem Jahr laden
else
$reihungstest->getReihungstest($stg_kz);
echo "<SELECT name='reihungstest' onchange='window.location.href=this.value'>";
foreach ($reihungstest->result as $row)
{
if($reihungstest_id=='')
$reihungstest_id=$row->reihungstest_id;
if($row->reihungstest_id==$reihungstest_id)
$selected='selected';
else
$selected='';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&reihungstest_id=$row->reihungstest_id' $selected>$row->datum $row->uhrzeit $row->ort_kurzbz $row->anmerkung</OPTION>";
}
echo "</SELECT></td>";
echo "<td align='right'><INPUT type='button' value='Neuen Reihungstesttermin anlegen' onclick='window.location.href=\"".$_SERVER['PHP_SELF']."?stg_kz=$stg_kz&neu=true\"' >";
echo "</td></tr></table><br><br>";
$reihungstest = new reihungstest($conn);
if(!$neu)
{
if(!$reihungstest->load($reihungstest_id))
die('Reihungstest existiert nicht: '.$reihungstest_id);
}
else
{
if($stg_kz!=-1 && $stg_kz!='')
$reihungstest->studiengang_kz = $stg_kz;
}
//Formular zum bearbeiten des Reihungstests
echo '<HR>';
echo "<FORM method='POST'>";
echo "<input type='hidden' value='$reihungstest->reihungstest_id' name='reihungstest_id' />";
//Studiengang DropDown
echo "<table><tr><td>Studiengang</td><td><SELECT name='studiengang_kz'>";
if($reihungstest->studiengang_kz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
foreach ($studiengang->result as $row)
{
if($row->studiengang_kz==$reihungstest->studiengang_kz)
//Studiengang DropDown
echo "<table><tr><td>Studiengang</td><td><SELECT name='studiengang_kz'>";
if($reihungstest->studiengang_kz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</SELECT></TD></TR>";
//Ort DropDown
echo "<tr><td>Ort</td><td><SELECT name='ort_kurzbz'>";
if($reihungstes->ort_kurzbz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
$ort = new ort($conn);
$ort->getAll();
foreach ($ort->result as $row)
{
if($row->ort_kurzbz==$reihungstest->ort_kurzbz)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->ort_kurzbz' $selected>$row->ort_kurzbz</OPTION";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Anmerkung</td><td><input type="input" name="anmerkung" value="'.$reihungstest->anmerkung.'"></td></tr>';
echo '<tr><td>Datum</td><td><input type="input" name="datum" value="'.$datum_obj->convertISODate($reihungstest->datum).'"></td></tr>';
echo '<tr><td>Uhrzeit</td><td><input type="input" name="uhrzeit" value="'.$reihungstest->uhrzeit.'"></td></tr>';
echo '<tr><td></td><td><input type="submit" name="speichern" value="Speichern"></td></tr>';
echo '</table>';
echo '</FORM>';
echo '<HR>';
//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 "<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'><thead><tr class='liste'><th class='table-sortable:default'>Vorname</th><th class='table-sortable:default'>Nachname</th><th class='table-sortable:default'>Studiengang</th><th class='table-sortable:default'>Geburtsdatum</th><th>EMail</th></tr></thead><tbody>";
while($row = pg_fetch_object($result))
{
echo "
<tr>
<td>$row->vorname</td>
<td>$row->nachname</td>
<td>".$stg_arr[$row->studiengang_kz]."</td>
<td>".$datum_obj->convertISODate($row->gebdatum)."</td>
<td><a href='mailto:$row->email'>$row->email</a></td>
</tr>";
$mailto.= ($mailto!=''?',':'').$row->email;
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
foreach ($studiengang->result as $row)
{
if($row->studiengang_kz==$reihungstest->studiengang_kz)
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='$row->studiengang_kz' $selected>$row->kuerzel</OPTION>";
}
echo "</tbody></table>";
echo "<br><a href='mailto:$mailto'>Mail an alle senden</a>";
echo "</SELECT></TD></TR>";
//Ort DropDown
echo "<tr><td>Ort</td><td><SELECT name='ort_kurzbz'>";
if($reihungstes->ort_kurzbz=='')
$selected = 'selected';
else
$selected = '';
echo "<OPTION value='' $selected>-- keine Auswahl --</OPTION>";
$ort = new ort($conn);
$ort->getAll();
foreach ($ort->result as $row)
{
if($row->ort_kurzbz==$reihungstest->ort_kurzbz)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->ort_kurzbz' $selected>$row->ort_kurzbz</OPTION";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Anmerkung</td><td><input type="input" name="anmerkung" value="'.$reihungstest->anmerkung.'"></td></tr>';
echo '<tr><td>Datum</td><td><input type="input" name="datum" value="'.$datum_obj->convertISODate($reihungstest->datum).'"></td></tr>';
echo '<tr><td>Uhrzeit</td><td><input type="input" name="uhrzeit" value="'.$reihungstest->uhrzeit.'"></td></tr>';
echo '<tr><td></td><td><input type="submit" name="speichern" value="Speichern"></td></tr>';
echo '</table>';
echo '</FORM>';
echo '<HR>';
echo "<a href='".$_SERVER['PHP_SELF']."?reihungstest_id=$reihungstest_id&excel=true'>Excel Export</a><br><br>";
//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 "<table class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'><thead><tr class='liste'><th class='table-sortable:default'>Vorname</th><th class='table-sortable:default'>Nachname</th><th class='table-sortable:default'>Studiengang</th><th class='table-sortable:default'>Geburtsdatum</th><th>EMail</th></tr></thead><tbody>";
while($row = pg_fetch_object($result))
{
echo "
<tr>
<td>$row->vorname</td>
<td>$row->nachname</td>
<td>".$stg_arr[$row->studiengang_kz]."</td>
<td>".$datum_obj->convertISODate($row->gebdatum)."</td>
<td><a href='mailto:$row->email'>$row->email</a></td>
</tr>";
$mailto.= ($mailto!=''?',':'').$row->email;
}
echo "</tbody></table>";
echo "<br><a href='mailto:$mailto'>Mail an alle senden</a>";
}
echo '
</body>
</html>';
}
?>
</body>
</html>
?>