mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
This commit is contained in:
@@ -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
@@ -8,8 +8,6 @@
|
||||
Die Liste ist in Module geteilt. Innerhalb eines Moduls erfolgt die
|
||||
Auflistung nach Priorität (höchste oben).<br>
|
||||
<h2>Ä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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
@@ -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
@@ -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==''?' ':'<![CDATA['.$row->svnr.']]>').'</STUDENT:svnr>
|
||||
<STUDENT:ersatzkennzeichen>'.($row->ersatzkennzeichen==''?' ':'<![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==''?' ':'<![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==''?' ':'<![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>
|
||||
|
||||
@@ -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>
|
||||
?>
|
||||
Reference in New Issue
Block a user