diff --git a/content/tempus.xul.php b/content/tempus.xul.php
index a4a2d8173..8b1c0c65d 100644
--- a/content/tempus.xul.php
+++ b/content/tempus.xul.php
@@ -24,6 +24,8 @@ $rechte->getBerechtigungen($uid);
/*echo '';*/
echo '';
echo '';
+echo '';
+echo '';
?>
rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&"+gettimestamp();
- var treeStudent=document.getElementById('student-tree');
-
- //Alte DS entfernen
- var oldDatasources = treeStudent.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
+ /*try
{
- treeStudent.database.RemoveDataSource(oldDatasources.getNext());
+ url = "rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&"+gettimestamp();
+ var treeStudent=document.getElementById('student-tree');
+
+ //Alte DS entfernen
+ var oldDatasources = treeStudent.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeStudent.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ 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);
}
+ catch(e)
+ {
+ debug(e);
+ }*/
+
+ //Bei Ansicht von Ab-/Unterbrecher den Button "->Student" anzeigen
+ if(sem=='0')
+ document.getElementById('student-toolbar-student').hidden=false;
+ else
+ document.getElementById('student-toolbar-student').hidden=true;
- 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);
+ //Wenn der Interessenten Tab markiert ist, dann den Studenten Tab markieren
+ //if(document.getElementById('main-content-tabs').selectedItem==document.getElementById('tab-interessenten'))
+ // document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten');
+
+ // -------------- Studenten --------------------------
+ try
+ {
+ stsem = getStudiensemester();
+ url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+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);
+
+ //Detailfelder Deaktivieren
+ StudentDetailReset();
+ StudentDetailDisableFields(true);
+ StudentPrestudentDisableFields(true);
+ StudentKontoDisableFields(true);
+ StudentAkteDisableFields(true);
+ StudentIODisableFields(true);
+ StudentNoteDisableFields(true);
+ document.getElementById('student-kontakt').setAttribute('src','');
+ document.getElementById('student-betriebsmittel').setAttribute('src','');
+ StudentAbschlusspruefungDisableFields(true);
+ }
+ catch(e)
+ {
+ debug(e);
+ }
}
- catch(e)
+ else
{
- debug(e);
+ // -------------- Interessenten / Bewerber --------------------------
+ try
+ {
+ if(stsem=='' && typ=='')
+ stsem='aktuelles';
+ url = "rdf/student.rdf.php?"+"studiengang_kz="+stg_kz+"&semester="+sem+"&typ="+typ+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp();
+ var treeInt=document.getElementById('student-tree');
+
+ //Alte DS entfernen
+ var oldDatasources = treeInt.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeInt.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ try
+ {
+ StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
+ treeInt.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);
+ treeInt.database.AddDataSource(StudentTreeDatasource);
+ StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
+ treeInt.builder.addListener(StudentTreeListener);
+
+ //Detailfelder Deaktivieren
+ StudentDetailReset();
+ StudentDetailDisableFields(true);
+ StudentPrestudentDisableFields(true);
+ StudentKontoDisableFields(true);
+ StudentAkteDisableFields(true);
+ StudentIODisableFields(true);
+ StudentNoteDisableFields(true);
+ document.getElementById('student-kontakt').setAttribute('src','');
+ document.getElementById('student-betriebsmittel').setAttribute('src','');
+ StudentAbschlusspruefungDisableFields(true);
+ }
+ catch(e)
+ {
+ debug(e);
+ }
}
// Lehrveranstaltung
@@ -176,10 +289,10 @@ function onLektorSelect()
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid);
-
+
// Lehrveranstaltung
try
- {
+ {
//var stg_idx = treeLektor.view.getParentIndex(tree.currentIndex);
//var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
//var stg_kz=tree.view.getCellText(stg_idx,col);
@@ -205,7 +318,7 @@ function onLektorSelect()
catch(e)
{
debug(e);
- }
+ }
}
function loadURL(event)
diff --git a/content/tempusoverlay.xul.php b/content/tempusoverlay.xul.php
index 1702ac3ad..e35adfe72 100644
--- a/content/tempusoverlay.xul.php
+++ b/content/tempusoverlay.xul.php
@@ -45,6 +45,9 @@ echo '
+
+
+
@@ -59,6 +62,8 @@ echo '
+
+
diff --git a/system/sync/stp/inserts.txt b/system/sync/stp/inserts.txt
index 802da403f..4e28daedc 100644
--- a/system/sync/stp/inserts.txt
+++ b/system/sync/stp/inserts.txt
@@ -288,4 +288,12 @@ INSERT INTO tbl_berechtigung VALUES ('mitarbeiter', 'FAS Mitarbeitermodul');
INSERT INTO tbl_berechtigung VALUES ('lehre', 'Berechtigung fuer CIS-Seite');
INSERT INTO tbl_berechtigung VALUES ('lv-plan', 'Stundenplan');
INSERT INTO tbl_berechtigung VALUES ('assistenz', 'Assistenz');
-INSERT INTO tbl_berechtigung VALUES ('news', 'News eintragen');
\ No newline at end of file
+INSERT INTO tbl_berechtigung VALUES ('news', 'News eintragen');
+
+-- buchungstyp
+
+INSERT INTO public.tbl_buchungstyp VALUES ('Lehrmittelbeitrag', 'Lehrmittelbeitrag');
+INSERT INTO public.tbl_buchungstyp VALUES ('Studiengebuehr', 'Studiengebühr');
+INSERT INTO public.tbl_buchungstyp VALUES ('Sonstiges', 'Sonstiges');
+INSERT INTO public.tbl_buchungstyp VALUES ('Unkostenbeitrag', 'Unkostenbeitrag');
+INSERT INTO public.tbl_buchungstyp VALUES ('Kaution', 'Kaution');
\ No newline at end of file
diff --git a/system/sync/stp/sync_stp_vilesci_konto.php b/system/sync/stp/sync_stp_vilesci_konto.php
new file mode 100644
index 000000000..758f4a573
--- /dev/null
+++ b/system/sync/stp/sync_stp_vilesci_konto.php
@@ -0,0 +1,183 @@
+ VILESCI
+// setzt vorraus: - tbl_person
+// - tbl_studiengang
+// - tbl_studiensemester
+// - tbl_buchungstyp
+//
+// Beschreibung:
+// Syncronisert die Studiengebuehren aus der Tabelle Studiengebuehren in
+// die Tabelle public.tbl_konto. Dabei wird zuerst die Belastung mit der
+// negativen Studiengebuehr angelegt und danach die dazupassende Gegenbuchung.
+// **************************************
+ require_once('sync_config.inc.php');
+ require_once('../../../include/studiengang.class.php');
+ require_once('../../../include/konto.class.php');
+ require_once('../../../include/functions.inc.php');
+
+ //$conn=pg_connect(CONN_STRING);
+ if (!$conn_ext=mssql_connect (STPDB_SERVER, STPDB_USER, STPDB_PASSWD))
+ die('Fehler beim Verbindungsaufbau!');
+ mssql_select_db(STPDB_DB, $conn_ext);
+
+ if(!$conn = pg_pconnect(CONN_STRING))
+ die('Fehler beim Verbindungsaufbau!');
+
+ echo '
+
+
+ STP - VILESCI (Konto)
+
+
+ ';
+
+ echo 'Starte Konto Syncronisation '.date('H:i:s').'
';
+ flush();
+
+ $gesamt=0;
+ $statistik='';
+ $error=0;
+ $head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation des Kontos aufgetreten:\n\n";
+ $text='';
+
+
+ $stg_arr = array();
+ $stg_obj = new studiengang($conn);
+ $stg_obj->getAll(null, false);
+
+ foreach ($stg_obj->result as $stg)
+ $stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
+
+ // ******** SYNC START ********** //
+
+ $qry = "SELECT
+ _person, sem1, sem2, sem3, sem4, sem5, sem6, sem7, sem8, sem9, sem10
+ FROM
+ studiengebuehren
+ ";
+
+ if($result_ext = mssql_query($qry, $conn_ext))
+ {
+ while($row_ext=mssql_fetch_object($result_ext))
+ {
+ $gesamt++;
+
+ //Person suchen
+ $qry = "SELECT person_id, studiengang_kz FROM public.tbl_prestudent WHERE ext_id='$row_ext->_person'";
+ if($result = pg_query($conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $person_id = $row->person_id;
+ $studiengang_kz = $row->studiengang_kz;
+ }
+ else
+ {
+ $text.="Person zu $row_ext->_person wurde nicht gefunden\n";
+ $error++;
+ continue;
+ }
+ }
+ else
+ {
+ $text.="Fehler beim ermitteln der Person: ".pg_last_error($conn)."\n";
+ $error++;
+ continue;
+ }
+
+ //Semester durchlaufen
+ for($i=1;$i<=10;$i++)
+ {
+ $semester = 'sem'.$i;
+ if($row_ext->$semester=='')
+ continue;
+
+ $datum = date('Y-m-d', strtotime($row_ext->$semester));
+
+ $studiensemester_kurzbz = getStudiensemesterFromDatum($conn, $datum, true);
+ if(!$studiensemester_kurzbz)
+ {
+ $text.="Es konnte kein passendes Studiensemester zu $datum gefunden werden\n";
+ $error++;
+ }
+
+ $konto = new konto($conn);
+
+ $qry = "SELECT * FROM public.tbl_konto WHERE
+ person_id='$person_id' AND
+ studiengang_kz='$studiengang_kz' AND
+ studiensemester_kurzbz='$studiensemester_kurzbz' AND
+ buchungstyp_kurzbz='Studiengebuehr'";
+ if($result = pg_query($conn, $qry))
+ {
+ if(pg_num_rows($result)>0)
+ {
+ //Wenn der Eintrag schon vorhanden ist dann dieses Semester ueberspringen
+ continue;
+ }
+ }
+ else
+ {
+ $text.="Fehler bei Select:".pg_last_error($conn);
+ continue;
+ }
+
+ //Belastung Buchen
+ $konto->person_id = $person_id;
+ $konto->studiengang_kz = $studiengang_kz;
+ $konto->studiensemester_kurzbz = $studiensemester_kurzbz;
+ $konto->buchungstyp_kurzbz = 'Studiengebuehr';
+ $konto->buchungsnr_verweis = '';
+ $konto->betrag = -363.36;
+ $konto->buchungsdatum = $datum;
+ $konto->buchungstext = "Studiengebuehr $stg_arr[$studiengang_kz] $i. Semester";
+ $konto->mahnspanne = 0;
+ $konto->updateamum = date('Y-m-d H:i:s');
+ $konto->updatevon = 'sync';
+ $konto->insertamum = date('Y-m-d H:i:s');
+ $konto->insertvon = 'sync';
+
+ if($konto->save(true))
+ {
+ //Gegenbuchung
+ $konto->buchungsnr_verweis = $konto->buchungsnr;
+ $konto->betrag = 363.36;
+ if($konto->save(true))
+ {
+ $text.="Studiengebuehr fuer Person $person_id Studiengang $stg_arr[$studiengang_kz] Semester $i wurde hinzugefuegt\n";
+ }
+ else
+ {
+ $text.="Fehler beim Speichern der Gegenbuchung: $konto->errormsg\n";
+ $error++;
+ }
+ }
+ else
+ {
+ $text.="Fehler beim Speichern: $konto->errormsg\n";
+ $error++;
+ }
+ }
+ }
+ }
+ else
+ $text.= "Fehler beim Laden des Kontos\n\n";
+
+ $statistik .="Gesamt: $gesamt\n";
+ $statistik .="Fehler: $error\n";
+
+ $text = $statistik."\n\n".$text;
+ //$to = 'oesi@technikum-wien.at';
+ $to = $adress_ext;
+
+ if(mail($to, 'SYNC Konto',$head_text.$text, "From: nsc@fhstp.ac.at"))
+ echo "Mail wurde an $to versandt
";
+ else
+ echo "Fehler beim Senden an $to
";
+
+ echo nl2br($text);
+?>
+
+
\ No newline at end of file