@@ -47,21 +21,12 @@ im SEM 5.36
alle Semester auch das aktuelle Semester ausgedruckt werden?
(möglicherweise enthaelt dies noch nicht alle Noten)
-
-
-
Änderungen / Erweiterungen
-
-
-
Prioritäten: low,med,high
-
-
-
@@ -173,11 +138,10 @@ sichtbar.(CIS)
-
Interessentenimport: Ab 1. Oktober soll nächstes WS
-vorgeschlagen werden.
+
Zahlungsbestätigung über CIS.
+
-
high
-
3
+
10
@@ -191,11 +155,9 @@ vorgeschlagen werden.
-
Zahlungsbestätigung über CIS.
-
-
-
10
-
+
Handbuch Nachprüfung
+
high
+
16
@@ -210,11 +172,11 @@ vorgeschlagen werden.
-
Handbuch Nachprüfung
+
-
high
+
-
16
+
@@ -282,7 +244,8 @@ Studenten
-
+
+
@@ -315,18 +278,9 @@ Studenten
-
-
-
-
-
-
Fehler
-
-
-
@@ -341,7 +295,8 @@ Studenten
-
+
+
@@ -369,7 +324,8 @@ Studenten
-
+
+
@@ -417,23 +373,11 @@ Studenten
-
-
-
-
-
-
ad acta gelegte Änderungen / Erweiterungen
-
-
-
-
-
-
@@ -469,24 +413,31 @@ Studenten
Erledigte Anforderungen
-
Beim Erstellen eines Notenspiegels ohne vorherige Auswahl eines Semesters kommt nun eine Fehlermeldung
- 19.11.2007 oesi
-
-
-
Unter Einstellungen wurde der Menüpunkt zum ändern der Stundenplantabelle entfernt
- 19.11.2007 oesi
-
-
-
Bei ALVS Statistik wurde die Überschrift geändert
- 19.11.2007 oesi
-
-
-
Projektarbeit
+
Interessentenimport: Ab 1. Oktober soll nächstes WS
+vorgeschlagen werden.
+21.11.2007 oesi
+
+
+
Beim Erstellen eines Notenspiegels ohne vorherige Auswahl eines
+Semesters kommt nun eine Fehlermeldung
+19.11.2007 oesi
+
+
+
Unter Einstellungen wurde der Menüpunkt zum ändern der
+Stundenplantabelle entfernt
+19.11.2007 oesi
+
+
+
Bei ALVS Statistik wurde die Überschrift geändert
+19.11.2007 oesi
+
+
+
Projektarbeit
- Beim Lehrveranstaltungsdropdown werden nur noch jene
Lehrveranstaltungen angezeigt bei denen das Attribut BA/DA gesetzt ist
- 15.11.2007 oesi
-
-
+15.11.2007 oesi
+
+
Lehrveranstaltungsverwaltung enthaelt jetzt eine zusätzliche
veränderbare Spalte BA/DA.
15.11.2007 oesi
@@ -1373,7 +1324,5 @@ erste statische Version implementiert
-
-
-
-
\ No newline at end of file
+
+
diff --git a/include/lehrfach.class.php b/include/lehrfach.class.php
index 64193880f..442ae7e5b 100644
--- a/include/lehrfach.class.php
+++ b/include/lehrfach.class.php
@@ -186,7 +186,7 @@ class lehrfach
if($this->new)
{
- $qry = 'INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
+ $qry = 'BEGIN;INSERT INTO lehre.tbl_lehrfach (lehrfach_id, studiengang_kz, fachbereich_kurzbz, kurzbz,
bezeichnung, farbe, aktiv, semester, sprache, ext_id)
VALUES('.
($this->lehrfach_id!=''?$this->addslashes($this->lehrfach_id):"nextval('lehre.tbl_lehrfach_lehrfach_id_seq')").','. // HuschPfusch 4 Syncro
@@ -217,13 +217,40 @@ class lehrfach
' farbe='.$this->addslashes($this->farbe).','.
' aktiv='.($this->aktiv?'true':'false').','.
' semester='.$this->semester.','.
- ' ext_id='.$this->ext_id.','.
+ ' ext_id='.$this->addslashes($this->ext_id).','.
' sprache='.$this->addslashes($this->sprache).
" WHERE lehrfach_id='$this->lehrfach_id'";
}
if(pg_query($this->conn,$qry))
{
+ if($this->new)
+ {
+ if($this->lehrfach_id=='')
+ {
+ $qry = "SELECT currval('lehre.tbl_lehrfach_lehrfach_id_seq') as id";
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $this->lehrfach_id = $row->id;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn, 'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn, 'ROLLBACK');
+ return false;
+ }
+ }
+ pg_query($this->conn, 'COMMIT');
+ }
//Log schreiben
return true;
}
diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php
index 68a90424d..079da19a3 100644
--- a/include/lehrveranstaltung.class.php
+++ b/include/lehrveranstaltung.class.php
@@ -420,7 +420,7 @@ class lehrveranstaltung
'sort='.$this->addslashes($this->sort) .','.
'zeugnis='.($this->zeugnis?'true':'false').','.
'projektarbeit='.($this->projektarbeit?'true':'false').','.
- 'koordinator='.($this->koordinator?'true':'false').','.
+ 'koordinator='.$this->addslashes($this->koordinator).','.
'sprache='.$this->addslashes($this->sprache).' '.
'WHERE lehrveranstaltung_id = '.$this->addslashes($this->lehrveranstaltung_id).';';
}
diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php
index 1b5dd5124..5e047831d 100644
--- a/include/studiensemester.class.php
+++ b/include/studiensemester.class.php
@@ -327,13 +327,23 @@ class studiensemester
}
}
- function getNextStudiensemester()
+ // ****
+ // * Liefert das naechste Studiensemester
+ // * Wenn art=WS dann wird das naechste Wintersemester geliefert
+ // * Wenn art=SS dann wird das naechste Sommersemester geliefert
+ // ****
+ function getNextStudiensemester($art='')
{
- $qry = "SELECT * FROM public.tbl_studiensemester where start>now() ORDER BY start LIMIT 1";
+ $qry = "SELECT * FROM public.tbl_studiensemester WHERE start>now() ";
+
+ if($art!='')
+ $qry.= " AND substring(studiensemester_kurzbz from 1 for 2)='".addslashes($art)."' ";
+
+ $qry.=" ORDER BY start LIMIT 1";
if(!$result=pg_query($this->conn,$qry))
{
- $this->errormsg = 'Fehler beim lesen des Studiensemesters';
+ $this->errormsg = 'Fehler beim Lesen des Studiensemesters';
return false;
}
@@ -345,7 +355,7 @@ class studiensemester
}
else
{
- $this->errormsg = "Es ist kein Studiensemester mit der Kurzbezeichung $studiensemester_kurzbz vorhanden";
+ $this->errormsg = "Es wurde kein entsprechendes Studiensemester gefunden";
return false;
}
diff --git a/system/sync/stp/sync_stp_vilesci_lehrveranstaltung.php b/system/sync/stp/sync_stp_vilesci_lehrveranstaltung.php
index 81e183d06..678fb9eb3 100644
--- a/system/sync/stp/sync_stp_vilesci_lehrveranstaltung.php
+++ b/system/sync/stp/sync_stp_vilesci_lehrveranstaltung.php
@@ -30,7 +30,7 @@
';
- echo mktime();
+ echo 'Starte Lehrveranstaltungs Syncronisation '.date('H:i:s').' ';
flush();
$plausi_error=0;
@@ -44,7 +44,7 @@
$anz_lf_update=0;
$anz_lf_insert=0;
$statistik='';
- $head_stg_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
+ $head_text="Dies ist eine automatische Mail!\n\nFolgende Fehler sind bei der Synchronisation der Lehrveranstaltungen aufgetreten:\n\n";
$text='';
$stg_arr = array();
@@ -65,10 +65,78 @@
return $kurzbz;
}
+ function synctabentry_lv($semester, $lv, $lehrveranstaltung_id)
+ {
+ global $conn;
+
+ $qry = "INSERT INTO sync.tbl_synclehrveranstaltung(lv, insemester, lehrveranstaltung_id) VALUES($lv, $semester, $lehrveranstaltung_id);";
+ pg_query($conn, $qry);
+ }
+ function synctabentry_lf($semester, $lv, $lehrfach_id)
+ {
+ global $conn;
+
+ $qry = "INSERT INTO sync.tbl_synclehrfach(lv, insemester, lehrfach_id) VALUES($lv, $semester, $lehrfach_id);";
+ pg_query($conn, $qry);
+ }
+
+ if (!@pg_query($conn,'SELECT * FROM sync.tbl_synclehrveranstaltung LIMIT 1;'))
+ {
+ $sql='CREATE TABLE sync.tbl_synclehrveranstaltung (
+ lv integer,
+ insemester integer,
+ lehrveranstaltung_id integer,
+ constraint "pk_tbl_sync_stp_lehrveranstaltung" primary key ("lv","insemester","lehrveranstaltung_id"));
+ Grant select on sync.tbl_synclehrveranstaltung to group "admin";
+ Grant update on sync.tbl_synclehrveranstaltung to group "admin";
+ Grant delete on sync.tbl_synclehrveranstaltung to group "admin";
+ Grant insert on sync.tbl_synclehrveranstaltung to group "admin";';
+ if (!@pg_query($conn,$sql))
+ $text.= "sync.tbl_synclehrveranstaltung: ".pg_last_error($conn)."\n";
+ else
+ $text.= "sync.tbl_synclehrveranstaltung wurde angelegt!\n";
+ }
+
+ if (!@pg_query($conn,'SELECT * FROM sync.tbl_synclehrfach LIMIT 1;'))
+ {
+ $sql='CREATE TABLE sync.tbl_synclehrfach (
+ lv integer,
+ insemester integer,
+ lehrfach_id integer,
+ constraint "pk_tbl_sync_stp_lehrfach" primary key ("lv","insemester","lehrfach_id"));
+ Grant select on sync.tbl_synclehrfach to group "admin";
+ Grant update on sync.tbl_synclehrfach to group "admin";
+ Grant delete on sync.tbl_synclehrfach to group "admin";
+ Grant insert on sync.tbl_synclehrfach to group "admin";';
+ if (!@pg_query($conn,$sql))
+ $text.= "sync.tbl_synclehrfach: ".pg_last_error($conn)."\n";
+ else
+ $text.= "sync.tbl_synclehrfach wurde angelegt!\n";
+ }
// ******** SYNC START ********** //
- $qry = "SELECT TOP 30 * FROM lv JOIN studienplaneintrag ON(__LV=_LV)";
+
+ $qry = "SELECT
+ _LV, SUBSTRING(chLVNr, 0, 200) as chLVNr, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, inSemester, inSWS, ECTS
+ FROM
+ lv JOIN studienplaneintrag ON(__LV=_LV)
+ UNION
+ SELECT
+ _LV, SUBSTRING(chLVNr, 0, 200) as chLVNr, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, inSemester, inSWS, ECTS
+ FROM
+ lv JOIN semesterplaneintrag on(__LV=_LV)
+ WHERE
+ semesterplaneintrag._lv not in(SELECT _lv FROM studienplaneintrag)
+ UNION
+ SELECT
+ __LV as _LV, SUBSTRING(chLVNr, 0, 200) as chLVNr, SUBSTRING(chBezeichnung, 0, 200) as chBezeichnung, _Studiengang, SUBSTRING(meKommentar, 0, 200) as meKommentar, 0 as inSemester, 0 as inSWS, 0 as ECTS
+ FROM
+ lv
+ WHERE
+ __LV not in(SELECT _lv FROM studienplaneintrag) AND
+ __LV not in(SELECT _lv FROM semesterplaneintrag)
+ ";
if($result_ext = mssql_query($qry, $conn_ext))
{
@@ -78,7 +146,7 @@
//Lehrveranstaltung
//Schauen ob dieser Eintrag schon vorhanden ist
- $qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung WHERE ext_id='$row_ext->__StudienplanEintrag'";
+ $qry = "SELECT lehrveranstaltung_id FROM sync.tbl_synclehrveranstaltung WHERE lv='$row_ext->_LV' AND insemester='$row_ext->inSemester'";
if($result = pg_query($conn, $qry))
{
@@ -88,7 +156,7 @@
$lehrveranstaltung_id=$row->lehrveranstaltung_id;
else
{
- $text.='Fehler beim Auslesen der Lehrveranstaltung_id bei ext_id '.$row_ext->__StudienplanEintrag."\n";
+ $text.="Fehler beim Auslesen der Lehrveranstaltung_id fuer lv $row_ext->_LV insemester $row_ext->inSemester\n";
continue;
}
}
@@ -140,33 +208,33 @@
if($lv_obj->sprache!='German')
$updtext.=" Sprache wurde von $lv_obj->sprache auf German geaendert\n";
if($lv_obj->ects!=round($row_ext->ECTS,2))
- $updtext.=" ECTS wurde von $lv_obj->ects auf ".round($row_ext->ects,2)." geaendert\n";
- if($lv_obj->semesterstunden!=($row_ext->inSWS*ANZAHL_SEMESTERWOCHEN))
+ $updtext.=" ECTS wurde von $lv_obj->ects auf ".round($row_ext->ECTS,2)." geaendert\n";
+ if($lv_obj->semesterstunden!=((int)$row_ext->inSWS*ANZAHL_SEMESTERWOCHEN))
$updtext.=" Semesterstunden wurde von $lv_obj->semesterstunden auf ".($row_ext->inSWS*ANZAHL_SEMESTERWOCHEN)." geaendert\n";
if($lv_obj->anmerkung!=$row_ext->meKommentar)
- $updtext.=" Anmerkung wurde von $lv_obj->anmerkung auf $row_ext->meKommentar geaendert\n";
+ $updtext.=" Anmerkung wurde von $lv_obj->anmerkung auf $row_ext->meKommentar geaendert\n";
if($lv_obj->lehre != true)
- $updtext.=" lehre wurde von $lv_obj->lehre auf true geaendert\n";
+ $updtext.=" lehre wurde von $lv_obj->lehre auf true geaendert\n";
if($lv_obj->lehreverzeichnis != strtolower(cleankurzbz($row_ext->chLVNr)))
- $updtext.=" Lehreverzeichnis wurde von $lv_obj->lehreverzeichnis auf ".strtolower(cleankurzbz($row_ext->chLVNr))." geaendert\n";
+ $updtext.=" Lehreverzeichnis wurde von $lv_obj->lehreverzeichnis auf ".strtolower(cleankurzbz($row_ext->chLVNr))." geaendert\n";
if($lv_obj->aktiv != true)
- $updtext.=" aktiv wurde von $lv_obj->aktiv auf true geaendert\n";
+ $updtext.=" aktiv wurde von $lv_obj->aktiv auf true geaendert\n";
if($lv_obj->planfaktor != '')
- $updtext.=" planfaktor wurde von $lv_obj->planfaktor auf '' geaendert\n";
+ $updtext.=" planfaktor wurde von $lv_obj->planfaktor auf '' geaendert\n";
if($lv_obj->planlektoren != '')
- $updtext.=" planlektoren wurde von $lv_obj->planlektoren auf '' geaendert\n";
+ $updtext.=" planlektoren wurde von $lv_obj->planlektoren auf '' geaendert\n";
if($lv_obj->planpersonalkosten != '')
- $updtext.=" lehre wurde von $lv_obj->planpersonalkosten auf '' geaendert\n";
- if($lv_obj->ext_id != $row_ext->__StudienplanEintrag)
- $updtext.=" ext_id wurde von $lv_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
+ $updtext.=" lehre wurde von $lv_obj->planpersonalkosten auf '' geaendert\n";
+ //if($lv_obj->ext_id != $row_ext->__StudienplanEintrag)
+ // $updtext.=" ext_id wurde von $lv_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
if($lv_obj->sort != '')
- $updtext.=" sort wurde von $sort auf '' geaendert\n";
+ $updtext.=" sort wurde von $sort auf '' geaendert\n";
if($lv_obj->zeugnis != true)
- $updtext.=" zeugnis wurde von $lv_obj->zeugnis auf true geaendert\n";
- //if($lv_obj->koordinator != '')
- // $updtext.=" koordinator wurde von $lv_obj->koordinator auf '' geaendert\n";
+ $updtext.=" zeugnis wurde von $lv_obj->zeugnis auf true geaendert\n";
+ if($lv_obj->koordinator != '')
+ $updtext.=" koordinator wurde von $lv_obj->koordinator auf '' geaendert\n";
if($lv_obj->projektarbeit != false)
- $updtext.=" projektarbeit wurde von $lv_obj->projektarbeit auf false geaendert\n";
+ $updtext.=" projektarbeit wurde von $lv_obj->projektarbeit auf false geaendert\n";
}
$lv_obj->kurzbz = cleankurzbz($row_ext->chLVNr);
$lv_obj->bezeichnung = $row_ext->chBezeichnung;
@@ -174,7 +242,7 @@
$lv_obj->semester = $row_ext->inSemester;
$lv_obj->sprache = 'German';
$lv_obj->ects = $row_ext->ECTS;
- $lv_obj->semesterstunden = $row_ext->inSWS*ANZAHL_SEMESTERWOCHEN;
+ $lv_obj->semesterstunden = (int) $row_ext->inSWS*ANZAHL_SEMESTERWOCHEN;
$lv_obj->anmerkung = $row_ext->meKommentar;
$lv_obj->lehre = true;
$lv_obj->lehreverzeichnis = strtolower(cleankurzbz($row_ext->chLVNr));
@@ -182,7 +250,7 @@
$lv_obj->planfaktor = '';
$lv_obj->planlektoren = '';
$lv_obj->planpersonalkosten = '';
- $lv_obj->ext_id = $row_ext->__StudienplanEintrag;
+ $lv_obj->ext_id = '';
$lv_obj->sort = '';
$lv_obj->zeugnis = true;
$lv_obj->koordinator = '';
@@ -195,6 +263,7 @@
if($lv_obj->new)
{
$text.= "Lehrveranstaltung $lv_obj->bezeichnung/$lv_obj->semester wurde neu angelegt\n";
+ synctabentry_lv($lv_obj->semester, $row_ext->_LV, $lv_obj->lehrveranstaltung_id);
$anz_insert++;
}
else
@@ -205,7 +274,7 @@
}
else
{
- $text.= "Fehler beim Speichern von $lv_obj->bezeichnung/$lv_obj->semester/$lv_obj->lehrveranstaltung_id:".$lv_obj->errormsg;
+ $text.= "Fehler beim Speichern von $lv_obj->bezeichnung/$lv_obj->semester/$lv_obj->lehrveranstaltung_id:".$lv_obj->errormsg.' '.pg_last_error($conn);
if($lv_obj->new)
$insert_error++;
else
@@ -216,7 +285,7 @@
// *********** Lehrfach **************
//Schauen ob dieser Eintrag schon vorhanden ist
- $qry = "SELECT lehrfach_id FROM lehre.tbl_lehrfach WHERE ext_id='$row_ext->__StudienplanEintrag'";
+ $qry = "SELECT lehrfach_id FROM sync.tbl_synclehrfach WHERE lv='$row_ext->_LV' AND insemester='$row_ext->inSemester'";
if($result = pg_query($conn, $qry))
{
@@ -226,7 +295,7 @@
$lehrfach_id=$row->lehrfach_id;
else
{
- $text.='Fehler beim Auslesen der Lehrfach_id bei ext_id '.$row_ext->__StudienplanEintrag."\n";
+ $text.="Fehler beim Auslesen der Lehrfach_id bei lv $row_ext->_LV semester $row_ext->inSemester\n";
continue;
}
}
@@ -273,20 +342,18 @@
$updtext.=" Semester wurde von $lv_obj->semester auf $row_ext->inSemester geaendert\n";
if($lf_obj->sprache!='German')
$updtext.=" Sprache wurde von $lf_obj->sprache auf German geaendert\n";
- if($lv_obj->ects!=round($row_ext->ECTS,2))
- $updtext.=" ECTS wurde von $lv_obj->ects auf ".round($row_ext->ects,2)." geaendert\n";
if($lf_obj->fachbereich_kurzbz!='Dummy')
$updtext.=" Fachbereich_kurzbz wurde von $lf_obj->fachbereich_kurzbz auf 'Dummy' geaendert\n";
if($lf_obj->kurzbz != cleankurzbz($row_ext->chLVNr))
- $updtext.=" Kurzbz wurde von $lf_obj->kurzbz auf ".cleankurzbz($row_ext->chLVNr)." geaendert\n";
+ $updtext.=" Kurzbz wurde von $lf_obj->kurzbz auf ".cleankurzbz($row_ext->chLVNr)." geaendert\n";
if($lf_obj->bezeichnung!=$row_ext->chBezeichnung)
$updtext.=" Bezeichnung wurde von $lf_obj->bezeichnung auf $row_ext->chBezeichnung geaendert\n";
if($lf_obj->farbe != '')
- $updtext.=" farbe wurde von $lf_obj->farbe auf '' geaendert\n";
+ $updtext.=" farbe wurde von $lf_obj->farbe auf '' geaendert\n";
if($lf_obj->aktiv != true)
- $updtext.=" aktiv wurde von $lf_obj->aktiv auf true geaendert\n";
- if($lf_obj->ext_id != $row_ext->__StudienplanEintrag)
- $updtext.=" ext_id wurde von $lf_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
+ $updtext.=" aktiv wurde von $lf_obj->aktiv auf true geaendert\n";
+ //if($lf_obj->ext_id != $row_ext->__StudienplanEintrag)
+ // $updtext.=" ext_id wurde von $lf_obj->ext_id auf $row_ext->__StudienplanEintrag geaendert\n";
}
$lf_obj->kurzbz = cleankurzbz($row_ext->chLVNr);
@@ -297,8 +364,8 @@
$lf_obj->aktiv = true;
$lf_obj->fachbereich_kurzbz = 'Dummy';
$lf_obj->farbe = '';
- $lf_obj->ext_id = $row_ext->__StudienplanEintrag;
- echo " Ext_id LF: $lf_obj->ext_id";
+ $lf_obj->ext_id = '';
+
if($updtext!='' || $lf_obj->new)
{
if($lf_obj->save())
@@ -306,6 +373,7 @@
if($lf_obj->new)
{
$text.= "Lehrfach $lf_obj->bezeichnung/$lf_obj->semester wurde neu angelegt\n";
+ synctabentry_lf($lf_obj->semester, $row_ext->_LV, $lf_obj->lehrfach_id);
$anz_lf_insert++;
}
else
@@ -316,7 +384,7 @@
}
else
{
- $text.= "Fehler beim Speichern von $lf_obj->bezeichnung/$lf_obj->semester/$lf_obj->lehrfach_id:".$lf_obj->errormsg;
+ $text.= "Fehler beim Speichern von $lf_obj->bezeichnung/$lf_obj->semester/$lf_obj->lehrfach_id:".$lf_obj->errormsg.' '.pg_last_error($conn);
if($lf_obj->new)
$insert_lf_error++;
else
@@ -326,6 +394,8 @@
}
}
+ else
+ $text.= "Fehler beim Laden der Lehrveranstaltungen\n\n";
$statistik .="LVs Import: $lvs_gesamt\n";
$statistik .="Neue LVs: $anz_insert\n";
@@ -337,7 +407,14 @@
$statistik .="Fehler beim Anlegen von LF: $insert_lf_error\n";
$statistik .="Fehler beim Aktualisieren von LF: $update_lf_error\n\n";
- $text = $statistik.'