diff --git a/content/notiz.xml.php b/content/notiz.xml.php
index f7373b134..1ec0c2e42 100755
--- a/content/notiz.xml.php
+++ b/content/notiz.xml.php
@@ -47,8 +47,8 @@ echo '';
-
-
+
+
@@ -334,6 +334,7 @@ echo '';
var prestudent_id = this.getAttribute('prestudent_id');
var bestellung_id = this.getAttribute('bestellung_id');
var lehreinheit_id = this.getAttribute('lehreinheit_id');
+ var anrechnung_id = this.getAttribute('anrechnung_id');
var soapBody = new SOAPObject("saveNotiz");
//soapBody.appendChild(new SOAPObject("username")).val('joe');
@@ -357,6 +358,7 @@ echo '';
notiz.appendChild(new SOAPObject("prestudent_id")).val(prestudent_id);
notiz.appendChild(new SOAPObject("bestellung_id")).val(bestellung_id);
notiz.appendChild(new SOAPObject("lehreinheit_id")).val(lehreinheit_id);
+ notiz.appendChild(new SOAPObject("anrechnung_id")).val(anrechnung_id);
soapBody.appendChild(notiz);
var sr = new SOAPRequest("saveNotiz",soapBody);
@@ -647,6 +649,7 @@ echo '';
+
';
this.setAttribute('bestellung_id',bestellung_id);
this.setAttribute('user',user);
this.setAttribute('lehreinheit_id',lehreinheit_id);
-
+
//Wenn kein Erledigt Parameter uebergeben wird, dann wird die zuletzt
//verwendete Einstellung verwendet
if(typeof erledigt=="undefined")
@@ -680,8 +683,13 @@ echo '';
if(typeof erledigt!="undefined")
this.setAttribute('erledigt',erledigt);
+
+ if(typeof anrechnung_id=="undefined")
+ anrechnung_id = '';
+
+ if(typeof anrechnung_id!="undefined")
+ this.setAttribute('anrechnung_id',anrechnung_id);
-
var datasource="rdf/notiz.rdf.php?ts="+gettimestamp();
datasource = datasource+"&projekt_kurzbz="+encodeURIComponent(projekt_kurzbz);
datasource = datasource+"&projektphase_id="+encodeURIComponent(projektphase_id);
@@ -698,7 +706,8 @@ echo '';
datasource = datasource+"&erledigt=true";
else if((typeof erledigt=="boolean" && erledigt==false) || (typeof erledigt=="string" && erledigt=='false'))
datasource = datasource+"&erledigt=false";
-
+
+ datasource = datasource+"&anrechnung_id="+encodeURIComponent(anrechnung_id);
//debug('Source:'+datasource);
var tree = document.getAnonymousElementByAttribute(this ,'anonid', 'tree-notiz');
@@ -797,41 +806,6 @@ echo '';
]]>
-
-
-
- content/notiz.window.xul.php'+param,'Notiz','chrome, status=no, width=500, height=350, centerscreen, resizable');
- ]]>
-
-
//debug('load notiz:'+this.getAttribute('id'));
@@ -846,11 +820,12 @@ echo '';
var bestellung_id = this.getAttribute('bestellung_id');
var user = this.getAttribute('user');
var lehreinheit_id = this.getAttribute('lehreinheit_id');
+ var anrechnung_id = this.getAttribute('anrechnung_id');
if(projekt_kurzbz!='' || projektphase_id!='' || projekttask_id!=''
- || uid!='' || person_id!='' || prestudent_id!='' || bestellung_id!='' || user!='' || lehreinheit_id!='')
+ || uid!='' || person_id!='' || prestudent_id!='' || bestellung_id!='' || user!='' || lehreinheit_id!='' || anrechnung_id!='')
{
- this.LoadNotizTree(projekt_kurzbz,projektphase_id,projekttask_id,uid,person_id,prestudent_id,bestellung_id, user, lehreinheit_id);
+ this.LoadNotizTree(projekt_kurzbz,projektphase_id,projekttask_id,uid,person_id,prestudent_id,bestellung_id, user, lehreinheit_id, null, anrechnung_id);
}
document.getAnonymousElementByAttribute(this ,'anonid', 'textbox-notiz-verfasser').value=getUsername();
diff --git a/content/notizdialog.js.php b/content/notizdialog.js.php
index b476c9859..453c521b4 100644
--- a/content/notizdialog.js.php
+++ b/content/notizdialog.js.php
@@ -22,8 +22,8 @@
// ****
// * Laedt die zu bearbeitenden Daten
// ****
-function NotizInit(projekt_kurzbz, projektphase_id, projekttask_id, uid, person_id, prestudent_id, bestellung_id, user, lehreinheit_id)
+function NotizInit(projekt_kurzbz, projektphase_id, projekttask_id, uid, person_id, prestudent_id, bestellung_id, user, lehreinheit_id, anrechnung_id)
{
var notizbox = document.getElementById('notiz-dialog-box-notiz');
- notizbox.LoadNotizTree(projekt_kurzbz,projektphase_id, projekttask_id, uid, person_id, prestudent_id, bestellung_id, user, lehreinheit_id);
+ notizbox.LoadNotizTree(projekt_kurzbz,projektphase_id, projekttask_id, uid, person_id, prestudent_id, bestellung_id, user, lehreinheit_id, null, anrechnung_id);
}
diff --git a/content/notizdialog.xul.php b/content/notizdialog.xul.php
index 8656c89d0..cf4c035a5 100644
--- a/content/notizdialog.xul.php
+++ b/content/notizdialog.xul.php
@@ -76,11 +76,16 @@ if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id']))
else
$lehreinheit_id='';
+if(isset($_GET['anrechnung_id']) && is_numeric($_GET['anrechnung_id']))
+ $anrechnung_id=$_GET['anrechnung_id'];
+else
+ $anrechnung_id='';
+
?>
)"
+ onload="NotizInit()"
>
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index dcf0b36b4..597cd1396 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -62,6 +62,7 @@ require_once('../../include/mail.class.php');
require_once('../../include/kontakt.class.php');
require_once('../../include/dms.class.php');
require_once('../../include/notenschluessel.class.php');
+require_once('../../include/anrechnung.class.php');
$user = get_uid();
$db = new basis_db();
@@ -3512,6 +3513,63 @@ if(!$error)
}
}
}
+ elseif(isset($_POST['type']) && $_POST['type']=='saveanrechnung')
+ {
+ $anrechnung = new anrechnung();
+
+ $anrechnung->new = $_POST['neu'];
+ $anrechnung->anrechnung_id = $_POST['anrechnung_id'];
+ $anrechnung->prestudent_id = $_POST['prestudent_id'];
+ $anrechnung->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
+ $anrechnung->begruendung_id = $_POST['begruendung_id'];
+ isset($_POST['lehrveranstaltung_id_kompatibel']) ? $anrechnung->lehrveranstaltung_id_kompatibel = $_POST['lehrveranstaltung_id_kompatibel'] : $anrechnung->lehrveranstaltung_id_kompatibel = null;
+ isset($_POST['notiz_id']) ? $anrechnung->notiz_id = $_POST['notiz_id'] : $anrechnung->notiz_id = null;
+ $anrechnung->genehmigt_von = $_POST['genehmigt_von'];
+ $anrechnung->insertvon = $user;
+ $anrechnung->updatevon = $user;
+
+ if($anrechnung->save())
+ {
+ $return = true;
+ }
+ else
+ {
+ $return = false;
+ $errormsg = $anrechnung->errormsg;
+ }
+ }
+ elseif(isset($_POST['type']) && $_POST['type']=='deleteanrechnung')
+ {
+ //Loescht eine Anrechunng
+ if(isset($_POST['anrechnung_id']) && is_numeric($_POST['anrechnung_id']))
+ {
+ if(!$rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') && !$rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
+ {
+ $return = false;
+ $error = true;
+ $errormsg = 'Sie haben keine Berechtigung';
+ }
+ else
+ {
+ $anrechnung = new anrechnung();
+
+ if($anrechnung->delete($_POST['anrechnung_id']))
+ {
+ $return = true;
+ }
+ else
+ {
+ $errormsg = $anrechnung->errormsg;
+ $return = false;
+ }
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Fehlerhafte Parameteruebergabe';
+ }
+ }
else
{
$return = false;
diff --git a/content/student/studentanrechnungenoverlay.xul.php b/content/student/studentanrechnungenoverlay.xul.php
new file mode 100644
index 000000000..4648d5c8d
--- /dev/null
+++ b/content/student/studentanrechnungenoverlay.xul.php
@@ -0,0 +1,197 @@
+
+ */
+
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+header("Content-type: application/vnd.mozilla.xul+xml");
+require_once('../../config/vilesci.config.inc.php');
+echo '';
+
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php
index 5a99dc979..8e590e3f8 100644
--- a/content/student/studentenoverlay.xul.php
+++ b/content/student/studentenoverlay.xul.php
@@ -35,6 +35,7 @@ echo '';
echo '';
echo '';
+echo '';
echo '';
echo '';
echo '';
@@ -347,6 +348,7 @@ else
+
@@ -364,6 +366,7 @@ else
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 55adb4d6d..7fb720dbd 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -46,6 +46,8 @@ var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
var StudentLvGesamtNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
var StudentPruefungTreeDatasource; //Datasource des Pruefung Trees
var StudentPruefungSelectID=null; //ID der Pruefung die nach dem Refresh markiert werden soll
+var StudentAnrechnungTreeDatasource; //Datasource des Anrechnung Trees
+var StudentAnrechnungSelectID=null; //ID der Anrechnung die nach dem Refresh markiert werden soll
var StudentDetailRolleTreeDatasource=null; //Datasource fuer denn PrestudentRolleTree
var StudentAkteTreeDatasource=null;
var doublerebuildkonto='false';
@@ -313,6 +315,47 @@ var StudentPruefungTreeListener =
}
};
+// ****
+// * Observer fuer Anrechnung Tree
+// * startet Rebuild nachdem das Refresh
+// * der datasource fertig ist
+// ****
+var StudentAnrechnungTreeSinkObserver =
+{
+ onBeginLoad : function(pSink)
+ {
+ tree = document.getElementById('student-anrechnungen-tree');
+ tree.removeEventListener('select', StudentAnrechnungAuswahl, false);
+ },
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('student-anrechnungen-tree').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird der Eintrag wieder
+// * markiert
+// ****
+var StudentAnrechnungTreeListener =
+{
+ willRebuild : function(builder) { },
+ didRebuild : function(builder)
+ {
+ tree = document.getElementById('student-anrechnungen-tree');
+ tree.addEventListener('select', StudentAnrechnungAuswahl, false);
+
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(StudentAnrechnungenTreeSelectID,10);
+ }
+};
+
// ****
// * Observer fuer Akte Tree
// * startet Rebuild nachdem das Refresh
@@ -864,6 +907,7 @@ function StudentAuswahl()
StudentNoteDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
StudentPruefungDisableFileds(false);
+ StudentAnrechnungenDisableFields(false);
}
else
{
@@ -1408,6 +1452,38 @@ function StudentAuswahl()
StudentPruefungDetailDisableFields(true);
}
+ // ****** Anrechnungen ****** //
+ StudentAnrechnungDetailDisableFields(true);
+
+ anrechnungtree = document.getElementById('student-anrechnungen-tree');
+
+ url='rdf/anrechnung.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
+
+ try
+ {
+ StudentAnrechnungTreeDatasource.removeXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
+ anrechnungtree.builder.removeListener(StudentAnrechnungTreeListener);
+ }
+ catch(e)
+ {}
+
+ //Alte DS entfernen
+ var oldDatasources = anrechnungtree.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ anrechnungtree.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ anrechnungtree.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ StudentAnrechnungTreeDatasource = rdfService.GetDataSource(url);
+ StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ StudentAnrechnungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ anrechnungtree.database.AddDataSource(StudentAnrechnungTreeDatasource);
+ StudentAnrechnungTreeDatasource.addXMLSinkObserver(StudentAnrechnungTreeSinkObserver);
+ anrechnungtree.builder.addListener(StudentAnrechnungTreeListener);
+
if(uid!='')
{
// ****** Abschlusspruefung ******** //
@@ -4246,6 +4322,455 @@ function StudentPruefungAuswahl()
document.getElementById('student-pruefung-textbox-punkte').value=punkte;
}
+// **************** ANRECHNUNGEN ************** //
+
+// ****
+// * Selektiert den Anrechnung Eintrag nachdem der Tree
+// * rebuildet wurde.
+// ****
+function StudentAnrechnungenTreeSelectID()
+{
+ var tree=document.getElementById('student-anrechnungen-tree');
+ if(tree.view)
+ var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
+ else
+ return false;
+
+ //In der globalen Variable ist die zu selektierende Eintrag gespeichert
+ if(StudentAnrechnungSelectID!=null)
+ {
+ for(var i=0;icontent/notizdialog.xul.php?anrechnung_id="+anrechnung_id,"","chrome, status=no, width=500, height=500, centerscreen, resizable");
+}
+
+// ****
+// * De-/Aktiviert die Anrechnungsfelder
+// ****
+function StudentAnrechnungenDisableFields(val)
+{
+ document.getElementById('student-anrechnungen-button-neu').disabled = val;
+ document.getElementById('student-anrechnungen-button-loeschen').disabled = val;
+ document.getElementById('student-anrechnungen-button-notiz').disabled = val;
+
+ if(val)
+ StudentAnrechnungDetailDisableFields(val);
+}
+
+// ****
+// * De-/Aktiviert die Anrechnungs-Detailfelder
+// ****
+function StudentAnrechnungDetailDisableFields(val)
+{
+ document.getElementById('student-anrechnungen-menulist-lehrveranstaltung').disabled=val;
+ document.getElementById('student-anrechnungen-menulist-begruendung').disabled=val;
+ document.getElementById('student-anrechnungen-menulist-kompatible_lehrveranstaltung').disabled=val;
+ document.getElementById('student-anrechnungen-menulist-genehmigt_von').disabled=val;
+ document.getElementById('student-anrechnungen-button-speichern').disabled=val;
+}
+
+// ****
+// * Aktiviert die Felder um eine neue Anrechnung anzulegen
+// ****
+function StudentAnrechnungNeu()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ // ausgewählter Student
+ var tree = document.getElementById('student-tree');
+ if (tree.currentIndex==-1)
+ {
+ alert('Student muss ausgewaehlt sein');
+ return false;
+ }
+
+ document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = true;
+ StudentAnrechnungDetailDisableFields(false);
+
+ // Prestudent-ID in hidden field speichern
+ var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
+ document.getElementById("student-anrechnungen-prestudent_id").value = tree.view.getCellText(tree.currentIndex,col);
+
+ // Studiengang ermitteln
+ var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz";
+ var stg_kz = tree.view.getCellText(tree.currentIndex,col);
+
+ //Lehrveranstaltung Drop Down laden
+ var LVDropDown = document.getElementById('student-anrechnungen-menulist-lehrveranstaltung');
+ url="rdf/lehrveranstaltung.rdf.php?stg_kz="+stg_kz+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = LVDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ LVDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ LVDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSource(url);
+ LVDropDown.database.AddDataSource(datasource);
+ LVDropDown.value='';
+ LVDropDown.selectedItem='';
+
+ //Begründung Drop Down laden
+ var BegruendungDropDown = document.getElementById('student-anrechnungen-menulist-begruendung');
+ url="rdf/anrechnungbegruendung.rdf.php?"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = BegruendungDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ BegruendungDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ BegruendungDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSource(url);
+ BegruendungDropDown.database.AddDataSource(datasource);
+ BegruendungDropDown.value='';
+ BegruendungDropDown.selectedItem='';
+
+ //genehmigt von Drop Down laden
+ var GenehmigtVonDropDown = document.getElementById('student-anrechnungen-menulist-genehmigt_von');
+ url="rdf/mitarbeiter.rdf.php?lektor=true&stg_kz=" + stg_kz+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = GenehmigtVonDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ GenehmigtVonDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ GenehmigtVonDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSource(url);
+ GenehmigtVonDropDown.database.AddDataSource(datasource);
+ GenehmigtVonDropDown.value='';
+ GenehmigtVonDropDown.selectedItem='';
+
+ document.getElementById('student-anrechnungen-neu').value = 1;
+}
+
+function StudentLoadKompatibleLvaDropDown()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ //kompatible Lehrveranstaltung Drop Down laden
+ var lehrveranstaltung = document.getElementById('student-anrechnungen-menulist-lehrveranstaltung').value;
+ var LVKompDropDown = document.getElementById('student-anrechnungen-menulist-kompatible_lehrveranstaltung');
+ url="rdf/lehrveranstaltung.rdf.php?lehrveranstaltung_kompatibel_id="+lehrveranstaltung+"&self=0"+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = LVKompDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ LVKompDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ LVKompDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSource(url);
+ LVKompDropDown.database.AddDataSource(datasource);
+ LVKompDropDown.value='';
+ LVKompDropDown.selectedItem='';
+}
+
+function StudentAnrechnungShowKompatibleLvaDropDown()
+{
+ if(document.getElementById("student-anrechnungen-menulist-begruendung").value == 2)
+ document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = false;
+ else
+ document.getElementById("student-anrechnungen-menulist-kompatible_lehrveranstaltung-row").hidden = true;
+}
+
+function StudentAnrechnungDetailSpeichern()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+
+ lehrveranstaltung_id = document.getElementById('student-anrechnungen-menulist-lehrveranstaltung').value;
+ begruendung_id = document.getElementById('student-anrechnungen-menulist-begruendung').value;
+ lehrveranstaltung_id_kompatibel = document.getElementById('student-anrechnungen-menulist-kompatible_lehrveranstaltung').value;
+ genehmigt_von = document.getElementById('student-anrechnungen-menulist-genehmigt_von').value;
+ neu = document.getElementById('student-anrechnungen-neu').value;
+
+ if (document.getElementById("student-anrechnungen-prestudent_id").value == '')
+ {
+ alert('Student muss ausgewaehlt sein');
+ return;
+ }
+
+ if (neu == '0')
+ {
+ tree = document.getElementById('student-anrechnungen-tree');
+ col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
+ anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
+ }
+ else
+ anrechnung_id = null;
+
+ var prestudent_id = document.getElementById("student-anrechnungen-prestudent_id").value;
+
+ var url = 'content/student/studentDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'saveanrechnung');
+
+ req.add('anrechnung_id', anrechnung_id);
+ req.add('lehrveranstaltung_id', lehrveranstaltung_id);
+ req.add('begruendung_id', begruendung_id);
+ req.add('lehrveranstaltung_id_kompatibel', lehrveranstaltung_id_kompatibel);
+ req.add('genehmigt_von', genehmigt_von);
+ req.add('prestudent_id', prestudent_id);
+ req.add('neu', neu);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ }
+ else
+ {
+ StudentAnrechnungTreeDatasource.Refresh(false); //non blocking
+ SetStatusBarText('Daten wurden gespeichert');
+ StudentAnrechnungDetailDisableFields(true);
+ }
+}
+
+// ****
+// * Loescht eine Anrechnung
+// ****
+function StudentAnrechnungDelete()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree = document.getElementById('student-anrechnungen-tree');
+
+ if (tree.currentIndex==-1)
+ {
+ alert('Bitte zuerst einen Eintrag markieren');
+ return;
+ }
+
+ //Ausgewaehlte ID holen
+ var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
+ var anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
+
+ // Studiengang ermitteln
+ var tree = document.getElementById('student-tree');
+ var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz";
+ var stg_kz = tree.view.getCellText(tree.currentIndex,col);
+
+ if(confirm('Diesen Eintrag wirklich loeschen?'))
+ {
+ var url = 'content/student/studentDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'deleteanrechnung');
+
+ req.add('anrechnung_id', anrechnung_id);
+ req.add('studiengang_kz', stg_kz);
+
+ var response = req.executePOST();
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ }
+ else
+ {
+ StudentAnrechnungTreeDatasource.Refresh(false); //non blocking
+ SetStatusBarText('Daten wurden geloescht');
+ StudentAnrechnungDetailDisableFields(true);
+ }
+ }
+}
+
+// ****
+// * Laedt eine Anrechnung zum Bearbeiten
+// ****
+function StudentAnrechnungAuswahl()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree = document.getElementById('student-anrechnungen-tree');
+
+ if (tree.currentIndex==-1) return;
+
+ StudentAnrechnungDetailDisableFields(false);
+
+ //Ausgewaehlte ID holen
+ var col = tree.columns ? tree.columns["student-anrechnungen-tree-anrechnung_id"] : "student-anrechnungen-tree-anrechnung_id";
+ var anrechnung_id = tree.view.getCellText(tree.currentIndex,col);
+
+ // Prestudent-ID in hidden field speichern
+ var tree = document.getElementById('student-tree');
+ var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
+ document.getElementById("student-anrechnungen-prestudent_id").value = tree.view.getCellText(tree.currentIndex,col);
+
+ //Daten holen
+ var url = 'rdf/anrechnung.rdf.php?anrechnung_id='+anrechnung_id+'&'+gettimestamp();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var dsource = rdfService.GetDataSourceBlocking(url);
+ var subject = rdfService.GetResource("http://www.technikum-wien.at/anrechnung/" + anrechnung_id);
+ var predicateNS = "http://www.technikum-wien.at/anrechnung/rdf";
+
+ //Daten holen
+ anrechnung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anrechnung_id" ));
+ lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" ));
+ begruendung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#begruendung_id" ));
+ lehrveranstaltung_id_kompatibel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id_kompatibel" ));
+ genehmigt_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#genehmigt_von" ));
+ anzahl_notizen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_notizen" ));
+
+ // Studiengang ermitteln
+ var tree = document.getElementById('student-tree');
+ var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz";
+ var stg_kz = tree.view.getCellText(tree.currentIndex,col);
+
+ //Lehrveranstaltung Drop Down laden
+ var LVDropDown = document.getElementById('student-anrechnungen-menulist-lehrveranstaltung');
+ url="rdf/lehrveranstaltung.rdf.php?stg_kz="+stg_kz+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = LVDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ LVDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ LVDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ LVDropDown.database.AddDataSource(datasource);
+ LVDropDown.builder.rebuild();
+
+ //Begründung Drop Down laden
+ var BegruendungDropDown = document.getElementById('student-anrechnungen-menulist-begruendung');
+ url="rdf/anrechnungbegruendung.rdf.php?"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = BegruendungDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ BegruendungDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ BegruendungDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ BegruendungDropDown.database.AddDataSource(datasource);
+ BegruendungDropDown.builder.rebuild();
+
+ //kompatible Lehrveranstaltung Drop Down laden
+ var LVKompDropDown = document.getElementById('student-anrechnungen-menulist-kompatible_lehrveranstaltung');
+ url="rdf/lehrveranstaltung.rdf.php?lehrveranstaltung_kompatibel_id="+lehrveranstaltung_id+"&self=0"+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = LVKompDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ LVKompDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ LVKompDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ LVKompDropDown.database.AddDataSource(datasource);
+ LVKompDropDown.builder.rebuild();
+
+ //genehmigt von Drop Down laden
+ var GenehmigtVonDropDown = document.getElementById('student-anrechnungen-menulist-genehmigt_von');
+ url="rdf/mitarbeiter.rdf.php?lektor=true&stg_kz=" + stg_kz+"&"+gettimestamp();
+
+ //Alte DS entfernen
+ var oldDatasources = GenehmigtVonDropDown.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ GenehmigtVonDropDown.database.RemoveDataSource(oldDatasources.getNext());
+ }
+ //Refresh damit die entfernten DS auch wirklich entfernt werden
+ GenehmigtVonDropDown.builder.rebuild();
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ GenehmigtVonDropDown.database.AddDataSource(datasource);
+ GenehmigtVonDropDown.builder.rebuild();
+
+ document.getElementById('student-anrechnungen-menulist-lehrveranstaltung').value = lehrveranstaltung_id;
+ document.getElementById('student-anrechnungen-menulist-begruendung').value = begruendung_id;
+ document.getElementById('student-anrechnungen-menulist-kompatible_lehrveranstaltung').value = lehrveranstaltung_id_kompatibel;
+ document.getElementById('student-anrechnungen-menulist-genehmigt_von').value = genehmigt_von;
+ document.getElementById('student-anrechnungen-neu').value = 0;
+ StudentAnrechnungShowKompatibleLvaDropDown();
+
+ if(anzahl_notizen == "0")
+ document.getElementById('student-anrechnungen-button-notiz').label = "Notiz hinzufügen";
+ else if(anzahl_notizen == "1")
+ document.getElementById('student-anrechnungen-button-notiz').label = "1 Notiz vorhanden";
+ else
+ document.getElementById('student-anrechnungen-button-notiz').label = anzahl_notizen + " Notizen vorhanden";
+}
+
// ****
// * Startet die Personensuche
// ****
diff --git a/include/anrechnung.class.php b/include/anrechnung.class.php
new file mode 100644
index 000000000..2f1464cea
--- /dev/null
+++ b/include/anrechnung.class.php
@@ -0,0 +1,259 @@
+
+ */
+require_once(dirname(__FILE__).'/basis_db.class.php');
+require_once(dirname(__FILE__).'/datum.class.php');
+require_once(dirname(__FILE__).'/lehrveranstaltung.class.php');
+
+class anrechnung extends basis_db
+{
+ public $errormsg;
+ public $new;
+ public $result;
+
+ // Tabellenspalten
+ public $anrechnung_id; // integer
+ public $prestudent_id; // integer
+ public $lehrveranstaltung_id; // integer
+ public $begruendung_id; // integer
+ public $lehrveranstaltung_id_kompatibel; // integer
+ public $genehmigt_von; // varchar(32)
+ public $insertamum; // timestamp
+ public $insertvon; // varchar(32)
+ public $updateamum; // timestamp
+ public $updatevon; // varchar(32)
+
+ public function validate()
+ {
+ if(!is_numeric($this->prestudent_id))
+ {
+ $this->errormsg = "Prestudent_id ist ungueltig";
+ return false;
+ }
+
+ if(!is_numeric($this->lehrveranstaltung_id))
+ {
+ $this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
+ return false;
+ }
+
+ if(!is_numeric($this->begruendung_id))
+ {
+ $this->errormsg = "Wählen Sie eine Begründung aus";
+ return false;
+ }
+
+ if($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel))
+ {
+ $this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
+ return false;
+ }
+
+ if(empty($this->genehmigt_von))
+ {
+ $this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Lädt eine Anrechnung
+ * @param $anrechnung_id ID der Anrechnung
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function getAnrechnung($anrechnung_id)
+ {
+ $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
+ . "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
+ . "FROM lehre.tbl_anrechnung "
+ . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
+ . "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+
+ if($result = $this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object($result))
+ {
+ $datum = new datum();
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
+ $row->insertamum = $datum->convertISODate($row->insertamum);
+ $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
+ if($row->lehrveranstaltung_id_kompatibel != '')
+ {
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
+ $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
+ }
+ else
+ $row->lehrveranstaltung_bez_kompatibel = null;
+
+ $this->result[] = $row;
+ }
+ else
+ {
+ $this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
+ /**
+ * Speichert eine Anrechnung
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function save()
+ {
+ if(!$this->validate())
+ return false;
+
+ if($this->new == "1")
+ {
+ // Neuen Datensatz anlegen
+ $qry = 'INSERT INTO lehre.tbl_anrechnung (prestudent_id, lehrveranstaltung_id, begruendung_id, lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon) VALUES ('.
+ $this->db_add_param($this->prestudent_id).', '.
+ $this->db_add_param($this->lehrveranstaltung_id).', '.
+ $this->db_add_param($this->begruendung_id).', '.
+ $this->db_add_param($this->lehrveranstaltung_id_kompatibel).', '.
+ $this->db_add_param($this->genehmigt_von).', '.
+ 'NOW(),'.
+ $this->db_add_param($this->insertvon).', '.
+ 'NOW(),'.
+ $this->db_add_param($this->updatevon).');';
+ }
+ else
+ {
+ // Datensatz aktualisieren
+ $qry = 'UPDATE lehre.tbl_anrechnung SET '
+ . 'lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id) . ', '
+ . 'begruendung_id = ' . $this->db_add_param($this->begruendung_id) . ', '
+ . 'lehrveranstaltung_id_kompatibel = ' . $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', '
+ . 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
+ . 'updateamum = NOW(), '
+ . 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
+ . 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
+ }
+
+ if($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern der Anrechnung: '.$this->db_last_error();
+ return false;
+ }
+ }
+
+ /**
+ * Gibt alle Anrechnungen eines Prestudenten zurück
+ * @param $prestudent_id
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function getAnrechnungPrestudent($prestudent_id)
+ {
+ $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
+ . "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
+ . "FROM lehre.tbl_anrechnung "
+ . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
+ . "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
+
+ if($this->db_query($qry))
+ {
+ $datum = new datum();
+
+ while($row = $this->db_fetch_object())
+ {
+ $row->insertamum = $datum->convertISODate($row->insertamum);
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
+ $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
+ if($row->lehrveranstaltung_id_kompatibel != '')
+ {
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
+ $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
+ }
+ else
+ $row->lehrveranstaltung_bez_kompatibel = null;
+
+ $this->result[] = $row;
+ }
+
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Datensatz konnte nicht geladen werden';
+ return false;
+ }
+ }
+
+ /**
+ * Loescht eine Anrechnung
+ * @param $anrechnung_id
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function delete($anrechnung_id)
+ {
+ $qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+
+ if($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Datensatz konnte nicht geloescht werden';
+ return false;
+ }
+ }
+
+ /**
+ * Gibt die Anzahl der Notizen für eine Anrechnung zurück
+ * @param $anrechung_id
+ * @return Anzahl der Notizen, false im Fehlerfall
+ */
+ public function getAnzahlNotizen($anrechung_id)
+ {
+ $qry = "SELECT COUNT(*) AS anzahl "
+ . "FROM public.tbl_notizzuordnung "
+ . "WHERE anrechnung_id = " . $this->db_add_param($anrechung_id);
+
+ if($result = $this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object($result))
+ {
+ return $row->anzahl;
+ }
+ else
+ {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/include/notiz.class.php b/include/notiz.class.php
index 7b9586607..611c9c06e 100644
--- a/include/notiz.class.php
+++ b/include/notiz.class.php
@@ -219,7 +219,7 @@ class notiz extends basis_db
public function saveZuordnung()
{
$qry = "INSERT INTO public.tbl_notizzuordnung(notiz_id, projekt_kurzbz, projektphase_id, projekttask_id,
- uid, person_id, prestudent_id, bestellung_id, lehreinheit_id) VALUES(".
+ uid, person_id, prestudent_id, bestellung_id, lehreinheit_id, anrechnung_id) VALUES(".
$this->db_add_param($this->notiz_id, FHC_INTEGER).','.
$this->db_add_param($this->projekt_kurzbz).','.
$this->db_add_param($this->projektphase_id, FHC_INTEGER).','.
@@ -228,7 +228,8 @@ class notiz extends basis_db
$this->db_add_param($this->person_id, FHC_INTEGER).','.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).','.
$this->db_add_param($this->bestellung_id, FHC_INTEGER).','.
- $this->db_add_param($this->lehreinheit_id, FHC_INTEGER).');';
+ $this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
+ $this->db_add_param($this->anrechnung_id, FHC_INTEGER).');';
if($this->db_query($qry))
{
@@ -254,9 +255,10 @@ class notiz extends basis_db
* @param $bestellung_id
* @param $user
* @param $lehreinheit_id
+ * @param $anrechnung_id
* @return boolean
*/
- public function getNotiz($erledigt=null, $projekt_kurzbz=null, $projektphase_id=null, $projekttask_id=null, $uid=null, $person_id=null, $prestudent_id=null, $bestellung_id=null, $user=null, $lehreinheit_id=null)
+ public function getNotiz($erledigt=null, $projekt_kurzbz=null, $projektphase_id=null, $projekttask_id=null, $uid=null, $person_id=null, $prestudent_id=null, $bestellung_id=null, $user=null, $lehreinheit_id=null, $stundenplandev_id=null, $anrechnung_id=null)
{
$qry = "SELECT
*
@@ -290,6 +292,8 @@ class notiz extends basis_db
$qry.=" AND (verfasser_uid=".$this->db_add_param($user)." OR bearbeiter_uid=".$this->db_add_param($user).")";
if($lehreinheit_id!='')
$qry.=" AND lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
+ if($anrechnung_id!='')
+ $qry.=" AND anrechnung_id=".$this->db_add_param($anrechnung_id, FHC_INTEGER);
$qry.=' ORDER BY start, ende, titel';
@@ -338,9 +342,10 @@ class notiz extends basis_db
* @param $bestellung_id
* @param $user
* @param $lehreinheit_id
+ * @param $anrechnung_id
* @return boolean
*/
- public function getAnzahlNotizen($erledigt=null, $projekt_kurzbz=null, $projektphase_id=null, $projekttask_id=null, $uid=null, $person_id=null, $prestudent_id=null, $bestellung_id=null, $user=null, $lehreinheit_id=null)
+ public function getAnzahlNotizen($erledigt=null, $projekt_kurzbz=null, $projektphase_id=null, $projekttask_id=null, $uid=null, $person_id=null, $prestudent_id=null, $bestellung_id=null, $user=null, $lehreinheit_id=null, $anrechnung_id=null)
{
$qry = "SELECT
count(*) as anzahl
@@ -374,6 +379,8 @@ class notiz extends basis_db
$qry.=" AND (verfasser_uid=".$this->db_add_param($user)." OR bearbeiter_uid=".$this->db_add_param($user).")";
if($lehreinheit_id!='')
$qry.=" AND lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
+ if($anrechnung_id!='')
+ $qry.=" AND anrechnung_id=".$this->db_add_param($anrechnung_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
diff --git a/rdf/anrechnung.rdf.php b/rdf/anrechnung.rdf.php
new file mode 100644
index 000000000..5d4c50f79
--- /dev/null
+++ b/rdf/anrechnung.rdf.php
@@ -0,0 +1,91 @@
+
+ */
+require_once('../config/vilesci.config.inc.php');
+require_once('../include/anrechnung.class.php');
+
+isset($_GET['prestudent_id']) ? $prestudent_id = $_GET['prestudent_id'] : $prestudent_id = null;
+isset($_GET['anrechnung_id']) ? $anrechnung_id = $_GET['anrechnung_id'] : $anrechnung_id = null;
+
+// Daten ermitteln
+$anrechnung = new anrechnung();
+if(is_numeric($anrechnung_id))
+{
+ $anrechnung->getAnrechnung($anrechnung_id);
+}
+elseif(is_numeric($prestudent_id))
+{
+ $anrechnung->getAnrechnungPrestudent($prestudent_id);
+}
+else
+{
+ die('Prestudent_id oder anrechnung_id muss angegeben werden');
+}
+
+// header für no cache
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+header("Content-type: application/xhtml+xml");
+
+echo '';
+
+$rdf_url='http://www.technikum-wien.at/anrechnung';
+
+echo '
+
+
+
+';
+
+// AUSGABE
+if(is_array($anrechnung->result))
+{
+ foreach($anrechnung->result as $row)
+ {
+ echo '
+
+
+ anrechnung_id.']]>
+ prestudent_id.']]>
+ lehrveranstaltung_id.']]>
+ lehrveranstaltung_bez.']]>
+ begruendung_id.']]>
+ begruendung.']]>
+ lehrveranstaltung_id_kompatibel.']]>
+ lehrveranstaltung_bez_kompatibel.']]>
+ genehmigt_von.']]>
+ getAnzahlNotizen($row->anrechnung_id).']]>
+ insertamum.']]>
+ insertvon.']]>
+ updateamum.']]>
+ updatevon.']]>
+
+
+ ';
+ }
+}
+?>
+
+
+
\ No newline at end of file
diff --git a/rdf/anrechnungbegruendung.rdf.php b/rdf/anrechnungbegruendung.rdf.php
new file mode 100644
index 000000000..d6d7e5780
--- /dev/null
+++ b/rdf/anrechnungbegruendung.rdf.php
@@ -0,0 +1,73 @@
+
+ */
+// header für no cache
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+// content type setzen
+header("Content-type: application/xhtml+xml");
+// xml
+echo '';
+// DAO
+require_once('../config/vilesci.config.inc.php');
+require_once('../include/basis_db.class.php');
+
+$db = new basis_db();
+$data = array();
+
+// Daten ermitteln
+$qry = "SELECT begruendung_id, bezeichnung FROM lehre.tbl_anrechnung_begruendung";
+
+if($db->db_query($qry))
+{
+ while($row = $db->db_fetch_object())
+ {
+ $data[] = $row;
+ }
+}
+
+$rdf_url='http://www.technikum-wien.at/anrechnungbegruendung';
+
+echo '
+
+
+
+';
+
+// AUSGABE
+foreach($data as $row)
+{
+ echo '
+
+
+ begruendung_id.']]>
+ bezeichnung.']]>
+
+
+ ';
+}
+?>
+
+
+
\ No newline at end of file
diff --git a/rdf/lehrveranstaltung.rdf.php b/rdf/lehrveranstaltung.rdf.php
index 377a80055..c742fd093 100644
--- a/rdf/lehrveranstaltung.rdf.php
+++ b/rdf/lehrveranstaltung.rdf.php
@@ -62,7 +62,10 @@ else
$student_uid=null;
if(isset($_GET['lehrveranstaltung_kompatibel_id']))
+{
$lehrveranstaltung_kompatibel_id = $_GET['lehrveranstaltung_kompatibel_id'];
+ isset($_GET['self']) ? $self = $_GET['self'] : $self = 1;
+}
else
$lehrveranstaltung_kompatibel_id=null;
@@ -74,7 +77,8 @@ elseif($lehrveranstaltung_kompatibel_id!='')
{
// Laedt die Lehrveranstaltung und alle die dazu kompatibel sind
$lvid_arr = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_kompatibel_id);
- $lvid_arr[]=$lehrveranstaltung_kompatibel_id;
+ if($self == 1)
+ $lvid_arr[]=$lehrveranstaltung_kompatibel_id;
if(isset($_GET['lehrfach_id']))
$lvid_arr[]=$_GET['lehrfach_id'];
diff --git a/rdf/notiz.rdf.php b/rdf/notiz.rdf.php
index ee81d41ff..32634de94 100644
--- a/rdf/notiz.rdf.php
+++ b/rdf/notiz.rdf.php
@@ -56,6 +56,7 @@ $prestudent_id=(isset($_GET['prestudent_id'])?$_GET['prestudent_id']:null);
$bestellung_id=(isset($_GET['bestellung_id'])?$_GET['bestellung_id']:null);
$lehreinheit_id=(isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:null);
$stundenplandev_id=(isset($_GET['stundenplandev_id'])?$_GET['stundenplandev_id']:null);
+$anrechnung_id=(isset($_GET['anrechnung_id'])?$_GET['anrechnung_id']:null);
$datum_obj = new datum();
$user=(isset($_GET['user'])?$_GET['user']:null);
@@ -63,7 +64,7 @@ $notiz_id = (isset($_GET['notiz_id'])?$_GET['notiz_id']:null);
if(is_null($notiz_id))
{
- if(!$notiz->getNotiz($erledigt, $projekt_kurzbz, $projektphase_id, $projekttask_id, $uid, $person_id, $prestudent_id, $bestellung_id, $user, $lehreinheit_id, $stundenplandev_id))
+ if(!$notiz->getNotiz($erledigt, $projekt_kurzbz, $projektphase_id, $projekttask_id, $uid, $person_id, $prestudent_id, $bestellung_id, $user, $lehreinheit_id, $stundenplandev_id, $anrechnung_id))
die($notiz->errormsg);
}
else
diff --git a/soap/notiz.soap.php b/soap/notiz.soap.php
index e9f95fe29..7e02ad67e 100755
--- a/soap/notiz.soap.php
+++ b/soap/notiz.soap.php
@@ -99,6 +99,7 @@ function saveNotiz($username, $passwort, $notiz)
$notiz_obj->prestudent_id = $notiz->prestudent_id;
$notiz_obj->bestellung_id = $notiz->bestellung_id;
$notiz_obj->lehreinheit_id = $notiz->lehreinheit_id;
+ $notiz_obj->anrechnung_id = $notiz->anrechnung_id;
if(!$notiz_obj->saveZuordnung())
return new SoapFault("Server", $notiz_obj->errormsg);
diff --git a/system/checksystem.php b/system/checksystem.php
index 4c386b5b0..9e5b14bda 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -1,3153 +1,3167 @@
-,
- * Andreas Oesterreicher
- *
- * Beschreibung:
- * Dieses Skript prueft die gesamte Systemumgebung und sollte nach jedem Update gestartet werden.
- * Geprueft wird: - die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
- */
-require_once('../config/system.config.inc.php');
-require_once('../include/basis_db.class.php');
-
-// Datenbank Verbindung
-$db = new basis_db();
-echo '
-
- CheckSystem
-
-
-
-';
-
-echo 'Systemcheck!
';
-echo 'DB-Updates!
';
-
-// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
-echo 'Pruefe Tabellen und Attribute!
';
-
-// **************** Spalte scrumsprint_id Tabelle fue.tbl_projekttask
-if(!$result = @$db->db_query("SELECT scrumsprint_id FROM fue.tbl_projekttask LIMIT 1;"))
-{
- $qry = 'ALTER TABLE fue.tbl_projekttask ADD COLUMN scrumsprint_id bigint;
- CREATE TABLE fue.tbl_scrumteam
- (
- scrumteam_kurzbz character varying(16) NOT NULL,
- bezeichnung character varying(256),
- punkteprosprint integer DEFAULT 160,
- tasksprosprint integer DEFAULT 15,
- gruppe_kurzbz character varying(32),
- CONSTRAINT tbl_scrumteam_pkey PRIMARY KEY (scrumteam_kurzbz)
- )
- WITH (
- OIDS=FALSE
- );
- CREATE TABLE fue.tbl_scrumsprint
- (
-
- scrumsprint_id serial NOT NULL,
- scrumteam_kurzbz character varying(16) NOT NULL,
- sprint_kurzbz character varying(32),
- sprintstart date,
- sprintende date,
- insertamum Timestamp DEFAULT now(),
- insertvon Character varying(32),
- updateamum Timestamp DEFAULT now(),
- updatevon Character varying(32),
- CONSTRAINT tbl_scrumsprint_pkey PRIMARY KEY (scrumsprint_id),
- CONSTRAINT fk_scrumsprint_scrumteam FOREIGN KEY (scrumteam_kurzbz)
- REFERENCES fue.tbl_scrumteam (scrumteam_kurzbz) MATCH SIMPLE
- ON UPDATE CASCADE ON DELETE RESTRICT,
- CONSTRAINT uk_scrumteam_sprintkurzbz UNIQUE (scrumteam_kurzbz, sprint_kurzbz)
- )
- WITH (
- OIDS=FALSE
- );
- ALTER TABLE fue.tbl_projekttask
- ADD CONSTRAINT fk_projekttask_scrumsprint FOREIGN KEY (scrumsprint_id)
- REFERENCES fue.tbl_scrumsprint (scrumsprint_id) MATCH SIMPLE
- ON UPDATE CASCADE ON DELETE RESTRICT;
- ';
- if(!$db->db_query($qry))
- echo 'fue.tbl_projekttask: '.$db->db_last_error().'
';
- else
- echo ' fue.tbl_projekttask: Spalte scrumsprint_id hinzugefuegt!
';
-}
-
-// tbl_gruppe neues attribut zutrittssystem
-if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_gruppe: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
-}
-
-// ** Studiengangsverwaltung
-// Tabelle Studienordnung
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnung LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_studienordnung
- (
- studienordnung_id integer NOT NULL,
- studiengang_kz integer NOT NULL,
- version varchar(256),
- gueltigvon varchar(16),
- gueltigbis varchar(16),
- bezeichnung varchar(512),
- ects numeric(5,2),
- studiengangbezeichnung varchar(256),
- studiengangbezeichnung_englisch varchar(256),
- studiengangkurzbzlang varchar(8),
- akadgrad_id integer,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_studienordnung_studienordnung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT pk_studienordnung PRIMARY KEY (studienordnung_id);
- ALTER TABLE lehre.tbl_studienordnung ALTER COLUMN studienordnung_id SET DEFAULT nextval('lehre.seq_studienordnung_studienordnung_id');
-
- ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiensemester_gueltigvon FOREIGN KEY (gueltigvon) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiensemester_gueltigbis FOREIGN KEY (gueltigbis) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_akadgrad FOREIGN KEY (akadgrad_id) REFERENCES lehre.tbl_akadgrad (akadgrad_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_studienordnung TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienordnung TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_studienordnung_studienordnung_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienordnung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienordnung: Tabelle hinzugefuegt
';
-}
-
-// Tabelle Studienordnung_Semester
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnung_semester LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_studienordnung_semester
- (
- studienordnung_semester_id integer NOT NULL,
- studienordnung_id integer NOT NULL,
- studiensemester_kurzbz varchar(16) NOT NULL,
- semester smallint NOT NULL
- );
-
- CREATE SEQUENCE lehre.seq_studienordnung_semester_studienordnung_semester_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT pk_studienordnung_semester PRIMARY KEY (studienordnung_semester_id);
- ALTER TABLE lehre.tbl_studienordnung_semester ALTER COLUMN studienordnung_semester_id SET DEFAULT nextval('lehre.seq_studienordnung_semester_studienordnung_semester_id');
-
- ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT fk_studienordnung_semester_studienordnung_id FOREIGN KEY (studienordnung_id) REFERENCES lehre.tbl_studienordnung (studienordnung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT fk_studienordnung_semester_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_studienordnung_semester TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienordnung_semester TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_studienordnung_semester_studienordnung_semester_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienordnung_semester: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienordnung_semester: Tabelle hinzugefuegt
';
-}
-
-// Tabelle Studienplan
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplan LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_studienplan
- (
- studienplan_id integer NOT NULL,
- studienordnung_id integer NOT NULL,
- orgform_kurzbz varchar(3),
- version varchar(256),
- bezeichnung varchar(256),
- regelstudiendauer integer,
- sprache varchar(16),
- aktiv boolean NOT NULL,
- semesterwochen smallint,
- testtool_sprachwahl boolean NOT NULL,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_studienplan_studienplan_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT pk_studienplan PRIMARY KEY (studienplan_id);
- ALTER TABLE lehre.tbl_studienplan ALTER COLUMN studienplan_id SET DEFAULT nextval('lehre.seq_studienplan_studienplan_id');
-
- ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_orgform_kurzbz FOREIGN KEY (orgform_kurzbz) REFERENCES bis.tbl_orgform (orgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_studienordnung FOREIGN KEY (studienordnung_id) REFERENCES lehre.tbl_studienordnung (studienordnung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_sprache FOREIGN KEY (sprache) REFERENCES public.tbl_sprache (sprache) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_studienplan TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplan TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_studienplan_studienplan_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplan: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplan: Tabelle hinzugefuegt
';
-}
-
-// Tabelle Studienplan_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_studienplan_lehrveranstaltung
- (
- studienplan_lehrveranstaltung_id integer NOT NULL,
- studienplan_id integer NOT NULL,
- lehrveranstaltung_id integer NOT NULl,
- semester smallint,
- studienplan_lehrveranstaltung_id_parent integer,
- pflicht boolean NOT NULL,
- koordinator varchar(32),
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_studienplan_studienplan_lehrveranstaltung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT pk_studienplan_lehrveranstaltung PRIMARY KEY (studienplan_lehrveranstaltung_id);
- ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ALTER COLUMN studienplan_lehrveranstaltung_id SET DEFAULT nextval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id');
-
- ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_studienplan_id FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan (studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_koordinator FOREIGN KEY (koordinator) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_studienplan_lehrveranstaltung TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplan_lehrveranstaltung TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_studienplan_studienplan_lehrveranstaltung_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplan_lehrveranstaltung: Tabelle hinzugefuegt
';
-}
-
-// Tabelle lehrveranstaltung_kompatibel
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrveranstaltung_kompatibel LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_lehrveranstaltung_kompatibel
- (
- lehrveranstaltung_id integer NOT NULL,
- lehrveranstaltung_id_kompatibel integer NOT NULL
- );
-
- ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT pk_lehrveranstaltung_kompatibel PRIMARY KEY (lehrveranstaltung_id, lehrveranstaltung_id_kompatibel);
-
- ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT fk_lehrveranstaltung_kompatibel_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT fk_lehrveranstaltung_kompatibel_lehrveranstaltung_id_kompatibel FOREIGN KEY (lehrveranstaltung_id_kompatibel) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_lehrveranstaltung_kompatibel TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrveranstaltung_kompatibel TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung_kompatibel: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lehrveranstaltung_kompatibel: Tabelle hinzugefuegt
';
-}
-
-// Tabelle lvregeltyp
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvregeltyp LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_lvregeltyp
- (
- lvregeltyp_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(256)
- );
-
- ALTER TABLE lehre.tbl_lvregeltyp ADD CONSTRAINT pk_lvregeltyp PRIMARY KEY (lvregeltyp_kurzbz);
-
- GRANT SELECT ON lehre.tbl_lvregeltyp TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvregeltyp TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lvregeltyp: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lvregeltyp: Tabelle hinzugefuegt
';
-}
-
-
-// Tabelle lvregel
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvregel LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_lvregel
- (
- lvregel_id integer NOT NULL,
- lvregeltyp_kurzbz varchar(32) NOT NULL,
- operator varchar(1),
- parameter text,
- lvregel_id_parent integer,
- lehrveranstaltung_id integer,
- studienplan_lehrveranstaltung_id integer NOT NULL,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_lvregel_lvregel_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT pk_lvregel PRIMARY KEY (lvregel_id);
- ALTER TABLE lehre.tbl_lvregel ALTER COLUMN lvregel_id SET DEFAULT nextval('lehre.seq_lvregel_lvregel_id');
-
- ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lvregeltyp_kurzbz FOREIGN KEY (lvregeltyp_kurzbz) REFERENCES lehre.tbl_lvregeltyp(lvregeltyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lvregel_id_parent FOREIGN KEY (lvregel_id_parent) REFERENCES lehre.tbl_lvregel (lvregel_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_studienplan_lehrveranstaltung FOREIGN KEY (studienplan_lehrveranstaltung_id) REFERENCES lehre.tbl_studienplan_lehrveranstaltung (studienplan_lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('ausbsemmin','Ausbildungssemester Min');
- INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositiv','LV Positiv für Anmeldung');
- INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositivabschluss','LV Positiv für Abschluss');
-
- GRANT SELECT ON lehre.tbl_lvregel TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvregel TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_lvregel_lvregel_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lvregel: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lvregel: Tabelle hinzugefuegt
';
-}
-
-// Tabelle tbl_lvangebot
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvangebot LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_lvangebot
- (
- lvangebot_id integer NOT NULL,
- lehrveranstaltung_id integer NOT NULL,
- studiensemester_kurzbz varchar(16) NOT NULL,
- gruppe_kurzbz varchar(32),
- incomingplaetze smallint,
- gesamtplaetze smallint,
- anmeldefenster_start timestamp,
- anmeldefenster_ende timestamp,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_lvangebot_lvangebot_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT pk_lvangebot PRIMARY KEY (lvangebot_id);
- ALTER TABLE lehre.tbl_lvangebot ALTER COLUMN lvangebot_id SET DEFAULT nextval('lehre.seq_lvangebot_lvangebot_id');
-
- ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_gruppe_gruppe_kurzbz FOREIGN KEY (gruppe_kurzbz) REFERENCES public.tbl_gruppe (gruppe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_lvangebot TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvangebot TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_lvangebot_lvangebot_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lvangebot: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lvangebot: Tabelle hinzugefuegt
';
-}
-
-// Tabelle tbl_lehrtyp
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrtyp LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_lehrtyp
- (
- lehrtyp_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(256)
- );
-
- ALTER TABLE lehre.tbl_lehrtyp ADD CONSTRAINT pk_lehrtyp PRIMARY KEY (lehrtyp_kurzbz);
-
- INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('lv','Lehrveranstaltung');
- INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('modul','Modul');
- INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('lf','Lehrfach');
-
- GRANT SELECT ON lehre.tbl_lehrtyp TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrtyp TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrtyp: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lehrtyp: Tabelle hinzugefuegt
';
-}
-
-// Tabelle tbl_studiengangstyp
-if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp LIMIT 1;"))
-{
- $qry = "CREATE TABLE public.tbl_studiengangstyp
- (
- typ char(1) NOT NULL,
- bezeichnung varchar(256),
- beschreibung text
- );
-
- ALTER TABLE public.tbl_studiengangstyp ADD CONSTRAINT pk_studiengangstyp PRIMARY KEY (typ);
-
- GRANT SELECT ON public.tbl_studiengangstyp TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO vilesci;
- GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO admin;
- GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO wawi;
-
- INSERT INTO public.tbl_studiengangstyp(typ) SELECT distinct typ FROM public.tbl_studiengang;
- ALTER TABLE public.tbl_studiengang ADD CONSTRAINT fk_studiengang_studiengangstyp FOREIGN KEY (typ) REFERENCES public.tbl_studiengangstyp (typ) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE public.tbl_studiengang ALTER COLUMN typ SET NOT NULL;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_studiengangstyp: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_studiengangstyp: Tabelle hinzugefuegt
';
-}
-
-// Tabelle tbl_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT lehrtyp_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrtyp_kurzbz varchar(32);
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN oe_kurzbz varchar(32);
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN raumtyp_kurzbz varchar(16);
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN anzahlsemester smallint;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN semesterwochen smallint;
-
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrtyp FOREIGN KEY (lehrtyp_kurzbz) REFERENCES lehre.tbl_lehrtyp (lehrtyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_raumtyp FOREIGN KEY (raumtyp_kurzbz) REFERENCES public.tbl_raumtyp (raumtyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- UPDATE lehre.tbl_lehrveranstaltung SET lehrtyp_kurzbz='lv' WHERE lehrtyp_kurzbz is null;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_lehrveranstaltung: Spalten lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester hinzugefügt
';
-}
-
-// Tabelle tbl_studienplatz
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplatz LIMIT 1;"))
-{
- $qry = "CREATE TABLE lehre.tbl_studienplatz
- (
- studienplatz_id integer NOT NULL,
- studiengang_kz integer NOT NULL,
- studiensemester_kurzbz varchar(16) NOT NULL,
- orgform_kurzbz varchar(3),
- ausbildungssemester smallint,
- gpz integer,
- npz integer,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE lehre.seq_studienplatz_studienplatz_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT pk_studienplatz PRIMARY KEY (studienplatz_id);
- ALTER TABLE lehre.tbl_studienplatz ALTER COLUMN studienplatz_id SET DEFAULT nextval('lehre.seq_studienplatz_studienplatz_id');
-
- ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studiengang_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE CASCADE ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_orgform_orgform_kurzbz FOREIGN KEY (orgform_kurzbz) REFERENCES bis.tbl_orgform (orgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT ON lehre.tbl_studienplatz TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplatz TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_studienplatz_studienplatz_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplatz: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplatz: Tabelle hinzugefügt
';
-}
-
-// Tabelle tbl_appdaten
-if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_appdaten LIMIT 1;"))
-{
- $qry = "CREATE TABLE system.tbl_appdaten
- (
- appdaten_id integer NOT NULL,
- uid varchar(32) NOT NULL,
- app varchar(64) NOT NULL,
- appversion varchar(20),
- version smallint,
- bezeichnung varchar(512),
- daten text NOT NULL,
- freigabe boolean NOT NULL DEFAULT false,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- CREATE SEQUENCE system.seq_appdaten_appdaten_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE system.tbl_appdaten ADD CONSTRAINT pk_appdaten PRIMARY KEY (appdaten_id);
- ALTER TABLE system.tbl_appdaten ALTER COLUMN appdaten_id SET DEFAULT nextval('system.seq_appdaten_appdaten_id');
-
- ALTER TABLE system.tbl_appdaten ADD CONSTRAINT fk_appdaten_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE CASCADE ON UPDATE CASCADE;
-
- GRANT SELECT ON system.tbl_appdaten TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON system.tbl_appdaten TO vilesci;
- GRANT SELECT, UPDATE ON system.seq_appdaten_appdaten_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'system.tbl_appdaten: '.$db->db_last_error().'
';
- else
- echo ' system.tbl_appdaten: Tabelle hinzugefügt
';
-}
-
-// ** Studienordnung Ende **
-
-// UID in Tabelle benutzerberechtigung von 16 Zeichen auf 32 verlängern
-if($result = $db->db_query("SELECT character_maximum_length FROM information_schema.columns WHERE column_name='uid' AND table_name='tbl_benutzerrolle' AND table_schema='system';"))
-{
- if($row = $db->db_fetch_object($result))
- {
- if($row->character_maximum_length==16)
- {
- $qry = "ALTER TABLE system.tbl_benutzerrolle ALTER COLUMN uid TYPE varchar(32);";
- if(!$db->db_query($qry))
- echo 'system.tbl_benutzerrolle: '.$db->db_last_error().'
';
- else
- echo 'system.tbl_benutzerrolle: Spalte uid auf 32 Zeichen verlaengert
';
- }
- }
-}
-
-// tbl_akte wird nachgereicht und anmerkung hinzufügen
-if(!$result = @$db->db_query("SELECT nachgereicht FROM public.tbl_akte LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_akte ADD COLUMN nachgereicht boolean DEFAULT false;
- ALTER TABLE public.tbl_akte ADD COLUMN anmerkung varchar(128)";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_akte: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_akte: Spalte nachgereicht hinzugefuegt!
- public.tbl_akte: Spalte anmerkung hinzugefuegt!
';
-}
-
-// bis.tbl_zgvdoktor anlegen
-if(!$result = @$db->db_query("SELECT zgvdoktor_code FROM bis.tbl_zgvdoktor LIMIT 1"))
-{
- $qry = "CREATE TABLE bis.tbl_zgvdoktor
- (
- zgvdoktor_code integer NOT NULL,
- zgvdoktor_bez varchar(64),
- zgvdoktor_kurzbz varchar(16)
- );
-
- ALTER TABLE bis.tbl_zgvdoktor ADD CONSTRAINT pk_zgvdoktor PRIMARY KEY (zgvdoktor_code);
-
- GRANT SELECT ON bis.tbl_zgvdoktor TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_zgvdoktor TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'bis.tbl_zgvdoktor: '.$db->db_last_error().'
';
- else
- echo ' bis.tbl_zgvdoktor: Tabelle hinzugefügt
';
-}
-
-// prestudent zgvdoktor hinzufügen
-if(!$result = @$db->db_query("SELECT zgvdoktor_code from public.tbl_prestudent LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_code integer;
- ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktorort varchar(64);
- ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktordatum date;
-
-
- ALTER TABLE public.tbl_prestudent ADD CONSTRAINT fk_zgvdoktor_code FOREIGN KEY (zgvdoktor_code) REFERENCES bis.tbl_zgvdoktor(zgvdoktor_code) ON DELETE RESTRICT ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudent: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_prestudent: Spalte zgvdoktor_code hinzugefuegt
- public.tbl_prestudent: Spalte zgvdoktorort hinzugefuegt
- public.tbl_prestudent: Spalte zgvdoktordatum hinzugefuegt
';
-}
-
-// tbl_gruppe neues attribut zutrittssystem
-if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_gruppe: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
-}
-
-// tbl_webservicerecht neue Spalte klasse
-if(!$result = @$db->db_query("SELECT klasse from system.tbl_webservicerecht LIMIT 1;"))
-{
- $qry = "ALTER TABLE system.tbl_webservicerecht ADD COLUMN klasse varchar(256);";
-
- if(!$db->db_query($qry))
- echo 'system.tbl_webservicerecht: '.$db->db_last_error().'
';
- else
- echo 'system.tbl_webservicerecht: Spalte klasse hinzugefügt';
-}
-
-// tbl_note neue Spalte Positiv
-if(!$result = @$db->db_query("SELECT positiv from lehre.tbl_note LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_note ADD COLUMN positiv boolean NOT NULL DEFAULT true;
- UPDATE lehre.tbl_note SET positiv=false WHERE note in(0,5,7,9,13,14,15)";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_note: '.$db->db_last_error().'
';
- else
- echo 'lehre.tbl_note: Spalte positiv hinzugefügt';
-}
-
-// Mitarbeiter-Attribut Kleriker hinzufügen
-if(!$result =@$db->db_query("SELECT kleriker from public.tbl_mitarbeiter LIMIT 1;"))
-{
- $qry="ALTER TABLE public.tbl_mitarbeiter ADD COLUMN kleriker boolean NOT NULL DEFAULT false;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_mitarbeiter: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_mitarbeiter: spalte kleriker hinzugefügt';
-}
-
-// Matrikelnummer in public.tbl_person hinzufügen
-if(!$result = @$db->db_query("SELECT matr_nr from public.tbl_person LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_person ADD COLUMN matr_nr varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_person: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_person: Spalte matr_nr hinzugefügt';
-}
-
-echo '
';
-
-// tbl_organisationseinheit neue Spalte lehre
-if(!$result = @$db->db_query("SELECT lehre FROM public.tbl_organisationseinheit LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_organisationseinheit ADD COLUMN lehre boolean NOT NULL DEFAULT true;
- UPDATE public.tbl_organisationseinheit SET lehre=false WHERE
- NOT EXISTS(SELECT 1 FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_organisationseinheit.oe_kurzbz)
- AND
- NOT EXISTS(SELECT 1 FROM public.tbl_fachbereich WHERE oe_kurzbz=tbl_organisationseinheit.oe_kurzbz)";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_organisationseinheit: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_organisationseinheit: Spalte lehre hinzugefügt';
-}
-
-// ext_id Spalte tbl_preinteressent
-if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_preinteressent LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_preinteressent ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_preinteressent: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_preinteressent: Spalte ext_id hinzugefügt';
-}
-
-// lvnr Spalte tbl_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT lvnr FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvnr varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo 'lehre.tbl_lehrveranstaltung: Spalte lvnr hinzugefügt';
-}
-
-// credit_points Spalte tbl_konto
-if(!$result = @$db->db_query("SELECT credit_points FROM public.tbl_konto LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_konto ADD COLUMN credit_points numeric(5,2);
- ALTER TABLE public.tbl_buchungstyp ADD COLUMN credit_points numeric(5,2);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_konto: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_konto / tbl_buchungstyp: Spalte credit_points hinzugefügt';
-}
-
-// studienplan_id in Tabelle prestudentstatus
-if(!$result = @$db->db_query("SELECT studienplan_id FROM public.tbl_prestudentstatus LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN studienplan_id bigint;
- ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_studienplan_prestudentstatus FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan(studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_prestudentstatus: Spalte studienplan_id hinzugefügt';
-}
-
-// Lehrfach entfernen und auf die Lehrveranstaltung umbiegen
-if(!$result = @$db->db_query("SELECT farbe FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "
- -- Datenmuell bereinigen
- UPDATE lehre.tbl_lehrfach SET aktiv=false WHERE aktiv is null;
-
- -- Neue Spalte Farbe bei Lehrveranstaltung hinzufügen
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN farbe varchar(6);
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN old_lehrfach_id bigint;
-
- -- Alle Lehrfächer als Lehrveranstaltungen anlegen
- INSERT INTO lehre.tbl_lehrveranstaltung(kurzbz, bezeichnung, semester, sprache,
- oe_kurzbz, lehrtyp_kurzbz,aktiv, studiengang_kz, projektarbeit, old_lehrfach_id, farbe, lehre)
- SELECT kurzbz, bezeichnung, semester, sprache,
- (select oe_kurzbz from public.tbl_fachbereich where fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz),
- 'lf',aktiv, studiengang_kz, false, lehrfach_id, farbe,false
- FROM
- lehre.tbl_lehrfach;
-
- -- Spalte Lehrfach_id auf lehrfach_id_old ändern
- ALTER TABLE lehre.tbl_lehreinheit RENAME COLUMN lehrfach_id TO lehrfach_id_old;
- ALTER TABLE lehre.tbl_lehreinheit ALTER COLUMN lehrfach_id_old DROP NOT NULL;
-
- -- Neue Spalte Lehrfach_id anlegen Mit FK auf Lehrveranstaltung
- ALTER TABLE lehre.tbl_lehreinheit ADD COLUMN lehrfach_id bigint;
- ALTER TABLE lehre.tbl_lehreinheit ADD CONSTRAINT fk_lehreinheit_lehrveranstaltung_lehrfach FOREIGN KEY (lehrfach_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- -- Neue ID auf LV setzen
- UPDATE lehre.tbl_lehreinheit
- SET lehrfach_id=(SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
- WHERE lehrtyp_kurzbz='lf' AND tbl_lehrveranstaltung.old_lehrfach_id=tbl_lehreinheit.lehrfach_id_old);
-
- -- VIEWS Korrigieren
- DROP VIEW campus.vw_lehreinheit;
- CREATE OR REPLACE VIEW campus.vw_lehreinheit as
- SELECT
- tbl_lehrveranstaltung.studiengang_kz AS lv_studiengang_kz, tbl_lehrveranstaltung.semester AS lv_semester, tbl_lehrveranstaltung.kurzbz AS lv_kurzbz, tbl_lehrveranstaltung.bezeichnung AS lv_bezeichnung, tbl_lehrveranstaltung.ects AS lv_ects, tbl_lehrveranstaltung.lehreverzeichnis AS lv_lehreverzeichnis,
- tbl_lehrveranstaltung.planfaktor AS lv_planfaktor, tbl_lehrveranstaltung.planlektoren AS lv_planlektoren, tbl_lehrveranstaltung.planpersonalkosten AS lv_planpersonalkosten, tbl_lehrveranstaltung.plankostenprolektor AS lv_plankostenprolektor, tbl_lehrveranstaltung.orgform_kurzbz AS lv_orgform_kurzbz,
- tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, tbl_lehreinheit.lehre,
- tbl_lehreinheit.unr, tbl_lehreinheit.lvnr, tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz, tbl_lehreinheit.insertamum, tbl_lehreinheit.insertvon, tbl_lehreinheit.updateamum, tbl_lehreinheit.updatevon,
- lehrfach.lehrveranstaltung_id AS lehrfach_id,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
- tbl_lehrveranstaltung.aktiv, lehrfach.sprache, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.semesterstunden, tbl_lehrveranstaltung.semesterstunden AS lv_semesterstunden, tbl_lehreinheitmitarbeiter.planstunden, tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.faktor,
- tbl_lehreinheit.anmerkung, tbl_mitarbeiter.kurzbz AS lektor, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester, tbl_lehreinheitgruppe.verband, tbl_lehreinheitgruppe.gruppe, tbl_lehreinheitgruppe.gruppe_kurzbz,
- tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bez, tbl_studiengang.typ AS stg_typ, tbl_lehreinheitmitarbeiter.anmerkung AS anmerkunglektor, tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz,
- tbl_lehrveranstaltung.bezeichnung_english AS lv_bezeichnung_english, tbl_lehrveranstaltung.lehrtyp_kurzbz
- FROM lehre.tbl_lehreinheit
- JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
- JOIN lehre.tbl_lehrveranstaltung lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid)
- JOIN lehre.tbl_lehreinheitgruppe USING (lehreinheit_id)
- JOIN public.tbl_studiengang ON tbl_lehreinheitgruppe.studiengang_kz = tbl_studiengang.studiengang_kz;
- GRANT SELECT ON campus.vw_lehreinheit TO admin;
- GRANT SELECT ON campus.vw_lehreinheit TO vilesci;
- GRANT SELECT ON campus.vw_lehreinheit TO web;
-
- -- ==
-
- DROP VIEW campus.vw_student_lehrveranstaltung;
- CREATE OR REPLACE VIEW campus.vw_student_lehrveranstaltung AS
- SELECT
- tbl_benutzergruppe.uid, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.lehrveranstaltung_id,
- tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.bezeichnung_english,
- tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
- tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.anmerkung,
- tbl_lehrveranstaltung.lehre, tbl_lehrveranstaltung.lehreverzeichnis, tbl_lehrveranstaltung.aktiv,
- tbl_lehrveranstaltung.planfaktor, tbl_lehrveranstaltung.planlektoren, tbl_lehrveranstaltung.planpersonalkosten,
- tbl_lehrveranstaltung.plankostenprolektor, tbl_lehrveranstaltung.updateamum, tbl_lehrveranstaltung.updatevon,
- tbl_lehrveranstaltung.insertamum, tbl_lehrveranstaltung.insertvon, tbl_lehrveranstaltung.ext_id,
- tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.studiensemester_kurzbz,
- tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung,
- tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp,
- tbl_lehreinheit.raumtypalternativ, tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz
- FROM
- lehre.tbl_lehreinheitgruppe,
- public.tbl_benutzergruppe,
- lehre.tbl_lehreinheit,
- lehre.tbl_lehrveranstaltung
- WHERE
- tbl_lehreinheitgruppe.gruppe_kurzbz::text = tbl_benutzergruppe.gruppe_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_benutzergruppe.studiensemester_kurzbz::text
- UNION
- SELECT
- tbl_studentlehrverband.student_uid AS uid, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.sort,
- tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung,
- tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
- tbl_lehrveranstaltung.sprache, tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.semesterstunden,
- tbl_lehrveranstaltung.anmerkung, tbl_lehrveranstaltung.lehre, tbl_lehrveranstaltung.lehreverzeichnis,
- tbl_lehrveranstaltung.aktiv, tbl_lehrveranstaltung.planfaktor, tbl_lehrveranstaltung.planlektoren,
- tbl_lehrveranstaltung.planpersonalkosten, tbl_lehrveranstaltung.plankostenprolektor, tbl_lehrveranstaltung.updateamum,
- tbl_lehrveranstaltung.updatevon, tbl_lehrveranstaltung.insertamum, tbl_lehrveranstaltung.insertvon,
- tbl_lehrveranstaltung.ext_id, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.studiensemester_kurzbz,
- tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung,
- tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ,
- tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz
- FROM
- lehre.tbl_lehreinheitgruppe,
- public.tbl_studentlehrverband,
- lehre.tbl_lehreinheit,
- lehre.tbl_lehrveranstaltung
- WHERE
- tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_studentlehrverband.studiensemester_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_studentlehrverband.studiengang_kz = tbl_lehreinheitgruppe.studiengang_kz AND tbl_studentlehrverband.semester = tbl_lehreinheitgruppe.semester AND (btrim(tbl_studentlehrverband.verband::text) = btrim(tbl_lehreinheitgruppe.verband::text) OR (tbl_lehreinheitgruppe.verband IS NULL OR btrim(tbl_lehreinheitgruppe.verband::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL) AND (btrim(tbl_studentlehrverband.gruppe::text) = btrim(tbl_lehreinheitgruppe.gruppe::text) OR (tbl_lehreinheitgruppe.gruppe IS NULL OR btrim(tbl_lehreinheitgruppe.gruppe::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL);
- GRANT SELECT ON campus.vw_student_lehrveranstaltung TO admin;
- GRANT SELECT ON campus.vw_student_lehrveranstaltung TO vilesci;
- GRANT SELECT ON campus.vw_student_lehrveranstaltung TO web;
-
- -- ==
- DROP VIEW campus.vw_stundenplan;
- CREATE OR REPLACE VIEW campus.vw_stundenplan AS
- SELECT
- tbl_stundenplan.stundenplan_id, tbl_stundenplan.unr, tbl_stundenplan.mitarbeiter_uid AS uid,
- tbl_stundenplan.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id,
- tbl_stundenplan.datum, tbl_stundenplan.stunde, tbl_stundenplan.ort_kurzbz, tbl_stundenplan.studiengang_kz,
- tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz,
- tbl_stundenplan.titel, tbl_stundenplan.anmerkung, tbl_stundenplan.fix, tbl_lehreinheit.lehrveranstaltung_id,
- tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bezeichnung,
- tbl_studiengang.typ AS stg_typ,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
- lehrfach.farbe, tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
- tbl_stundenplan.updateamum, tbl_stundenplan.updatevon, tbl_stundenplan.insertamum, tbl_stundenplan.insertvon
- FROM lehre.tbl_stundenplan
- JOIN public.tbl_studiengang USING (studiengang_kz)
- JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
- JOIN lehre.tbl_lehrveranstaltung lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
- GRANT SELECT ON campus.vw_stundenplan TO admin;
- GRANT SELECT ON campus.vw_stundenplan TO vilesci;
- GRANT SELECT ON campus.vw_stundenplan TO web;
-
- -- ==
- DROP VIEW lehre.vw_lva_stundenplan;
- CREATE OR REPLACE VIEW lehre.vw_lva_stundenplan AS
- SELECT
- le.lehreinheit_id, le.unr, le.lvnr,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
- lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
- ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang,
- lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
- le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung,
- le.studiensemester_kurzbz,
- ( SELECT count(*) AS count
- FROM lehre.tbl_stundenplan
- WHERE tbl_stundenplan.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplan.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplan.semester = lvb.semester AND (tbl_stundenplan.verband = lvb.verband OR (tbl_stundenplan.verband IS NULL OR tbl_stundenplan.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplan.gruppe = lvb.gruppe OR (tbl_stundenplan.gruppe IS NULL OR tbl_stundenplan.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplan.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplan.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id) AS verplant
- FROM lehre.tbl_lehreinheit le
- JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
- JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
- JOIN public.tbl_studiengang USING (studiengang_kz)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_lva_stundenplan TO admin;
- GRANT SELECT ON lehre.vw_lva_stundenplan TO vilesci;
- GRANT SELECT ON lehre.vw_lva_stundenplan TO web;
-
- -- ==
- DROP VIEW lehre.vw_lva_stundenplandev;
- CREATE OR REPLACE VIEW lehre.vw_lva_stundenplandev AS
- SELECT
- le.lehreinheit_id, le.unr, le.lvnr,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
- lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
- tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper(tbl_studiengang.typ::character varying::text || tbl_studiengang.kurzbz::text) AS studiengang,
- lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
- le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw,
- le.anmerkung, le.studiensemester_kurzbz,
- ( SELECT count(*) AS count
- FROM lehre.tbl_stundenplandev
- WHERE tbl_stundenplandev.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplandev.semester = lvb.semester AND (tbl_stundenplandev.verband = lvb.verband OR (tbl_stundenplandev.verband IS NULL OR tbl_stundenplandev.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplandev.gruppe = lvb.gruppe OR (tbl_stundenplandev.gruppe IS NULL OR tbl_stundenplandev.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplandev.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplandev.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id) AS verplant
- FROM lehre.tbl_lehreinheit le
- JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
- JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
- JOIN public.tbl_studiengang ON lvb.studiengang_kz = tbl_studiengang.studiengang_kz
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO admin;
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO vilesci;
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO web;
-
- -- ==
-
- DROP VIEW lehre.vw_stundenplan;
- CREATE OR REPLACE VIEW lehre.vw_stundenplan AS
- SELECT
- tbl_stundenplan.stundenplan_id, tbl_stundenplan.unr, tbl_stundenplan.mitarbeiter_uid AS uid,
- tbl_stundenplan.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_stundenplan.datum,
- tbl_stundenplan.stunde, tbl_stundenplan.ort_kurzbz, tbl_stundenplan.studiengang_kz,
- tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz,
- tbl_stundenplan.titel, tbl_stundenplan.anmerkung, tbl_stundenplan.fix, tbl_lehreinheit.lehrveranstaltung_id,
- tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang,
- tbl_studiengang.bezeichnung AS stg_bezeichnung, tbl_studiengang.typ AS stg_typ,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
- tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
- tbl_stundenplan.updateamum, tbl_stundenplan.updatevon, tbl_stundenplan.insertamum,
- tbl_stundenplan.insertvon, tbl_lehreinheit.anmerkung AS anmerkung_lehreinheit
- FROM lehre.tbl_stundenplan
- JOIN public.tbl_studiengang USING (studiengang_kz)
- JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_stundenplan TO admin;
- GRANT SELECT ON lehre.vw_stundenplan TO vilesci;
- GRANT SELECT ON lehre.vw_stundenplan TO web;
-
- -- ==
-
- DROP VIEW lehre.vw_stundenplandev;
- CREATE OR REPLACE VIEW lehre.vw_stundenplandev AS
- SELECT
- tbl_stundenplandev.stundenplandev_id, tbl_stundenplandev.unr, tbl_stundenplandev.mitarbeiter_uid AS uid,
- tbl_stundenplandev.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_stundenplandev.datum,
- tbl_stundenplandev.stunde, tbl_stundenplandev.ort_kurzbz, tbl_stundenplandev.studiengang_kz,
- tbl_stundenplandev.semester, tbl_stundenplandev.verband, tbl_stundenplandev.gruppe,
- tbl_stundenplandev.gruppe_kurzbz, tbl_stundenplandev.titel, tbl_stundenplandev.anmerkung,
- tbl_stundenplandev.fix, tbl_lehreinheit.lehrveranstaltung_id, tbl_studiengang.kurzbz AS stg_kurzbz,
- tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bezeichnung,
- tbl_studiengang.typ AS stg_typ,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
- tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
- tbl_stundenplandev.updateamum, tbl_stundenplandev.updatevon, tbl_stundenplandev.insertamum,
- tbl_stundenplandev.insertvon, tbl_lehreinheit.anmerkung AS anmerkung_lehreinheit
- FROM lehre.tbl_stundenplandev
- JOIN public.tbl_studiengang USING (studiengang_kz)
- JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_stundenplandev TO admin;
- GRANT SELECT ON lehre.vw_stundenplandev TO vilesci;
- GRANT SELECT ON lehre.vw_stundenplandev TO web;
-
- ALTER TABLE lehre.tbl_lehreinheit ALTER COLUMN lehrfach_id SET NOT NULL;
- ";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- {
- // Lehrfaecher-LVs die gleich sind wie die Lehrveranstaltung
- // werden mit der Lehrveranstaltung zusammengelegt und das LV-Lehrfach wird entfernt
-
- $qry = "
- SELECT
- distinct
- tbl_lehrveranstaltung.lehrveranstaltung_id as lvid,
- tbl_lehreinheit.lehreinheit_id,
- tbl_lehreinheit.lehrfach_id,
- lehrfach.lehrveranstaltung_id as lfid,
- lehrfach.farbe as lffarbe,
- lehrfach.oe_kurzbz
- FROM
- lehre.tbl_lehrveranstaltung
- JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- WHERE
- tbl_lehrveranstaltung.kurzbz=lehrfach.kurzbz
- AND tbl_lehrveranstaltung.bezeichnung=lehrfach.bezeichnung
- AND tbl_lehrveranstaltung.lehrveranstaltung_id<>lehrfach.lehrveranstaltung_id
- ";
-
- if($result = $db->db_query($qry))
- {
- while($row = $db->db_fetch_object($result))
- {
- // Umhaengen der Lehrfach_id auf die eigene Lehrveranstaltung
- $qry='
- UPDATE lehre.tbl_lehrveranstaltung SET farbe='.$db->db_add_param($row->lffarbe).', oe_kurzbz='.$db->db_add_param($row->oe_kurzbz).' WHERE lehrveranstaltung_id='.$db->db_add_param($row->lvid).';
- UPDATE lehre.tbl_lehreinheit SET lehrfach_id='.$db->db_add_param($row->lvid).' WHERE lehreinheit_id='.$db->db_add_param($row->lehreinheit_id).';';
- $db->db_query($qry);
- }
- }
-
- // Alle nicht benoetigten Lehrfaecher loeschen
- $qry ="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrtyp_kurzbz='lf' AND NOT EXISTS(SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrfach_id=tbl_lehrveranstaltung.lehrveranstaltung_id)";
- $db->db_query($qry);
-
- echo 'Alle Lehrfaecher wurden als Lehrveranstaltungen angelegt';
- }
-
-}
-
-// zahlungsreferenz in tbl_konto
-if(!$result = @$db->db_query("SELECT zahlungsreferenz FROM public.tbl_konto LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_konto ADD COLUMN zahlungsreferenz varchar(35);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_konto: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_konto: Spalte zahlungsreferenz hinzugefügt';
-}
-
-// semester_alternativ in tbl_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT semester_alternativ FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN semester_alternativ smallint;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo 'lehre.tbl_lehrveranstaltung: Spalte semester_alternativ hinzugefügt';
-}
-
-// bestaetigtam und bestaetigtvon in Tabelle prestudentstatus fuer verlaengerung des Studiums
-if(!$result = @$db->db_query("SELECT bestaetigtam FROM public.tbl_prestudentstatus LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN bestaetigtam date;
- ALTER TABLE public.tbl_prestudentstatus ADD COLUMN bestaetigtvon varchar(32);
- ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_benutzer_prestudentstatus_bestaetigt FOREIGN KEY (bestaetigtvon) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_prestudentstatus: Spalte bestaetigtam und bestaetigtvon hinzugefügt';
-}
-
-// oe_kurzbz in Tabelle public.tbl_bankverbindung fuer das Abbilden von Kontodaten von Studiengaengen
-if(!$result = @$db->db_query("SELECT oe_kurzbz FROM public.tbl_bankverbindung LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_bankverbindung ADD COLUMN oe_kurzbz varchar(32);
- ALTER TABLE public.tbl_bankverbindung ALTER COLUMN person_id DROP NOT NULL;
- ALTER TABLE public.tbl_bankverbindung ADD CONSTRAINT fk_organisationseinheit_bankverbindung FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_bankverbindung: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_bankverbindung: Spalte oe_kurzbz hinzugefügt';
-}
-
-// dokumentstudiengang boolean onlinebewerbung
-if(!$result = @$db->db_query("Select onlinebewerbung from public.tbl_dokumentstudiengang LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN onlinebewerbung boolean NOT NULL DEFAULT true; ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_dokumentstudiengang: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_dokumentstudiengang: Spalte onlinebewerbung hinzugefügt';
-}
-
-// Akte titel_intern und anmerkung_intern hinzufügen für Dokumentupload aus FAS
-if(!$result = @$db->db_query("SELECT titel_intern from public.tbl_akte LIMIT 1"))
-{
-
- $qry = "ALTER TABLE public.tbl_akte ADD COLUMN titel_intern varchar(64);
- ALTER TABLE public.tbl_akte ADD COLUMN anmerkung_intern text; ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_akte: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_akte: Spalten titel_intern und anmerkung_intern hinzugefügt';
-
-}
-
-// Pruefungsverwaltung
-if(!$result = @$db->db_query("SELECT pruefung_id FROM campus.tbl_pruefung LIMIT 1;"))
-{
- $qry = "
- CREATE TABLE campus.tbl_pruefungsfenster
- (
- pruefungsfenster_id bigint NOT NULL,
- studiensemester_kurzbz varchar(16),
- oe_kurzbz varchar(32),
- start date,
- ende date
- );
-
- CREATE SEQUENCE campus.seq_pruefungsfenster_pruefungsfenster_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_pruefungsfenster ADD CONSTRAINT pk_pruefungsfenster PRIMARY KEY (pruefungsfenster_id);
- ALTER TABLE campus.tbl_pruefungsfenster ALTER COLUMN pruefungsfenster_id SET DEFAULT nextval('campus.seq_pruefungsfenster_pruefungsfenster_id');
-
- ALTER TABLE campus.tbl_pruefungsfenster ADD CONSTRAINT fk_pruefungsfenster_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsfenster TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsfenster TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_pruefungsfenster_pruefungsfenster_id TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_pruefungsfenster_pruefungsfenster_id TO web;
-
- CREATE TABLE campus.tbl_pruefung
- (
- pruefung_id bigint NOT NULL,
- mitarbeiter_uid varchar(32),
- studiensemester_kurzbz varchar(16),
- pruefungsfenster_id bigint,
- pruefungstyp_kurzbz varchar(16),
- titel varchar(256),
- beschreibung text,
- methode varchar(64),
- einzeln boolean NOT NULL DEFAULT false,
- storniert boolean NOT NULL DEFAULT false,
- insertvon varchar(32),
- insertamum timestamp,
- updatevon varchar(32),
- updateamum timestamp
- );
-
- CREATE SEQUENCE campus.seq_pruefung_pruefung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT pk_pruefung PRIMARY KEY (pruefung_id);
- ALTER TABLE campus.tbl_pruefung ALTER COLUMN pruefung_id SET DEFAULT nextval('campus.seq_pruefung_pruefung_id');
-
- ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_mitarbeiter_mitarbeiter_uid FOREIGN KEY (mitarbeiter_uid) REFERENCES public.tbl_mitarbeiter(mitarbeiter_uid) ON DELETE CASCADE ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungsfenster_pruefungsfenster_id FOREIGN KEY (pruefungsfenster_id) REFERENCES campus.tbl_pruefungsfenster(pruefungsfenster_id) ON DELETE CASCADE ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungstyp_pruefungstyp_kurzbz FOREIGN KEY (pruefungstyp_kurzbz) REFERENCES lehre.tbl_pruefungstyp(pruefungstyp_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefung TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefung TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_pruefung_pruefung_id TO web;
- GRANT SELECT, UPDATE ON campus.seq_pruefung_pruefung_id TO vilesci;
-
- CREATE TABLE campus.tbl_pruefungstermin
- (
- pruefungstermin_id bigint NOT NULL,
- pruefung_id bigint NOT NULL,
- von timestamp,
- bis timestamp,
- teilnehmer_max smallint,
- teilnehmer_min smallint
- );
-
- CREATE SEQUENCE campus.seq_pruefungstermin_pruefungstermin_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT pk_pruefungstermin PRIMARY KEY (pruefungstermin_id);
- ALTER TABLE campus.tbl_pruefungstermin ALTER COLUMN pruefungstermin_id SET DEFAULT nextval('campus.seq_pruefungstermin_pruefungstermin_id');
- ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT fk_pruefungstermin_pruefung_pruefung_id FOREIGN KEY (pruefung_id) REFERENCES campus.tbl_pruefung(pruefung_id) ON DELETE CASCADE ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungstermin TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungstermin TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_pruefungstermin_pruefungstermin_id TO web;
- GRANT SELECT, UPDATE ON campus.seq_pruefungstermin_pruefungstermin_id TO vilesci;
-
- CREATE TABLE campus.tbl_lehrveranstaltung_pruefung
- (
- lehrveranstaltung_pruefung_id bigint NOT NULL,
- lehrveranstaltung_id bigint NOT NULL,
- pruefung_id bigint NOT NULL
- );
-
- CREATE SEQUENCE campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT pk_lehrveranstaltung_pruefung PRIMARY KEY (lehrveranstaltung_pruefung_id);
- ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ALTER COLUMN lehrveranstaltung_pruefung_id SET DEFAULT nextval('campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id');
- ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT fk_lehrveranstaltung_pruefung_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT fk_lehrveranstaltung_pruefung_pruefung_pruefung_id FOREIGN KEY (pruefung_id) REFERENCES campus.tbl_pruefung(pruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_lehrveranstaltung_pruefung TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_lehrveranstaltung_pruefung TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id TO web;
- GRANT SELECT, UPDATE ON campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id TO vilesci;
-
- CREATE TABLE campus.tbl_pruefungsstatus
- (
- status_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(64)
- );
-
- GRANT SELECT ON campus.tbl_lehrveranstaltung_pruefung TO web;
- GRANT SELECT ON campus.tbl_lehrveranstaltung_pruefung TO vilesci;
-
- ALTER TABLE campus.tbl_pruefungsstatus ADD CONSTRAINT pk_pruefungsstatus PRIMARY KEY (status_kurzbz);
-
- INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('angemeldet','angemeldet');
- INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('bestaetigt','bestaetigt');
- INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('storniert','storniert');
-
- CREATE TABLE campus.tbl_pruefungsanmeldung
- (
- pruefungsanmeldung_id bigint NOT NULL,
- uid varchar(32) NOT NULL,
- pruefungstermin_id bigint NOT NULL,
- lehrveranstaltung_id bigint NOT NULL,
- status_kurzbz varchar(32),
- wuensche text,
- reihung smallint,
- kommentar text
- );
-
- CREATE SEQUENCE campus.seq_pruefungsanmeldung_pruefungsanmeldung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT pk_pruefungsanmeldung PRIMARY KEY (pruefungsanmeldung_id);
- ALTER TABLE campus.tbl_pruefungsanmeldung ALTER COLUMN pruefungsanmeldung_id SET DEFAULT nextval('campus.seq_pruefungsanmeldung_pruefungsanmeldung_id');
- ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_pruefungsstatus_status_kurzbz FOREIGN KEY (status_kurzbz) REFERENCES campus.tbl_pruefungsstatus(status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsanmeldung TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsanmeldung TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_pruefungsanmeldung_pruefungsanmeldung_id TO web;
- GRANT SELECT, UPDATE ON campus.seq_pruefungsanmeldung_pruefungsanmeldung_id TO vilesci;
-
- ";
-
- if(!$db->db_query($qry))
- echo 'Pruefungen: '.$db->db_last_error().'
';
- else
- echo 'Tabellen fuer Pruefungsverwaltung hinzugefügt';
-}
-
-// Berechtigungen fuer web User erteilen
-if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_prestudentstatus' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_prestudentstatus TO web;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_prestudentstatus: Schreibrechte fuer User web erteilt';
- }
-}
-
-// Berechtigungen fuer web User erteilen
-if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_preinteressent' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_preinteressent TO web;
- GRANT SELECT, UPDATE ON public.tbl_preinteressent_preinteressent_id_seq TO web;
- GRANT SELECT, INSERT, UPDATE ON public.tbl_preinteressentstudiengang TO web;
- GRANT SELECT, INSERT, UPDATE ON public.tbl_prestudent TO web;
- GRANT SELECT, UPDATE ON public.tbl_prestudent_prestudent_id_seq TO web;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_preinteressent: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_preinteressent: Schreibrechte fuer User web erteilt';
- }
-}
-
-// Berechtigungen fuer web User erteilen
-if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_konto' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "GRANT INSERT, UPDATE ON public.tbl_konto TO web;"
- . " GRANT SELECT, UPDATE on public.tbl_konto_buchungsnr_seq TO web;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_konto: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_konto: Schreibrechte fuer User web erteilt';
- }
-}
-
-// Anmeldefrist fuer Pruefungstermine
-if(!$result = @$db->db_query("SELECT anmeldung_von FROM campus.tbl_pruefungstermin LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN anmeldung_von date;
- ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN anmeldung_bis date;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_pruefungstermin: Spalte anmeldung_von und anmeldung_bis hinzugefügt';
-
-}
-
-// neue Spalte für Sammelklausur
-if(!$result = @$db->db_query("SELECT sammelklausur FROM campus.tbl_pruefungstermin LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN sammelklausur boolean;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_pruefungstermin: Spalte sammelklausur hinzugefügt';
-
-}
-
-// NOT NULL Constraint bei tbl_mitarbeiter.kleriker entfernt
-if($result = @$db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='tbl_mitarbeiter' AND column_name='kleriker' AND is_nullable='NO'"))
-{
- if($db->db_num_rows($result)>0)
- {
- $qry = "ALTER TABLE public.tbl_mitarbeiter ALTER COLUMN kleriker DROP NOT NULL;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_mitarbeiter: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_mitarbeiter: Spalte Kleriker NOT NULL entfernt';
- }
-}
-
-// aktivierungscode in tbl_benutzer
-if(!$result = @$db->db_query("SELECT aktivierungscode FROM public.tbl_benutzer LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_benutzer ADD COLUMN aktivierungscode varchar(64);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_benutzer: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_benutzer: Spalte aktivierungscode hinzugefuegt';
-}
-
-// Diverse neue Indizes
-if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_lehrveranstaltung_studiengang'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "
- CREATE INDEX idx_lehrveranstaltung_studiengang ON lehre.tbl_lehrveranstaltung USING btree (studiengang_kz);
- CREATE INDEX idx_lehrveranstaltung_semester ON lehre.tbl_lehrveranstaltung USING btree (semester);
- CREATE INDEX idx_lehreinheit_lehrveranstaltung_id ON lehre.tbl_lehreinheit USING btree (lehrveranstaltung_id);
- CREATE INDEX idx_studienplan_studienordnung_id ON lehre.tbl_studienplan USING btree (studienordnung_id);
- CREATE INDEX idx_studienplan_lehrveranstaltung_lehrveranstaltung_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (lehrveranstaltung_id);
- CREATE INDEX idx_studienplan_lehrveranstaltung_stpllvid ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id, lehrveranstaltung_id);
- CREATE INDEX idx_studienplan_lehrveranstaltung_studienplan_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id);
- CREATE INDEX idx_studienplan_lehrveranstaltung_parent_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_lehrveranstaltung_id_parent);
- CREATE INDEX idx_lehreinheit_lehrfach_idLV ON lehre.tbl_lehreinheit USING btree (lehrfach_id)
- ";
-
- if(!$db->db_query($qry))
- echo 'Indizes: '.$db->db_last_error().'
';
- else
- echo 'Diverse Indizes fuer Studienpan und Lehrveranstaltung hinzugefuegt';
- }
-}
-
-// Distinct im Count: Planstunden zaehlen nur mehr einmal, wenn zum gleichen Zeitpunkt mehrere Einheiten verplant werden
-if($result = @$db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='lehre' AND table_name='vw_lva_stundenplan'"))
-{
- if ($row = $db->db_fetch_object($result))
- {
- if($row->view_definition!="SELECT le.lehreinheit_id, le.unr, le.lvnr, (SELECT tbl_fachbereich.fachbereich_kurzbz FROM tbl_fachbereich WHERE ((tbl_fachbereich.oe_kurzbz)::text = (lehrfach.oe_kurzbz)::text)) AS fachbereich_kurzbz, le.lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid, ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang, lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ, le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung, le.studiensemester_kurzbz, (SELECT count(DISTINCT ROW(tbl_stundenplan.datum, tbl_stundenplan.stunde, tbl_stundenplan.mitarbeiter_uid, tbl_stundenplan.studiengang_kz, tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz, tbl_stundenplan.lehreinheit_id, tbl_stundenplan.unr)) AS count FROM lehre.tbl_stundenplan WHERE ((((((((tbl_stundenplan.mitarbeiter_uid)::text = (lema.mitarbeiter_uid)::text) AND (tbl_stundenplan.studiengang_kz = lvb.studiengang_kz)) AND (tbl_stundenplan.semester = lvb.semester)) AND ((tbl_stundenplan.verband = lvb.verband) OR (((tbl_stundenplan.verband IS NULL) OR (tbl_stundenplan.verband = ''::bpchar)) AND (lvb.verband IS NULL)))) AND ((tbl_stundenplan.gruppe = lvb.gruppe) OR (((tbl_stundenplan.gruppe IS NULL) OR (tbl_stundenplan.gruppe = ''::bpchar)) AND (lvb.gruppe IS NULL)))) AND (((tbl_stundenplan.gruppe_kurzbz)::text = (lvb.gruppe_kurzbz)::text) OR ((tbl_stundenplan.gruppe_kurzbz IS NULL) AND (lvb.gruppe_kurzbz IS NULL)))) AND (tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id))) AS verplant FROM (((((lehre.tbl_lehreinheit le JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)) JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)) JOIN tbl_studiengang USING (studiengang_kz)) JOIN lehre.tbl_lehrveranstaltung lehrfach ON ((le.lehrfach_id = lehrfach.lehrveranstaltung_id))) JOIN tbl_mitarbeiter ma USING (mitarbeiter_uid));")
- {
- $qry = "
- DROP VIEW lehre.vw_lva_stundenplan;
- CREATE OR REPLACE VIEW lehre.vw_lva_stundenplan AS
- SELECT
- le.lehreinheit_id, le.unr, le.lvnr,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
- lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
- ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang,
- lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
- le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung,
- le.studiensemester_kurzbz,
- ( SELECT count (distinct (datum,stunde,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id,unr)) AS count
- FROM lehre.tbl_stundenplan
- WHERE tbl_stundenplan.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplan.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplan.semester = lvb.semester AND (tbl_stundenplan.verband = lvb.verband OR (tbl_stundenplan.verband IS NULL OR tbl_stundenplan.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplan.gruppe = lvb.gruppe OR (tbl_stundenplan.gruppe IS NULL OR tbl_stundenplan.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplan.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplan.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id) AS verplant
- FROM lehre.tbl_lehreinheit le
- JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
- JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
- JOIN public.tbl_studiengang USING (studiengang_kz)
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_lva_stundenplan TO admin;
- GRANT SELECT ON lehre.vw_lva_stundenplan TO vilesci;
- GRANT SELECT ON lehre.vw_lva_stundenplan TO web;
- ";
-
- if(!$db->db_query($qry))
- echo 'vw_lva_stundenplan: '.$db->db_last_error().'
';
- else
- echo 'vw_lva_stundenplan: Planstunden zum selben Zeitpunkt zaehlen nur mehr einmal
';
- }
- }
-}
-
-// Distinct im Count: Planstunden zaehlen nur mehr einmal, wenn zum gleichen Zeitpunkt mehrere Einheiten verplant werden
-if($result = @$db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='lehre' AND table_name='vw_lva_stundenplandev'"))
-{
- if ($row = $db->db_fetch_object($result))
- {
- if($row->view_definition!="SELECT le.lehreinheit_id, le.unr, le.lvnr, (SELECT tbl_fachbereich.fachbereich_kurzbz FROM tbl_fachbereich WHERE ((tbl_fachbereich.oe_kurzbz)::text = (lehrfach.oe_kurzbz)::text)) AS fachbereich_kurzbz, le.lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid, tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper((((tbl_studiengang.typ)::character varying)::text || (tbl_studiengang.kurzbz)::text)) AS studiengang, lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ, le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung, le.studiensemester_kurzbz, (SELECT count(DISTINCT ROW(tbl_stundenplandev.datum, tbl_stundenplandev.stunde, tbl_stundenplandev.mitarbeiter_uid, tbl_stundenplandev.studiengang_kz, tbl_stundenplandev.semester, tbl_stundenplandev.verband, tbl_stundenplandev.gruppe, tbl_stundenplandev.gruppe_kurzbz, tbl_stundenplandev.lehreinheit_id, tbl_stundenplandev.unr)) AS count FROM lehre.tbl_stundenplandev WHERE ((((((((tbl_stundenplandev.mitarbeiter_uid)::text = (lema.mitarbeiter_uid)::text) AND (tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz)) AND (tbl_stundenplandev.semester = lvb.semester)) AND ((tbl_stundenplandev.verband = lvb.verband) OR (((tbl_stundenplandev.verband IS NULL) OR (tbl_stundenplandev.verband = ''::bpchar)) AND (lvb.verband IS NULL)))) AND ((tbl_stundenplandev.gruppe = lvb.gruppe) OR (((tbl_stundenplandev.gruppe IS NULL) OR (tbl_stundenplandev.gruppe = ''::bpchar)) AND (lvb.gruppe IS NULL)))) AND (((tbl_stundenplandev.gruppe_kurzbz)::text = (lvb.gruppe_kurzbz)::text) OR ((tbl_stundenplandev.gruppe_kurzbz IS NULL) AND (lvb.gruppe_kurzbz IS NULL)))) AND (tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id))) AS verplant FROM (((((lehre.tbl_lehreinheit le JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)) JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)) JOIN tbl_studiengang ON ((lvb.studiengang_kz = tbl_studiengang.studiengang_kz))) JOIN lehre.tbl_lehrveranstaltung lehrfach ON ((le.lehrfach_id = lehrfach.lehrveranstaltung_id))) JOIN tbl_mitarbeiter USING (mitarbeiter_uid));")
- {
- $qry = "
- DROP VIEW lehre.vw_lva_stundenplandev;
- CREATE OR REPLACE VIEW lehre.vw_lva_stundenplandev AS
- SELECT
- le.lehreinheit_id, le.unr, le.lvnr,
- (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
- le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
- lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
- tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper(tbl_studiengang.typ::character varying::text || tbl_studiengang.kurzbz::text) AS studiengang,
- lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
- le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw,
- le.anmerkung, le.studiensemester_kurzbz,
- ( SELECT count (distinct (datum,stunde,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id,unr)) AS count
- FROM lehre.tbl_stundenplandev
- WHERE tbl_stundenplandev.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplandev.semester = lvb.semester AND (tbl_stundenplandev.verband = lvb.verband OR (tbl_stundenplandev.verband IS NULL OR tbl_stundenplandev.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplandev.gruppe = lvb.gruppe OR (tbl_stundenplandev.gruppe IS NULL OR tbl_stundenplandev.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplandev.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplandev.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id) AS verplant
- FROM lehre.tbl_lehreinheit le
- JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
- JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
- JOIN public.tbl_studiengang ON lvb.studiengang_kz = tbl_studiengang.studiengang_kz
- JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO admin;
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO vilesci;
- GRANT SELECT ON lehre.vw_lva_stundenplandev TO web;
- ";
-
- if(!$db->db_query($qry))
- echo 'vw_lva_stundenplandev: '.$db->db_last_error().'
';
- else
- echo 'vw_lva_stundenplandev: Planstunden zum selben Zeitpunkt zaehlen nur mehr einmal
';
- }
- }
-}
-
-// Berechtigungen fuer web User erteilen fuer tbl_benutzer zum reset des aktivierungscodes
-if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_benutzer' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "GRANT UPDATE ON public.tbl_benutzer TO web;";
-
- if(!$db->db_query($qry))
- echo '
public.tbl_benutzer: '.$db->db_last_error().'
';
- else
- echo '
public.tbl_benutzer: Update rechte fuer User web erteilt';
- }
-}
-
-// pruefungsanmeldung_id in lehre.tbl_pruefung
-if(!$result = @$db->db_query("SELECT pruefungsanmeldung_id FROM lehre.tbl_pruefung LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN pruefungsanmeldung_id bigint; "
- . "ALTER TABLE lehre.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungsanmeldung_id FOREIGN KEY (pruefungsanmeldung_id) REFERENCES campus.tbl_pruefungsanmeldung (pruefungsanmeldung_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
-
- if(!$db->db_query($qry))
- echo '
lehre.tbl_pruefung: '.$db->db_last_error().'
';
- else
- echo '
lehre.tbl_pruefung: Spalte pruefungsanmeldung_id hinzugefuegt';
-}
-
-// pruefungsintervall in campus.tbl_pruefung
-if(!$result = @$db->db_query("SELECT pruefungsintervall FROM campus.tbl_pruefung LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefung ADD COLUMN pruefungsintervall smallint;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefung: '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_pruefung: Spalte pruefungsintervall hinzugefuegt';
-}
-
-// statusupdatevon in campus.tbl_pruefungsanmeldung
-if(!$result = @$db->db_query("SELECT statusupdatevon FROM campus.tbl_pruefungsanmeldung LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN statusupdatevon varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_pruefungsanmeldung: Spalte statusupdatevon hinzugefuegt';
-}
-
-// statusupdateamum in campus.tbl_pruefungsanmeldung
-if(!$result = @$db->db_query("SELECT statusupdateamum FROM campus.tbl_pruefungsanmeldung LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN statusupdateamum timestamp;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_pruefungsanmeldung: Spalte statusupdateamum hinzugefuegt';
-}
-
-// Indizes für Tabelle Reservierung
-if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_reservierung_datum'"))
-{
- if($db->db_num_rows($result)==0)
- {
-
- $qry = "CREATE INDEX idx_reservierung_datum ON campus.tbl_reservierung USING btree (datum);
- CREATE INDEX idx_reservierung_ort ON campus.tbl_reservierung USING btree (ort_kurzbz);
- CREATE INDEX idx_reservierung_stunde ON campus.tbl_reservierung USING btree (stunde);";
-
- if(!$db->db_query($qry))
- echo '
Indizes: '.$db->db_last_error().'
';
- else
- echo '
Diverse Indizes fuer Tabelle Reservierung hinzugefügt';
- }
-}
-
-// vw_student erweitern
-if(!$result = @$db->db_query("SELECT aktivierungscode FROM campus.vw_student"))
-{
- $qry = "CREATE OR REPLACE VIEW campus.vw_student AS
- SELECT
- tbl_benutzer.uid, tbl_student.matrikelnr, tbl_student.prestudent_id, tbl_student.studiengang_kz, tbl_student.semester,
- tbl_student.verband, tbl_student.gruppe, tbl_benutzer.person_id, tbl_benutzer.alias, tbl_person.geburtsnation, tbl_person.sprache,
- tbl_person.anrede, tbl_person.titelpost, tbl_person.titelpre, tbl_person.nachname, tbl_person.vorname, tbl_person.vornamen, tbl_person.gebdatum,
- tbl_person.gebort, tbl_person.gebzeit, tbl_person.foto, tbl_person.anmerkung, tbl_person.homepage, tbl_person.svnr, tbl_person.ersatzkennzeichen,
- tbl_person.geschlecht, tbl_person.familienstand, tbl_person.anzahlkinder, tbl_benutzer.aktiv, tbl_student.updateamum, tbl_student.updatevon,
- tbl_student.insertamum, tbl_student.insertvon, tbl_student.ext_id, tbl_benutzer.updateaktivam, tbl_benutzer.updateaktivvon,
- tbl_benutzer.aktivierungscode,
- (SELECT kontakt FROM public.tbl_kontakt WHERE person_id=tbl_person.person_id AND kontakttyp='email' ORDER BY zustellung desc Limit 1) as email_privat
- FROM
- public.tbl_student
- JOIN public.tbl_benutzer ON tbl_student.student_uid::text = tbl_benutzer.uid::text
- JOIN public.tbl_person USING (person_id);";
-
- if(!$db->db_query($qry))
- echo '
campus.vw_student: '.$db->db_last_error().'
';
- else
- echo '
campus.vw_student: Neue Spalten aktivierungscode und email_privat zur View hinzugefuegt';
-}
-
-// vw_mitarbeiter erweitern
-if(!$result = @$db->db_query("SELECT aktivierungscode FROM campus.vw_mitarbeiter"))
-{
- $qry = "CREATE OR REPLACE VIEW campus.vw_mitarbeiter AS
- SELECT tbl_benutzer.uid, tbl_mitarbeiter.ausbildungcode, tbl_mitarbeiter.personalnummer, tbl_mitarbeiter.kurzbz, tbl_mitarbeiter.lektor,
- tbl_mitarbeiter.fixangestellt, tbl_mitarbeiter.telefonklappe, tbl_benutzer.person_id, tbl_benutzer.alias, tbl_person.geburtsnation,
- tbl_person.sprache, tbl_person.anrede, tbl_person.titelpost, tbl_person.titelpre, tbl_person.nachname, tbl_person.vorname, tbl_person.vornamen,
- tbl_person.gebdatum, tbl_person.gebort, tbl_person.gebzeit, tbl_person.foto, tbl_mitarbeiter.anmerkung, tbl_person.homepage, tbl_person.svnr,
- tbl_person.ersatzkennzeichen, tbl_person.geschlecht, tbl_person.familienstand, tbl_person.anzahlkinder, tbl_mitarbeiter.ort_kurzbz, tbl_benutzer.aktiv,
- tbl_mitarbeiter.bismelden, tbl_mitarbeiter.standort_id, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_mitarbeiter.insertamum,
- tbl_mitarbeiter.insertvon, tbl_mitarbeiter.ext_id, tbl_benutzer.aktivierungscode,
- (SELECT kontakt FROM public.tbl_kontakt WHERE person_id=tbl_person.person_id AND kontakttyp='email' ORDER BY zustellung desc Limit 1) as email_privat
-
- FROM public.tbl_mitarbeiter
- JOIN public.tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text
- JOIN public.tbl_person USING (person_id);";
-
- if(!$db->db_query($qry))
- echo 'campus.vw_mitarbeiter: '.$db->db_last_error().'
';
- else
- echo 'campus.vw_mitarbeiter: Neue Spalten aktivierungscode und email_privat zur View hinzugefuegt';
-}
-// Ampel boolean email
-if(!$result = @$db->db_query("SELECT email FROM public.tbl_ampel"))
-{
- $qry = "ALTER TABLE public.tbl_ampel ADD COLUMN email boolean DEFAULT false NOT NULL";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_ampel: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_ampel: Neue Spalte email hinzugefügt';
-}
-
-// Fehlender Foreign Key
-if($result = @$db->db_query("SELECT * FROM information_schema.table_constraints WHERE constraint_name='fk_pruefungsanmeldung_pruefungstermin_id'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = 'ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_pruefungstermin_id FOREIGN KEY (pruefungstermin_id) REFERENCES campus.tbl_pruefungstermin(pruefungstermin_id) ON DELETE RESTRICT ON UPDATE CASCADE;';
-
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
- else
- echo '
campus.tbl_pruefungsanmeldung: Fehlenden Foreign Key zu Pruefungstermin hinzugefügt';
- }
-}
-// ort_kurzbz bei pruefungstermin
-if(!$result = @$db->db_query("SELECT ort_kurzbz FROM campus.tbl_pruefungstermin"))
-{
- $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN ort_kurzbz varchar(16);
- ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT fk_pruefungstermin_ort_ort_kurzbz FOREIGN KEY (ort_kurzbz) REFERENCES public.tbl_ort(ort_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
- else
- echo '
campus.tbl_pruefungstermin: Neue Spalte ort_kurzbz hinzugefügt';
-}
-
-// Aufwandstyp bei Projekten
-if(!$result = @$db->db_query("SELECT aufwandstyp_kurzbz FROM fue.tbl_projekt LIMIT 1"))
-{
- $qry = "
- CREATE TABLE fue.tbl_aufwandstyp
- (
- aufwandstyp_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(255)
- );
-
- ALTER TABLE fue.tbl_aufwandstyp ADD CONSTRAINT pk_aufwandstyp PRIMARY KEY (aufwandstyp_kurzbz);
- INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('schaetzpunkte','Schätzpunkte');
- INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('stunden','Stunden');
- INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('personentage','Personentage');
-
- ALTER TABLE fue.tbl_projekt ADD COLUMN aufwandstyp_kurzbz varchar(32);
- ALTER TABLE fue.tbl_projekt ADD CONSTRAINT fk_projekt_aufwandstyp FOREIGN KEY (aufwandstyp_kurzbz) REFERENCES fue.tbl_aufwandstyp(aufwandstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- UPDATE fue.tbl_projekt SET aufwandstyp_kurzbz='schaetzpunkte' WHERE aufwandstyp_kurzbz is null;
-
- ALTER TABLE fue.tbl_projekt_ressource ADD COLUMN aufwand smallint;
-
- GRANT SELECT on fue.tbl_aufwandstyp TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'fue.tbl_projekt: '.$db->db_last_error().'
';
- else
- echo '
fue.tbl_projekt: aufwandstyp hinzugefuegt';
-}
-
-// Neue Spalten in Tabelle Lehrveranstaltung: SWS, LVS, ALVS, LVPS, LAS
-if(!$result = @$db->db_query("SELECT lvs FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
-{
- $qry = "
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN sws numeric(5,2);
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvs smallint;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN alvs smallint;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvps smallint;
- ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN las smallint;
- COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.sws IS 'Semesterwochenstunden';
- COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.lvs IS 'Lehrveranstaltungsstunden';
- COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.alvs IS 'Angebotene Lehrveranstaltungsstunden';
- COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.lvps IS 'Lehrveranstaltungsplanstunden Summe';
- COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.las IS 'Lehrauftragsstunden Summe';
-
- UPDATE lehre.tbl_lehrveranstaltung SET las=semesterstunden;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo '
lehre.tbl_lehrveranstaltung: neue Spalten sws, lvs,alvs,lvps,las hinzugefuegt';
-}
-
-// Notizzuordnung fuer Lehreinheit
-if(!$result = @$db->db_query("SELECT lehreinheit_id FROM public.tbl_notizzuordnung LIMIT 1"))
-{
- $qry = "
- ALTER TABLE public.tbl_notizzuordnung ADD COLUMN lehreinheit_id integer;
- ALTER TABLE public.tbl_notizzuordnung ADD CONSTRAINT fk_lehreinheit_notizzuordnung FOREIGN KEY (lehreinheit_id) REFERENCES lehre.tbl_lehreinheit(lehreinheit_id) ON DELETE CASCADE ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
- else
- echo '
public.tbl_notizzuordnung: neue Spalten lehreinheit_id hinzugefuegt';
-}
-
-
-// Tabelle public.tbl_filter
-if(!$result = @$db->db_query("SELECT filter_id FROM public.tbl_filter LIMIT 1;"))
-{
- $qry = "CREATE TABLE public.tbl_filter
- (
- filter_id bigint,
- kurzbz character varying(32),
- sql text,
- valuename character varying(512),
- showvalue boolean DEFAULT true,
- insertamum Timestamp DEFAULT now(),
- insertvon Character varying(32),
- updateamum Timestamp DEFAULT now(),
- updatevon Character varying(32)
- );
-
- ALTER TABLE public.tbl_filter ADD CONSTRAINT pk_filter PRIMARY KEY (filter_id);
-
- CREATE SEQUENCE public.seq_filter_filter_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE public.tbl_filter ALTER COLUMN filter_id SET DEFAULT nextval('public.seq_filter_filter_id');
-
- GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_filter TO vilesci;
- GRANT SELECT, UPDATE on public.seq_filter_filter_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_filter: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_filter: Tabelle public.tbl_filter hinzugefuegt!
';
-}
-
-// Tabelle lehre.tbl_vertrag
-if(!$result = @$db->db_query("SELECT vertrag_id FROM lehre.tbl_vertrag;"))
-{
- $qry = "CREATE TABLE lehre.tbl_vertragstyp
- (
- vertragstyp_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(256)
- );
-
- ALTER TABLE lehre.tbl_vertragstyp ADD CONSTRAINT pk_vertragstyp PRIMARY KEY (vertragstyp_kurzbz);
-
- CREATE TABLE lehre.tbl_vertragsstatus
- (
- vertragsstatus_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(256)
- );
-
- ALTER TABLE lehre.tbl_vertragsstatus ADD CONSTRAINT pk_vertragstatus PRIMARY KEY (vertragsstatus_kurzbz);
-
- CREATE TABLE lehre.tbl_vertrag
- (
- vertrag_id bigint NOT NULL,
- person_id bigint NOT NULL,
- vertragstyp_kurzbz varchar(32),
- bezeichnung varchar(256),
- betrag numeric(8,2) NOT NULL,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32),
- ext_id bigint
- );
-
- ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT pk_vertrag PRIMARY KEY (vertrag_id);
-
- CREATE SEQUENCE lehre.seq_vertrag_vertrag_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_vertrag ALTER COLUMN vertrag_id SET DEFAULT nextval('lehre.seq_vertrag_vertrag_id');
- ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT fk_person_vertrag FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT fk_vertragstyp_vertrag FOREIGN KEY (vertragstyp_kurzbz) REFERENCES lehre.tbl_vertragstyp(vertragstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
-
- CREATE TABLE lehre.tbl_vertrag_vertragsstatus
- (
- vertragsstatus_kurzbz varchar(32) NOT NULL,
- vertrag_id bigint NOT NULL,
- uid varchar(32),
- datum timestamp NOT NULL,
- ext_id bigint
- );
-
- ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT pk_vertrag_vertragstatus PRIMARY KEY (vertragsstatus_kurzbz, vertrag_id);
- ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_vertrag_vertrag_vertragsstatus FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_benutzer_vertrag_vertragsstatus FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
-
-
- GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag TO vilesci;
- GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertragstyp TO vilesci;
- GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertragsstatus TO vilesci;
- GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag_vertragsstatus TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_vertrag_vertrag_id TO vilesci;
-
- GRANT SELECT on lehre.tbl_vertrag TO web;
- GRANT SELECT on lehre.tbl_vertragstyp TO web;
- GRANT SELECT on lehre.tbl_vertragsstatus TO web;
- GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag_vertragsstatus TO web;
-
- ALTER TABLE lehre.tbl_lehreinheitmitarbeiter ADD COLUMN vertrag_id bigint;
- ALTER TABLE lehre.tbl_lehreinheitmitarbeiter ADD CONSTRAINT fk_vertrag_lehreinheitmitarbeiter FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- ALTER TABLE lehre.tbl_projektbetreuer ADD COLUMN vertrag_id bigint;
- ALTER TABLE lehre.tbl_projektbetreuer ADD CONSTRAINT fk_vertrag_projektbetreuer FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- ";
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag: Tabelle lehre.tbl_vertrag hinzugefuegt!
';
-}
-
-// Tabelle wawi.tbl_buchung
-if(!$result = @$db->db_query("SELECT buchung_id FROM wawi.tbl_buchung;"))
-{
- $qry = "CREATE TABLE wawi.tbl_buchungstyp
- (
- buchungstyp_kurzbz varchar(32) NOT NULL,
- bezeichnung varchar(256)
- );
-
- ALTER TABLE wawi.tbl_buchungstyp ADD CONSTRAINT pk_buchungstyp PRIMARY KEY (buchungstyp_kurzbz);
-
- CREATE TABLE wawi.tbl_buchung
- (
- buchung_id bigint NOT NULL,
- konto_id bigint NOT NULL,
- kostenstelle_id bigint,
- buchungstyp_kurzbz varchar(32) NOT NULL,
- buchungsdatum date,
- buchungstext varchar(512),
- betrag numeric(8,2) NOT NULL,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
-
- ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT pk_buchung PRIMARY KEY (buchung_id);
-
- CREATE SEQUENCE wawi.seq_buchung_buchung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE wawi.tbl_buchung ALTER COLUMN buchung_id SET DEFAULT nextval('wawi.seq_buchung_buchung_id');
- ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_konto_buchung FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_kostenstelle_buchung FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_buchungstyp_buchung FOREIGN KEY (buchungstyp_kurzbz) REFERENCES wawi.tbl_buchungstyp(buchungstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE on wawi.tbl_buchungstyp TO vilesci;
- GRANT SELECT, UPDATE, INSERT, DELETE on wawi.tbl_buchung TO vilesci;
- GRANT SELECT, UPDATE ON wawi.seq_buchung_buchung_id TO vilesci;
-
-
- ALTER TABLE wawi.tbl_konto ADD COLUMN person_id bigint;
- ALTER TABLE wawi.tbl_konto ADD CONSTRAINT fk_person_konto FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- ";
- if(!$db->db_query($qry))
- echo 'wawi.tbl_buchung: '.$db->db_last_error().'
';
- else
- echo ' wawi.tbl_buchung: Tabelle wawi.tbl_buchung hinzugefuegt!
';
-}
-
-// Tabelle campus.tbl_anwesenheit
-if(!$result = @$db->db_query("SELECT anwesenheit_id FROM campus.tbl_anwesenheit"))
-{
- $qry = "CREATE TABLE campus.tbl_anwesenheit
- (
- anwesenheit_id bigint NOT NULL,
- uid varchar(32) NOT NULL,
- einheiten numeric(3,1),
- datum date NOT NULL,
- anwesend boolean NOT NULL,
- lehreinheit_id bigint
- );
-
- ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT pk_anwesenheit PRIMARY KEY (anwesenheit_id);
-
- CREATE SEQUENCE campus.seq_anwesenheit_anwesenheit_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE campus.tbl_anwesenheit ALTER COLUMN anwesenheit_id SET DEFAULT nextval('campus.seq_anwesenheit_anwesenheit_id');
- ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT fk_benutzer_anwesenheit FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT fk_lehreinheit_anwesenheit FOREIGN KEY (lehreinheit_id) REFERENCES lehre.tbl_lehreinheit(lehreinheit_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, UPDATE, INSERT, DELETE on campus.tbl_anwesenheit TO vilesci;
- GRANT SELECT, UPDATE ON campus.seq_anwesenheit_anwesenheit_id TO vilesci;
-
- ";
- if(!$db->db_query($qry))
- echo 'campus.tbl_anwesenheit '.$db->db_last_error().'
';
- else
- echo ' campus.tbl_anwesenheit: Tabelle campus.tbl_anwesenheit hinzugefuegt!
';
-}
-
-// Tabelle public.tbl_benutzerfunktion Spalte wochenstunden
-if(!$result = @$db->db_query("SELECT wochenstunden FROM public.tbl_benutzerfunktion"))
-{
- $qry = "ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN wochenstunden numeric(5,2);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_benutzerfunktion '.$db->db_last_error().'
';
- else
- echo ' public.tbl_benutzerfunktion: Spalte wochenstunden hinzugefuegt!
';
-}
-
-// Tabelle public.tbl_anwesenheit Spalte anmerkung
-if(!$result = @$db->db_query("SELECT anmerkung FROM campus.tbl_anwesenheit"))
-{
- $qry = "ALTER TABLE campus.tbl_anwesenheit ADD COLUMN anmerkung varchar(256);
- ALTER TABLE campus.tbl_anwesenheit ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_anwesenheit '.$db->db_last_error().'
';
- else
- echo ' campus.tbl_anwesenheit: Spalte anmerkung, ext_id hinzugefuegt!
';
-}
-
-// Spalte publish Tabelle public.tbl_statistik
-if(!$result = @$db->db_query("SELECT publish FROM public.tbl_statistik LIMIT 1;"))
-{
- $qry = 'ALTER TABLE public.tbl_statistik ADD COLUMN publish boolean DEFAULT false;';
- if(!$db->db_query($qry))
- echo 'public.tbl_statistik: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_statistik: Spalte publish hinzugefuegt!
';
-}
-
-// Spalte fgm, faktiv Tabelle public.tbl_prestudentstatus
-if(!$result = @$db->db_query("SELECT fgm FROM public.tbl_prestudentstatus LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN fgm smallint;
- ALTER TABLE public.tbl_prestudentstatus ADD COLUMN faktiv boolean DEFAULT false;
- COMMENT ON COLUMN public.tbl_prestudentstatus.fgm IS 'Foerder-Guthaben-Monate';
- COMMENT ON COLUMN public.tbl_prestudentstatus.faktiv IS 'FÖBIS-Aktiv';";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_prestudentstatus: Spalte fgm und faktiv hinzugefuegt!
';
-}
-
-// Spalte type und htmlattr Tabelle public.tbl_filter
-if(!$result = @$db->db_query("SELECT type FROM public.tbl_filter LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_filter ADD COLUMN type varchar(256);
- ALTER TABLE public.tbl_filter ADD COLUMN htmlattr text;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_filter: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_filter: Spalte type und htmlattr hinzugefuegt!
';
-}
-
-// Tabelle Aufnahmetermin und Aufnahmetermintyp
-if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_aufnahmetermin LIMIT 1;"))
-{
- $qry = "
- CREATE TABLE public.tbl_aufnahmetermin
- (
- aufnahmetermin_id bigint NOT NULL,
- aufnahmetermintyp_kurzbz varchar(32) NOT NULL,
- prestudent_id integer NOT NULL,
- termin timestamp,
- teilgenommen boolean NOT NULL,
- bewertung text,
- protokoll text,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32),
- ext_id bigint
- );
- COMMENT ON TABLE public.tbl_aufnahmetermin IS 'Termine fuer Erstgespraeche, Reihungstests, Inskriptionstermine, etc';
-
- ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT pk_aufnahmetermin PRIMARY KEY (aufnahmetermin_id);
- CREATE SEQUENCE public.seq_aufnahmetermin_aufnahmetermin_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE public.tbl_aufnahmetermin ALTER COLUMN aufnahmetermin_id SET DEFAULT nextval('public.seq_aufnahmetermin_aufnahmetermin_id');
- ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT fk_aufnahmetermin_prestudent FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent(prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- CREATE TABLE public.tbl_aufnahmetermintyp
- (
- aufnahmetermintyp_kurzbz Character varying(32) NOT NULL,
- bezeichnung Character varying(256)
- );
-
- ALTER TABLE public.tbl_aufnahmetermintyp ADD CONSTRAINT pk_aufnahmetermintyp PRIMARY KEY (aufnahmetermintyp_kurzbz);
- ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT fk_aufnahmetermin_aufnahmetermintyp FOREIGN KEY (aufnahmetermintyp_kurzbz) REFERENCES public.tbl_aufnahmetermintyp(aufnahmetermintyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_aufnahmetermin TO vilesci;
- GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_aufnahmetermintyp TO vilesci;
- GRANT SELECT, UPDATE ON public.seq_aufnahmetermin_aufnahmetermin_id TO vilesci;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_aufnahmetermin: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_aufnahmetermin: Tabelle public.tbl_aufnahmetermin und public.tbl_aufnahmetermintyp hinzugefuegt!
';
-}
-
-// Spalte dv_art Tabelle bis.tbl_bisverwendung
-if(!$result = @$db->db_query("SELECT dv_art FROM bis.tbl_bisverwendung LIMIT 1;"))
-{
- $qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN dv_art varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'bis.tbl_bisverwendung: '.$db->db_last_error().'
';
- else
- echo ' bis.tbl_bisverwendung: Spalte dv_art hinzugefuegt!
';
-}
-
-// Spalte mentor Tabelle public.tbl_prestudent
-if(!$result = @$db->db_query("SELECT mentor FROM public.tbl_prestudent LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN mentor varchar(256);";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudent: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_prestudent: Spalte mentor hinzugefuegt!
';
-}
-
-// Spalte ext_id Tabelle lehre.tbl_stundenplandev
-if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_stundenplandev LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_stundenplandev ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_stundenplandev: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_stundenplandev: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id Tabelle public.tbl_notiz
-if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_notiz LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_notiz ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_notiz: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_notiz: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id Tabelle public.tbl_notizzuordnung
-if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_notizzuordnung LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_notizzuordnung ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_notizzuordnung: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id Tabelle wawi.tbl_konto
-if(!$result = @$db->db_query("SELECT ext_id FROM wawi.tbl_konto LIMIT 1;"))
-{
- $qry = "ALTER TABLE wawi.tbl_konto ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'wawi.tbl_konto: '.$db->db_last_error().'
';
- else
- echo ' wawi.tbl_konto: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte vertrag_id Tabelle lehre.tbl_pruefung
-if(!$result = @$db->db_query("SELECT vertrag_id FROM lehre.tbl_pruefung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN vertrag_id bigint;
- ALTER TABLE lehre.tbl_pruefung ADD CONSTRAINT fk_pruefung_vertrag FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_pruefung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_pruefung: Spalte vertrag_id hinzugefuegt!
';
-}
-
-// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN sort integer;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte sort hinzugefuegt!
';
-}
-
-// Spalte studienjahr_kurzbz in public.tbl_studiensemester
-if(!$result = @$db->db_query("SELECT studienjahr_kurzbz FROM public.tbl_studiensemester LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_studiensemester ADD COLUMN studienjahr_kurzbz varchar(16);";
- if(!$db->db_query($qry))
- echo 'public.tbl_studiensemester: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_studiensemester: Spalte studienjahr_kurzbz hinzugefuegt!
';
-}
-
-// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
-if($result = $db->db_query("select * from information_schema.key_column_usage where constraint_name='fk_vertragsstatus_vertrag_vertragsstatus'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_vertragsstatus_vertrag_vertragsstatus FOREIGN KEY (vertragsstatus_kurzbz) REFERENCES lehre.tbl_vertragsstatus(vertragsstatus_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag_vertragsstatus: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag_vertragsstatus: fehlenden FK hinzugefuegt!
';
- }
-}
-
-// Spalte sort in fue.tbl_aktivitaet
-if(!$result = @$db->db_query("SELECT sort FROM fue.tbl_aktivitaet LIMIT 1;"))
-{
- $qry = "ALTER TABLE fue.tbl_aktivitaet ADD COLUMN sort integer;";
- if(!$db->db_query($qry))
- echo 'fue.tbl_aktivitaet: '.$db->db_last_error().'
';
- else
- echo ' fue.tbl_aktivitaet: Spalte sort hinzugefuegt!
';
-}
-
-// Tabelle testtool.tbl_ablauf_vorgaben
-if(!$result = @$db->db_query("SELECT 1 FROM testtool.tbl_ablauf_vorgaben LIMIT 1;"))
-{
- $qry = "
- CREATE TABLE testtool.tbl_ablauf_vorgaben
- (
- ablauf_vorgaben_id integer NOT NULL,
- studiengang_kz integer NOT NULL,
- sprache varchar(16),
- sprachwahl boolean NOT NULL,
- content_id bigint,
- insertamum timestamp,
- insertvon varchar(32),
- updateamum timestamp,
- updatevon varchar(32)
- );
- COMMENT ON TABLE testtool.tbl_ablauf_vorgaben IS 'Einstellungen und Variablen fuer den Ablauf der Gebiete';
- COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.content_id IS 'Einfuehrungsseite aus dem CMS';
- COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprache IS 'Sprache, in der die Fragen gestellt werden';
- COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprachwahl IS 'Soll der Pruefling die Sprache der Testfragen aendern koennen?';
-
- ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT pk_ablauf_vorgaben PRIMARY KEY (ablauf_vorgaben_id);
- CREATE SEQUENCE testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE testtool.tbl_ablauf_vorgaben ALTER COLUMN ablauf_vorgaben_id SET DEFAULT nextval('testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq');
- ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_sprache FOREIGN KEY (sprache) REFERENCES public.tbl_sprache(sprache) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_content_id FOREIGN KEY (content_id) REFERENCES campus.tbl_content(content_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO vilesci;
- GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO vilesci;
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO web;
- GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO web;
- ";
-
- if(!$db->db_query($qry))
- echo 'testtool.tbl_ablauf_vorgaben: '.$db->db_last_error().'
';
- else
- echo 'testtool.tbl_ablauf_vorgaben: Tabelle und Sequenz hinzugefuegt!
';
-}
-
-// Vorgaben fuer Testtool Ablauf
-if(!$result = @$db->db_query("SELECT ablauf_vorgaben_id FROM testtool.tbl_ablauf LIMIT 1"))
-{
- $qry = "
- ALTER TABLE testtool.tbl_ablauf ADD COLUMN ablauf_vorgaben_id integer;
- ALTER TABLE testtool.tbl_ablauf ADD CONSTRAINT fk_ablauf_vorgaben_id FOREIGN KEY (ablauf_vorgaben_id) REFERENCES testtool.tbl_ablauf_vorgaben(ablauf_vorgaben_id) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- INSERT INTO testtool.tbl_ablauf_vorgaben(studiengang_kz, sprache, sprachwahl) SELECT studiengang_kz, sprache, testtool_sprachwahl FROM public.tbl_studiengang;
- UPDATE testtool.tbl_ablauf SET ablauf_vorgaben_id = (SELECT ablauf_vorgaben_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=tbl_ablauf.studiengang_kz);
- ";
-
- if(!$db->db_query($qry))
- echo 'testtool.tbl_ablauf: '.$db->db_last_error().'
';
- else
- echo 'testtool.tbl_ablauf: Neue Spalte ablauf_vorgaben_id hinzugefuegt
';
-}
-
-// Spalte preferences in public.tbl_statistik
-if(!$result = @$db->db_query("SELECT preferences FROM public.tbl_statistik LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_statistik ADD COLUMN preferences text;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_statistik: '.$db->db_last_error().'
';
- else
- echo 'public.tbl_statistik: Neue Spalte preferences hinzugefuegt
';
-}
-// Spalte anmerkung in lehre.tbl_vertrag
-if(!$result = @$db->db_query("SELECT anmerkung FROM lehre.tbl_vertrag LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag ADD COLUMN anmerkung text;";
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag: Spalte anmerkung hinzugefuegt!
';
-}
-// Spalte vertragsdatum in lehre.tbl_vertrag
-if(!$result = @$db->db_query("SELECT vertragsdatum FROM lehre.tbl_vertrag LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag ADD COLUMN vertragsdatum date;";
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag: Spalte vertragsdatum hinzugefuegt!
';
-}
-
-// Spalte anmerkung in system.tbl_benutzerrolle
-if(!$result = @$db->db_query("SELECT anmerkung FROM system.tbl_benutzerrolle LIMIT 1"))
-{
- $qry = "ALTER TABLE system.tbl_benutzerrolle ADD COLUMN anmerkung varchar(256);";
-
- if(!$db->db_query($qry))
- echo 'system.tbl_benutzerrolle '.$db->db_last_error().'
';
- else
- echo ' system.tbl_benutzerrolle: Spalte anmerkung hinzugefuegt!
';
-}
-
-// Spalte anmerkung in Tabelle lehre.tbl_pruefung
-if(!$result = @$db->db_query("SELECT anmerkung FROM lehre.tbl_pruefung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN anmerkung text;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_pruefung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_pruefung: Spalte anmerkung hinzugefuegt!
';
-}
-
-// Spalte max_teilnehmer in public.tbl_reihungstest
-if(!$result = @$db->db_query("SELECT max_teilnehmer FROM public.tbl_reihungstest LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN max_teilnehmer integer;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
- else
- echo ' public.tbl_reihungstest: Spalte max_teilnehmer hinzugefuegt!
';
-}
-
-// Spalte oeffentlich in public.tbl_reihungstest
-if(!$result = @$db->db_query("SELECT oeffentlich FROM public.tbl_reihungstest LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN oeffentlich boolean NOT NULL DEFAULT FALSE;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
- else
- echo ' public.tbl_reihungstest: Spalte oeffentlich hinzugefuegt!
';
-}
-
-// Spalte insertvon in lehre.tbl_vertrag_vertragsstatus
-if(!$result = @$db->db_query("SELECT insertvon FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN insertvon varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag_vertragsstatus: Spalte insertvon hinzugefuegt!
';
-}
-
-// Spalte updatevon in lehre.tbl_vertrag_vertragsstatus
-if(!$result = @$db->db_query("SELECT updatevon FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN updatevon varchar(32);";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag_vertragsstatus: Spalte updatevon hinzugefuegt!
';
-}
-
-// Spalte insertamum in lehre.tbl_vertrag_vertragsstatus
-if(!$result = @$db->db_query("SELECT insertamum FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN insertamum timestamp without time zone DEFAULT now();";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag_vertragsstatus: Spalte insertamum hinzugefuegt!
';
-}
-
-// Spalte updateamum in lehre.tbl_vertrag_vertragsstatus
-if(!$result = @$db->db_query("SELECT updateamum FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN updateamum timestamp without time zone;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_vertrag_vertragsstatus: Spalte updateamum hinzugefuegt!
';
-}
-
-// Notenschluessel
-if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_notenschluessel LIMIT 1;"))
-{
- $qry = "
-
- CREATE TABLE lehre.tbl_notenschluessel
- (
- notenschluessel_kurzbz varchar(32),
- bezeichnung varchar(256)
- );
-
- ALTER TABLE lehre.tbl_notenschluessel ADD CONSTRAINT pk_notenschluessel PRIMARY KEY (notenschluessel_kurzbz);
-
- CREATE TABLE lehre.tbl_notenschluesselaufteilung
- (
- notenschluesselaufteilung_id bigint,
- notenschluessel_kurzbz varchar(32),
- note smallint,
- punkte numeric(8,4)
- );
-
- ALTER TABLE lehre.tbl_notenschluesselaufteilung ADD CONSTRAINT pk_notenschluesselaufteilung PRIMARY KEY (notenschluesselaufteilung_id);
-
- CREATE SEQUENCE lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_notenschluesselaufteilung ALTER COLUMN notenschluesselaufteilung_id SET DEFAULT nextval('lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id');
- ALTER TABLE lehre.tbl_notenschluesselaufteilung ADD CONSTRAINT fk_notenschluesselaufteilung_notenschluessel FOREIGN KEY (notenschluessel_kurzbz) REFERENCES lehre.tbl_notenschluessel(notenschluessel_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- CREATE TABLE lehre.tbl_notenschluesselzuordnung
- (
- notenschluesselzuordnung_id bigint,
- notenschluessel_kurzbz varchar(32),
- lehrveranstaltung_id integer,
- studienplan_id integer,
- oe_kurzbz varchar(32),
- studiensemester_kurzbz varchar(16)
- );
-
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT pk_notenschluesselzuordnung PRIMARY KEY (notenschluesselzuordnung_id);
- CREATE SEQUENCE lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ALTER COLUMN notenschluesselzuordnung_id SET DEFAULT nextval('lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id');
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_notenschluessel FOREIGN KEY (notenschluessel_kurzbz) REFERENCES lehre.tbl_notenschluessel(notenschluessel_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_lehrveranstaltung FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_studienplan FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan(studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- ALTER TABLE lehre.tbl_note ADD COLUMN notenwert smallint;
- ALTER TABLE lehre.tbl_note ADD COLUMN aktiv boolean NOT NULL DEFAULT true;
- ALTER TABLE lehre.tbl_note ADD COLUMN lehre boolean NOT NULL DEFAULT true;
-
- ALTER TABLE lehre.tbl_zeugnisnote ADD COLUMN punkte numeric(8,4);
- ALTER TABLE campus.tbl_lvgesamtnote ADD COLUMN punkte numeric(8,4);
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluessel TO vilesci;
- GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluesselzuordnung TO vilesci;
- GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluesselaufteilung TO vilesci;
-
- GRANT SELECT ON lehre.tbl_notenschluessel TO web;
- GRANT SELECT ON lehre.tbl_notenschluesselzuordnung TO web;
- GRANT SELECT ON lehre.tbl_notenschluesselaufteilung TO web;
-
- GRANT SELECT, UPDATE ON lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id TO vilesci;
- GRANT SELECT, UPDATE ON lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id TO vilesci;
- ";
- if(!$db->db_query($qry))
- echo 'Noten: '.$db->db_last_error().'
';
- else
- echo ' Tabellen fuer Notenspiegel hinzugefuegt!
';
-}
-
-// Eigene Berechtigung fuer Tempus / FAS / Planner
-if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='basis/fas' LIMIT 1"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "
- INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/fas','FAS Zugriff');
- INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/tempus','Tempus Zugriff');
- INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/planner','Planner Zugriff');
-
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fas','assistenz','suid');
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fas','admin','suid');
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/tempus','lv-plan','suid');
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/tempus','admin','suid');
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/planner','admin','suid');
- ";
-
- if(!$db->db_query($qry))
- echo 'system.tbl_berechtigung '.$db->db_last_error().'
';
- else
- echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer FAS / Tempus / Planner hinzugefuegt!
';
- }
-}
-
-// Spalte oeffentlich in public.tbl_reihungstest
-if(!$result = @$db->db_query("SELECT oeffentlich FROM public.tbl_reihungstest LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN oeffentlich boolean NOT NULL DEFAULT FALSE;";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
- else
- echo ' public.tbl_reihungstest: Spalte oeffentlich hinzugefuegt!
';
-}
-
-// BIS-Archiv
-if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_archiv LIMIT 1;"))
-{
- $qry = "
-
- CREATE TABLE bis.tbl_archiv
- (
- archiv_id integer,
- studiensemester_kurzbz varchar(6),
- meldung xml,
- html text,
- studiengang_kz bigint,
- insertamum timestamp,
- insertvon varchar(32),
- typ varchar(16)
- );
-
- ALTER TABLE bis.tbl_archiv ADD CONSTRAINT pk_archiv PRIMARY KEY (archiv_id);
-
- CREATE SEQUENCE bis.seq_archiv_archiv_id
- INCREMENT BY 1
- NO MAXVALUE
- NO MINVALUE
- CACHE 1;
-
- ALTER TABLE bis.tbl_archiv ALTER COLUMN archiv_id SET DEFAULT nextval('bis.seq_archiv_archiv_id');
- ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_archiv_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_archiv_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_benutzer_archiv FOREIGN KEY (insertvon) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_archiv TO vilesci;
- GRANT SELECT, UPDATE ON bis.seq_archiv_archiv_id TO vilesci;
-
- GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_archiv TO web;
- GRANT SELECT, UPDATE ON bis.seq_archiv_archiv_id TO web;
- ";
- if(!$db->db_query($qry))
- echo 'BIS-Archiv: '.$db->db_last_error().'
';
- else
- echo ' Tabellen fuer BIS-Archiv hinzugefuegt!
';
-}
-
-// Spalte ext_id in lehre.tbl_studienplan_lehrveranstaltung
-if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id in lehre.tbl_studienordnung
-if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienordnung LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_studienordnung ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienordnung: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienordnung: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id in lehre.tbl_studienplan
-if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienplan LIMIT 1;"))
-{
- $qry = "ALTER TABLE lehre.tbl_studienplan ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_studienplan: '.$db->db_last_error().'
';
- else
- echo ' lehre.tbl_studienplan: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte ext_id in campus.tbl_lvgesamtnote
-if(!$result = @$db->db_query("SELECT ext_id FROM campus.tbl_lvgesamtnote LIMIT 1;"))
-{
- $qry = "ALTER TABLE campus.tbl_lvgesamtnote ADD COLUMN ext_id bigint;";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_lvgesamtnote: '.$db->db_last_error().'
';
- else
- echo ' campus.tbl_lvgesamtnote: Spalte ext_id hinzugefuegt!
';
-}
-
-// Spalte oe_kurzbz, m2, gebteil in public.tbl_ort
-if(!$result = @$db->db_query("SELECT oe_kurzbz FROM public.tbl_ort LIMIT 1;"))
-{
- $qry = "ALTER TABLE public.tbl_ort ADD COLUMN m2 numeric(8,2);
- ALTER TABLE public.tbl_ort ADD COLUMN gebteil varchar(32);
- ALTER TABLE public.tbl_ort ADD COLUMN oe_kurzbz varchar(32);
-
- COMMENT ON COLUMN public.tbl_ort.m2 IS 'Quadratmeter';
- COMMENT ON COLUMN public.tbl_ort.m2 IS 'Gebaeudeteil';
- ALTER TABLE public.tbl_ort ADD CONSTRAINT fk_ort_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
- ";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_ort: '.$db->db_last_error().'
';
- else
- echo ' public.tbl_ort: Spalte m2, gebteil, oe_kurzbz hinzugefuegt!
';
-}
-
-// Eigene Berechtigung fuer Noten
-if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='student/noten' LIMIT 1"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "
- INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/noten','FAS Zugriff');
-
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/noten','assistenz','suid');
- INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/noten','admin','suid');
- ";
-
- if(!$db->db_query($qry))
- echo 'system.tbl_berechtigung '.$db->db_last_error().'
';
- else
- echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer Notenverwaltung im FAS hinzugefuegt student/noten!
';
- }
-}
-
-// Punkte bei Pruefungen
-if(!$result = @$db->db_query("SELECT punkte FROM lehre.tbl_pruefung LIMIT 1"))
-{
- $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN punkte numeric(8,4)";
-
- if(!$db->db_query($qry))
- echo 'lehre.tbl_pruefung '.$db->db_last_error().'
';
- else
- echo 'lehre.tbl_pruefung: Spalte Punkte hinzugefuegt!
';
-}
-
-// Anmerkung bei prestudent
-if(!$result = @$db->db_query("SELECT anmerkung FROM public.tbl_prestudentstatus LIMIT 1"))
-{
- $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN anmerkung text";
-
- if(!$db->db_query($qry))
- echo 'public.tbl_prestudentstatus '.$db->db_last_error().'
';
- else
- echo 'public.tbl_prestudentstatus: Spalte "anmerkung" hinzugefuegt!
';
-}
-
-// Spalte Anwesenheit in tbl_lvinfo
-if(!$result = @$db->db_query("SELECT anwesenheit FROM campus.tbl_lvinfo LIMIT 1"))
-{
- $qry = "ALTER TABLE campus.tbl_lvinfo ADD COLUMN anwesenheit text";
-
- if(!$db->db_query($qry))
- echo 'campus.tbl_lvinfo '.$db->db_last_error().'
';
- else
- echo 'campus.tbl_lvinfo: Spalte "anwesenheit" hinzugefuegt!
';
-}
-
-echo '
';
-
-$tabellen=array(
- "bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
- "bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
- "bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
- "bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
- "bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"),
- "bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
- "bis.tbl_besqual" => array("besqualcode","besqualbez"),
- "bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
- "bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art"),
- "bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
- "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
- "bis.tbl_hauptberuf" => array("hauptberufcode","bezeichnung"),
- "bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung"),
- "bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
- "bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
- "bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle"),
- "bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
- "bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz"),
- "bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz"),
- "bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
- "bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz"),
- "campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
- "campus.tbl_anwesenheit" => array("anwesenheit_id","uid","einheiten","datum","anwesend","lehreinheit_id","anmerkung","ext_id"),
- "campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_benutzerlvstudiensemester" => array("uid","studiensemester_kurzbz","lehrveranstaltung_id"),
- "campus.tbl_content" => array("content_id","template_kurzbz","updatevon","updateamum","insertamum","insertvon","oe_kurzbz","menu_open","aktiv","beschreibung"),
- "campus.tbl_contentchild" => array("contentchild_id","content_id","child_content_id","updatevon","updateamum","insertamum","insertvon","sort"),
- "campus.tbl_contentgruppe" => array("content_id","gruppe_kurzbz","insertamum","insertvon"),
- "campus.tbl_contentlog" => array("contentlog_id","contentsprache_id","uid","start","ende"),
- "campus.tbl_contentsprache" => array("contentsprache_id","content_id","sprache","version","sichtbar","content","reviewvon","reviewamum","updateamum","updatevon","insertamum","insertvon","titel","gesperrt_uid"),
- "campus.tbl_coodle" => array("coodle_id","titel","beschreibung","coodle_status_kurzbz","dauer","endedatum","insertamum","insertvon","updateamum","updatevon","ersteller_uid"),
- "campus.tbl_coodle_ressource" => array("coodle_ressource_id","coodle_id","uid","ort_kurzbz","email","name","zugangscode","insertamum","insertvon","updateamum","updatevon"),
- "campus.tbl_coodle_termin" => array("coodle_termin_id","coodle_id","datum","uhrzeit","auswahl"),
- "campus.tbl_coodle_ressource_termin" => array("coodle_ressource_id","coodle_termin_id","insertamum","insertvon"),
- "campus.tbl_coodle_status" => array("coodle_status_kurzbz","bezeichnung"),
- "campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"),
- "campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz"),
- "campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"),
- "campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
- "campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
- "campus.tbl_freebusytyp" => array("freebusytyp_kurzbz","bezeichnung","beschreibung","url_vorlage"),
- "campus.tbl_infoscreen" => array("infoscreen_id","bezeichnung","beschreibung","ipadresse"),
- "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit"),
- "campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_lehre_tools" => array("lehre_tools_id","bezeichnung","kurzbz","basis_url","logo_dms_id"),
- "campus.tbl_lehre_tools_organisationseinheit" => array("lehre_tools_id","oe_kurzbz","aktiv"),
- "campus.tbl_lehrveranstaltung_pruefung" => array("lehrveranstaltung_pruefung_id","lehrveranstaltung_id","pruefung_id"),
- "campus.tbl_lvgesamtnote" => array("lehrveranstaltung_id","studiensemester_kurzbz","student_uid","note","mitarbeiter_uid","benotungsdatum","freigabedatum","freigabevon_uid","bemerkung","updateamum","updatevon","insertamum","insertvon","punkte","ext_id"),
- "campus.tbl_lvinfo" => array("lehrveranstaltung_id","sprache","titel","lehrziele","lehrinhalte","methodik","voraussetzungen","unterlagen","pruefungsordnung","anmerkung","kurzbeschreibung","genehmigt","aktiv","updateamum","updatevon","insertamum","insertvon","anwesenheit"),
- "campus.tbl_news" => array("news_id","uid","studiengang_kz","fachbereich_kurzbz","semester","betreff","text","datum","verfasser","updateamum","updatevon","insertamum","insertvon","datum_bis","content_id"),
- "campus.tbl_notenschluessel" => array("lehreinheit_id","note","punkte"),
- "campus.tbl_notenschluesseluebung" => array("uebung_id","note","punkte"),
- "campus.tbl_paabgabetyp" => array("paabgabetyp_kurzbz","bezeichnung"),
- "campus.tbl_paabgabe" => array("paabgabe_id","projektarbeit_id","paabgabetyp_kurzbz","fixtermin","datum","kurzbz","abgabedatum", "insertvon","insertamum","updatevon","updateamum"),
- "campus.tbl_pruefungsfenster" => array("pruefungsfenster_id","studiensemester_kurzbz","oe_kurzbz","start","ende"),
- "campus.tbl_pruefung" => array("pruefung_id","mitarbeiter_uid","studiensemester_kurzbz","pruefungsfenster_id","pruefungstyp_kurzbz","titel","beschreibung","methode","einzeln","storniert","insertvon","insertamum","updatevon","updateamum","pruefungsintervall"),
- "campus.tbl_pruefungstermin" => array("pruefungstermin_id","pruefung_id","von","bis","teilnehmer_max","teilnehmer_min","anmeldung_von","anmeldung_bis","ort_kurzbz","sammelklausur"),
- "campus.tbl_pruefungsanmeldung" => array("pruefungsanmeldung_id","uid","pruefungstermin_id","lehrveranstaltung_id","status_kurzbz","wuensche","reihung","kommentar","statusupdatevon","statusupdateamum"),
- "campus.tbl_pruefungsstatus" => array("status_kurzbz","bezeichnung"),
- "campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"),
- "campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"),
- "campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"),
- "campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
- "campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
- "campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"),
- "campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
- "campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
- "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
- "fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
- "fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
- "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz"),
- "fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe"),
- "fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"),
- "fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"),
- "fue.tbl_projekt_ressource" => array("projekt_ressource_id","projekt_kurzbz","projektphase_id","ressource_id","funktion_kurzbz","beschreibung","aufwand"),
- "fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
- "fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
- "fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
- "kommune.tbl_match" => array("match_id","team_sieger","wettbewerb_kurzbz","team_gefordert","team_forderer","gefordertvon","gefordertamum","matchdatumzeit","matchort","matchbestaetigtvon","matchbestaetigtamum","ergebniss","bestaetigtvon","bestaetigtamum"),
- "kommune.tbl_team" => array("team_kurzbz","bezeichnung","beschreibung","logo"),
- "kommune.tbl_teambenutzer" => array("uid","team_kurzbz"),
- "kommune.tbl_wettbewerb" => array("wettbewerb_kurzbz","regeln","forderungstage","teamgroesse","wbtyp_kurzbz","uid","icon"),
- "kommune.tbl_wettbewerbteam" => array("team_kurzbz","wettbewerb_kurzbz","rang","punkte"),
- "kommune.tbl_wettbewerbtyp" => array("wbtyp_kurzbz","bezeichnung","farbe"),
- "lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english"),
- "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"),
- "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"),
- "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung"),
- "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
- "lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old"),
- "lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id","vertrag_id"),
- "lehre.tbl_lehrfach" => array("lehrfach_id","studiengang_kz","fachbereich_kurzbz","kurzbz","bezeichnung","farbe","aktiv","semester","sprache","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"),
- "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
- "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
- "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
- "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las"),
- "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
- "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
- "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
- "lehre.tbl_lvregeltyp" => array("lvregeltyp_kurzbz","bezeichnung"),
- "lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon","moodle_version"),
- "lehre.tbl_moodle_version" => array("moodle_version","bezeichnung","pfad"),
- "lehre.tbl_notenschluessel" => array("notenschluessel_kurzbz","bezeichnung"),
- "lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
- "lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
- "lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre"),
- "lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
- "lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
- "lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
- "lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
- "lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"),
- "lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id"),
- "lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
- "lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id"),
- "lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id"),
- "lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon"),
- "lehre.tbl_stunde" => array("stunde","beginn","ende"),
- "lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
- "lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum"),
- "lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateamum","updatevon"),
- "lehre.tbl_vertragstyp" => array("vertragstyp_kurzbz","bezeichnung"),
- "lehre.tbl_vertragsstatus" => array("vertragsstatus_kurzbz","bezeichnung"),
- "lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"),
- "lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
- "public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern"),
- "public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email"),
- "public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
- "public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id"),
- "public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
- "public.tbl_aufnahmetermin" => array("aufnahmetermin_id","aufnahmetermintyp_kurzbz","prestudent_id","termin","teilgenommen","bewertung","protokoll","insertamum","insertvon","updateamum","updatevon","ext_id"),
- "public.tbl_aufnahmetermintyp" => array("aufnahmetermintyp_kurzbz","bezeichnung"),
- "public.tbl_bankverbindung" => array("bankverbindung_id","person_id","name","anschrift","bic","blz","iban","kontonr","typ","verrechnung","updateamum","updatevon","insertamum","insertvon","ext_id","oe_kurzbz"),
- "public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"),
- "public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"),
- "public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
- "public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id"),
- "public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung"),
- "public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"),
- "public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"),
- "public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr"),
- "public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv"),
- "public.tbl_firma_mobilitaetsprogramm" => array("firma_id","mobilitaetsprogramm_code"),
- "public.tbl_firma_organisationseinheit" => array("firma_organisationseinheit_id","firma_id","oe_kurzbz","bezeichnung","kundennummer","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"),
- "public.tbl_firmatag" => array("firma_id","tag","insertamum","insertvon"),
- "public.tbl_fotostatus" => array("fotostatus_kurzbz","beschreibung"),
- "public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"),
- "public.tbl_geschaeftsjahr" => array("geschaeftsjahr_kurzbz","start","ende","bezeichnung"),
- "public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid","content_visible","gesperrt","zutrittssystem"),
- "public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
- "public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"),
- "public.tbl_kontakttyp" => array("kontakttyp","beschreibung"),
- "public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz"),
- "public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
- "public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
- "public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker"),
- "public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id"),
- "public.tbl_notizzuordnung" => array("notizzuordnung_id","notiz_id","projekt_kurzbz","projektphase_id","projekttask_id","uid","person_id","prestudent_id","bestellung_id","lehreinheit_id","ext_id"),
- "public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz"),
- "public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
- "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre"),
- "public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"),
- "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr"),
- "public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
- "public.tbl_personfunktionstandort" => array("personfunktionstandort_id","funktion_kurzbz","person_id","standort_id","position","anrede"),
- "public.tbl_preincoming" => array("preincoming_id","person_id","mobilitaetsprogramm_code","zweck_code","firma_id","universitaet","aktiv","bachelorthesis","masterthesis","von","bis","uebernommen","insertamum","insertvon","updateamum","updatevon","anmerkung","zgv","zgv_ort","zgv_datum","zgv_name","zgvmaster","zgvmaster_datum","zgvmaster_ort","zgvmaster_name","program_name","bachelor","master","jahre","person_id_emergency","person_id_coordinator_dep","person_id_coordinator_int","code","deutschkurs1","deutschkurs2","research_area","deutschkurs3"),
- "public.tbl_preincoming_lehrveranstaltung" => array("preincoming_id","lehrveranstaltung_id","insertamum","insertvon"),
- "public.tbl_preinteressent" => array("preinteressent_id","person_id","studiensemester_kurzbz","firma_id","erfassungsdatum","einverstaendnis","absagedatum","anmerkung","maturajahr","infozusendung","aufmerksamdurch_kurzbz","kontaktmedium_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
- "public.tbl_preinteressentstudiengang" => array("studiengang_kz","preinteressent_id","freigabedatum","uebernahmedatum","prioritaet","insertamum","insertvon","updateamum","updatevon"),
- "public.tbl_preoutgoing" => array("preoutgoing_id","uid","dauer_von","dauer_bis","ansprechperson","bachelorarbeit","masterarbeit","betreuer","sprachkurs","intensivsprachkurs","sprachkurs_von","sprachkurs_bis","praktikum","praktikum_von","praktikum_bis","behinderungszuschuss","studienbeihilfe","anmerkung_student", "anmerkung_admin", "studienrichtung_gastuniversitaet", "insertamum","insertvon","updateamum","updatevon","projektarbeittitel"),
- "public.tbl_preoutgoing_firma" => array("preoutgoing_firma_id","preoutgoing_id","mobilitaetsprogramm_code","firma_id","name","auswahl"),
- "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"),
- "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
- "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
- "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor"),
- "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung"),
- "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"),
- "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich"),
- "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
- "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
- "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
- "public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
- "public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id"),
- "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"),
- "public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
- "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige"),
- "public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
- "public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id"),
- "public.tbl_tag" => array("tag"),
- "public.tbl_variable" => array("name","uid","wert"),
- "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"),
- "public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz"),
- "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id"),
- "testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"),
- "testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"),
- "testtool.tbl_frage" => array("frage_id","kategorie_kurzbz","gebiet_id","level","nummer","demo","insertamum","insertvon","updateamum","updatevon"),
- "testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile"),
- "testtool.tbl_kategorie" => array("kategorie_kurzbz","gebiet_id"),
- "testtool.tbl_kriterien" => array("gebiet_id","kategorie_kurzbz","punkte","typ"),
- "testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester"),
- "testtool.tbl_vorschlag" => array("vorschlag_id","frage_id","nummer","punkte","insertamum","insertvon","updateamum","updatevon"),
- "testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
- "testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
- "testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
- "system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
- "system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
- "system.tbl_benutzerrolle" => array("benutzerberechtigung_id","rolle_kurzbz","berechtigung_kurzbz","uid","funktion_kurzbz","oe_kurzbz","art","studiensemester_kurzbz","start","ende","negativ","updateamum", "updatevon","insertamum","insertvon","kostenstelle_id","anmerkung"),
- "system.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"),
- "system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
- "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"),
- "system.tbl_webservicelog" => array("webservicelog_id","webservicetyp_kurzbz","request_id","beschreibung","request_data","execute_time","execute_user"),
- "system.tbl_webservicerecht" => array("webservicerecht_id","berechtigung_kurzbz","methode","attribut","insertamum","insertvon","updateamum","updatevon","klasse"),
- "system.tbl_webservicetyp" => array("webservicetyp_kurzbz","beschreibung"),
- "system.tbl_server" => array("server_kurzbz","beschreibung"),
- "wawi.tbl_betriebsmittelperson" => array("betriebsmittelperson_id","betriebsmittel_id","person_id", "anmerkung", "kaution", "ausgegebenam", "retouram","insertamum", "insertvon","updateamum", "updatevon","ext_id","uid"),
- "wawi.tbl_betriebsmittel" => array("betriebsmittel_id","betriebsmitteltyp","oe_kurzbz", "ort_kurzbz", "beschreibung", "nummer", "hersteller","seriennummer", "bestellung_id","bestelldetail_id", "afa","verwendung","anmerkung","reservieren","updateamum","updatevon","insertamum","insertvon","ext_id","inventarnummer","leasing_bis","inventuramum","inventurvon","anschaffungsdatum","anschaffungswert","hoehe","breite","tiefe","nummer2"),
- "wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"),
- "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
- "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
- "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
- "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
- "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
- "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
- "wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum"),
- "wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
- "wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
- "wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
- "wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz"),
- "wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
- "wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
- "wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
- "wawi.tbl_buchung" => array("buchung_id","konto_id","kostenstelle_id","buchungstyp_kurzbz","buchungsdatum","buchungstext","betrag","insertamum","insertvon","updateamum","updatevon"),
- "wawi.tbl_buchungstyp" => array("buchungstyp_kurzbz","bezeichnung"),
- "wawi.tbl_rechnungstyp" => array("rechnungstyp_kurzbz","beschreibung","berechtigung_kurzbz"),
- "wawi.tbl_rechnung" => array("rechnung_id","bestellung_id","buchungsdatum","rechnungsnr","rechnungsdatum","transfer_datum","buchungstext","insertamum","insertvon","updateamum","updatevon","rechnungstyp_kurzbz","freigegeben","freigegebenvon","freigegebenamum"),
- "wawi.tbl_rechnungsbetrag" => array("rechnungsbetrag_id","rechnung_id","mwst","betrag","bezeichnung","ext_id"),
- "wawi.tbl_aufteilung" => array("aufteilung_id","bestellung_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
- "wawi.tbl_aufteilung_default" => array("aufteilung_id","kostenstelle_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
-);
-
-$tabs=array_keys($tabellen);
-//print_r($tabs);
-$i=0;
-foreach ($tabellen AS $attribute)
-{
- $sql_attr='';
- foreach($attribute AS $attr)
- $sql_attr.=$attr.',';
- $sql_attr=substr($sql_attr, 0, -1);
-
- if (!@$db->db_query('SELECT '.$sql_attr.' FROM '.$tabs[$i].' LIMIT 1;'))
- echo '
'.$tabs[$i].': '.$db->db_last_error().'
';
- else
- echo $tabs[$i].': OK - ';
- flush();
- $i++;
-}
-
-echo 'Gegenpruefung!
';
-$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync';";
-if (!$result=@$db->db_query($sql_query))
- echo '
'.$db->db_last_error().'
';
- else
- while ($row=$db->db_fetch_object($result))
- {
- $fulltablename=$row->schemaname.'.'.$row->tablename;
- if (!isset($tabellen[$fulltablename]))
- echo 'Tabelle '.$fulltablename.' existiert in der DB, aber nicht in diesem Skript!
';
- else
- if (!$result_fields=@$db->db_query("SELECT * FROM $fulltablename LIMIT 1;"))
- echo '
'.$db->db_last_error().'
';
- else
- for ($i=0; $i<$db->db_num_fields($result_fields); $i++)
- {
- $found=false;
- $fieldnameDB=$db->db_field_name($result_fields,$i);
- foreach ($tabellen[$fulltablename] AS $fieldnameARRAY)
- if ($fieldnameDB==$fieldnameARRAY)
- {
- $found=true;
- break;
- }
- if (!$found)
- echo 'Attribut '.$fulltablename.'.'.$fieldnameDB.' existiert in der DB, aber nicht in diesem Skript!
';
- }
- }
-
-// ******** Berechtigungen Prüfen ************/
-echo 'Berechtigungen pruefen
';
-$berechtigung_kurzbz=0;
-$beschreibung=1;
-$berechtigungen = array(
- array('admin','Super User Rechte'),
- array('assistenz','Assistenz'),
- array('basis/addon','Addons verwalten'),
- array('basis/ampel','Ampeln Administrieren'),
- array('basis/ampeluebersicht','Ampel Übersicht für Leiter'),
- array('basis/berechtigung','Berechtigungsverwaltung'),
- array('basis/betriebsmittel','Betriebsmittel'),
- array('basis/cms','CMS Administration'),
- array('basis/cms_review','CMS Review Berechtigung (nur für admin Reviewer! Normale Reviewer bekommen Benutzerfunktion review)'),
- array('basis/cms_sperrfreigabe','Berechtigung zum Freigeben von gesperrtem Content'),
- array('basis/cronjob','Cronjobverwaltung'),
- array('basis/dms','DMS Download'),
- array('basis/fas','FAS Zugriff'),
- array('basis/ferien','Verwaltung der Ferien und Feiertage im System'),
- array('basis/fhausweis','Verwaltungstools für FH Ausweis – Kartentausch, Bildpruefung, Druck'),
- array('basis/firma','Firmenverwaltung'),
- array('basis/firma:begrenzt','Firmenverwaltung'),
- array('basis/infoscreen','Infoscreenverwaltung'),
- array('basis/moodle','basis/moodle'),
- array('basis/news','Newsverwaltung'),
- array('basis/notiz','Notizen'),
- array('basis/organisationseinheit','Organisationseinheiten Verwalten'),
- array('basis/ort','Raum-/Ortverwaltung'),
- array('basis/person','Personen Zusammenlegen, Stg-Wiederholer anlegen, etc'),
- array('basis/planner','Planner Zugriff'),
- array('basis/service','Services Administrieren (SLAs)'),
- array('basis/statistik','Statistiken Administrieren'),
- array('basis/studiengang','Studiengangsverwaltung'),
- array('basis/tempus','Tempus zugriff'),
- array('basis/testtool','Administrationseite, Gebiete löschen/zurücksetzen'),
- array('basis/variable','Variablenverwaltung'),
- array('basis/vilesci','Grundrecht, um in VileSci irgendwelche Menüpunkte zu sehen'),
- array('buchung/typen','Verwaltung von Buchungstypen'),
- array('buchung/mitarbeiter','Verwaltung von Buchungen fuer Mitarbeiter'),
- array('inout/incoming','Incomingverwaltung'),
- array('inout/outgoing','Outgoingverwaltung'),
- array('inout/uebersicht','Verbandsanzeige fuer Incoming/Outgoing im FAS'),
- array('lehre','Berechtigung fuer CIS-Seite'),
- array('lehre/abgabetool','Projektabgabetool, Studentenansicht'),
- array('lehre/abgabetool:download','Download von Projektarbeitsabgaben'),
- array('lehre/freifach','Freifachverwaltung'),
- array('lehre/lehrfach','Lehrfachverwaltung'),
- array('lehre/lehrfach:begrenzt','Lehrfachverwaltung - nur aktiv aenderbar, nur aktive LF werden angezeigt'),
- array('lehre/lehrveranstaltung','Lehrveranstaltungsverwaltung'),
- array('lehre/lehrveranstaltung:begrenzt','nur die Felder Lehre, Sort, Zeugnis, BA/DA, FBK und LVInfo dürfen geändert werden (eventuelle Aufteilung in einzelne Berechtigungen??)'),
- array('lehre/lvplan','Tempus'),
- array('lehre/pruefungsanmeldungAdmin','Erlaubt die Verwaltung der Prüfungsanmeldungen.'),
- array('lehre/pruefungsbeurteilung','Erlaubt dem Benutzer Beurteilungen zu Prüfungen einzutragen.'),
- array('lehre/pruefungsbeurteilungAdmin','Erlaubt dem Benutzer für alle Prüfungen Beurteilungen einzutragen.'),
- array('lehre/pruefungsterminAdmin','Recht für jeden Lektor eine Prüfung anzulegen'),
- array('lehre/pruefungsfenster','Erlaubt dem Benutzer Prüfungsfenster anzulegen.'),
- array('lehre/reihungstest','Reihungstestverwaltung'),
- array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
- array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
- array('lehre/studienordnung','Studienordnung'),
- array('lehre/vorrueckung','Lehreinheitenvorrückung'),
- array('lv-plan','Stundenplan'),
- array('mitarbeiter','FAS Mitarbeitermodul'),
- array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'),
- array('mitarbeiter/personalnummer','Editieren der Personalnummer im FAS'),
- array('mitarbeiter/stammdaten','Stammdaten der Mitarbeiter'),
- array('mitarbeiter/urlaube','Mit diesem Recht werden im CIS die Urlaube von allen Mitarbeiter sichtbar'),
- array('mitarbeiter/zeitsperre','Zeitsperren- und Urlaubsverwaltung'),
- array('news','News eintragen'),
- array('planner','Planner Verwaltung'),
- array('preinteressent','Verwaltung der Preinteressenten'),
- array('raumres','Raumreservierung'),
- array('reihungstest','Recht für Anzeige des Reihungstests im Vilesci'),
- array('sdTools','Recht für Anzeige der SD-Tools im Vilesci'),
- array('soap/lv','Recht für LV Webservice'),
- array('soap/lvplan','Recht für LV-Plan Webservice'),
- array('soap/mitarbeiter','Recht für Mitarbeiter-Webservice'),
- array('soap/ort','Recht für Ort Webservice'),
- array('soap/pruefungsfenster','Recht für Pruefungsfenster Webservice'),
- array('soap/student','Recht für Student Webservice'),
- array('soap/studienordnung','Recht für Studienordnung Webservice'),
- array('soap/benutzer','Berechtigung für Bentutzerabfrage Addon Kontoimport'),
- array('soap/buchungen','Berechtigung für Buchungsabfrage Addon Kontoimport'),
- array('student/bankdaten','Bankdaten des Studenten'),
- array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
- array('student/noten','Notenverwaltung'),
- array('student/stammdaten','Stammdaten der Studenten'),
- array('student/vorrueckung','Studentenvorrückung'),
- array('system/developer','Anzeige zusätzlicher Developerinfos'),
- array('system/loginasuser','Berechtigung zum Einloggen als anderer User'),
- array('user','Normale User ohne besonere Rechte'),
- array('veranstaltung','Berechtigungen fuer Veranstaltungen wie Jahresplan'),
- array('vertrag/mitarbeiter','Verwalten von Vertraegen'),
- array('vertrag/typen','Verwalten von Vertragstypen'),
- array('wawi/berichte','Alle Berichte anzeigen'),
- array('wawi/bestellung','Bestellungen verwalten'),
- array('wawi/bestellung_advanced','Bestellungen editieren nach dem Abschicken'),
- array('wawi/budget','Budgeteingabe'),
- array('wawi/delete_advanced','Loeschen von freigegebenen Bestellungen'),
- array('wawi/firma','Firmenverwaltung abgespeckt'),
- array('wawi/freigabe','Bestellungen freigeben, entweder oe_kurzbz oder kostenstelle_id muss gesetzt sein'),
- array('wawi/freigabe_advanced','Berechtigung zum Freigeben von ALLEN Bestellungen'),
- array('wawi/inventar','Inventar Administration'),
- array('wawi/inventar:begrenzt','Inventarverwaltung'),
- array('wawi/konto','Kontoverwaltung'),
- array('wawi/kostenstelle','Kostenstellenverwaltung'),
- array('wawi/rechnung','Rechnungen verwalten'),
- array('wawi/rechnung_freigeben','Rechnungen Freigeben (bei Gutschriften)'),
- array('wawi/rechnung_transfer','Rechnungen - Eintragen des TransferDatums'),
- array('wawi/storno','Bestellung stornieren')
-);
-
-foreach($berechtigungen as $row)
-{
- $qry = "SELECT * FROM system.tbl_berechtigung
- WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz]);
-
- if($result = $db->db_query($qry))
- {
- if($db->db_num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES(".
- $db->db_add_param($row[$berechtigung_kurzbz]).','.
- $db->db_add_param($row[$beschreibung]).');';
-
- if($db->db_query($qry_insert))
- echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzugefügt';
- else
- echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzufügen nicht möglich';
-
- //Wenn das Recht basis/vilesci neu angelegt wurde, dann dieses Recht jedem geben, der bisher auch Zugriff auf Vilesci hatte.
- if ($row[$berechtigung_kurzbz]=='basis/vilesci')
- {
- $qry_userrecht="SELECT DISTINCT uid, funktion_kurzbz
- FROM system.tbl_benutzerrolle
- LEFT JOIN public.tbl_benutzer USING (uid)
- WHERE berechtigung_kurzbz IN ('admin','support','preinteressent','lehre','basis/statistik','basis/fhausweis','wawi/inventar','assistenz','lv-plan')
- AND (tbl_benutzerrolle.ende>=now() OR tbl_benutzerrolle.ende IS NULL)
- AND (tbl_benutzerrolle.start<=now() OR tbl_benutzerrolle.start IS NULL)
- AND (tbl_benutzer.aktiv=true OR tbl_benutzerrolle.uid IS NULL)
- UNION
- SELECT DISTINCT uid, funktion_kurzbz
- FROM system.tbl_benutzerrolle
- JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
- LEFT JOIN public.tbl_benutzer USING (uid)
- WHERE tbl_rolleberechtigung.berechtigung_kurzbz IN ('admin','support','preinteressent','lehre','basis/statistik','basis/fhausweis','wawi/inventar','assistenz','lv-plan')
- AND (tbl_benutzerrolle.ende>=now() OR tbl_benutzerrolle.ende IS NULL)
- AND (tbl_benutzerrolle.start<=now() OR tbl_benutzerrolle.start IS NULL)
- AND (tbl_benutzer.aktiv=true OR tbl_benutzerrolle.uid IS NULL) ORDER BY uid";
-
- if($result_insert_userrecht = $db->db_query($qry_userrecht))
- {
- while ($row_user=$db->db_fetch_object($result_insert_userrecht))
- {
- $qry_insert_userrecht=" INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz, oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon, insertamum, insertvon, kostenstelle_id)
- VALUES (NULL, 'basis/vilesci', ".($row_user->funktion_kurzbz!=""?"NULL,".$db->db_add_param($row_user->funktion_kurzbz):$db->db_add_param($row_user->uid).",NULL").", NULL, 's', NULL, NULL, NULL, FALSE, NULL, NULL, now(), 'checksystem', NULL)";
-
- if($db->db_query($qry_insert_userrecht))
- echo '
Recht "basis/vilesci" an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben';
- else
- echo '
Fehler: Recht "basis/vilesci" konnte nicht an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben werden';
- }
- }
-
- }
- }
- }
-}
-// ******** Pruefen ob die Webservice Berechtigungen alle gesetzt sind **********
-
-echo 'Webservice Berechtigungen pruefen
';
-
-// berechtigung_kurzbz,methode,klasse
-$berechtigung_kurzbz=0;
-$methode=1;
-$klasse=2;
-$webservicerecht = array(
- array('soap/studienordnung','load_lva_oe','lehrveranstaltung'),
- array('soap/studienordnung','load','lehrveranstaltung'),
- array('soap/studienordnung','deleteStudienplanLehrveranstaltung','studienplan'),
- array('soap/studienordnung','containsLehrveranstaltung','studienplan'),
- array('soap/studienordnung','loadStudienplanLehrveranstaltung','studienplan'),
- array('soap/studienordnung','saveStudienplanLehrveranstaltung','studienplan'),
- array('soap/studienordnung','loadStudienordnung','studienordnung'),
- array('soap/studienordnung','delete','lvregel'),
- array('soap/studienordnung','save','lvregel'),
- array('soap/studienordnung','load','lvregel'),
- array('soap/studienordnung','loadLVRegelTypen','lvregel'),
- array('soap/studienordnung','load_lva','lehrveranstaltung'),
- array('soap/studienordnung','getAll','lehrtyp'),
- array('soap/studienordnung','getAll','organisationseinheit'),
- array('soap/studienordnung','getLVRegelTree','lvregel'),
- array('soap/studienordnung','save','studienplan'),
- array('soap/studienordnung','save','studienordnung'),
- array('soap/studienordnung','loadStudienplanSTO','studienplan'),
- array('soap/studienordnung','loadStudienordnungSTG','studienordnung'),
- array('soap/studienordnung','loadStudienplan','studienplan'),
- array('soap/studienordnung','saveSemesterZuordnung','studienordnung'),
- array('soap/studienordnung','deleteSemesterZuordnung','studienordnung'),
- array('soap/studienordnung','getLVkompatibel','lehrveranstaltung'),
- array('soap/studienordnung','getLvTree','lehrveranstaltung'),
- array('soap/pruefungsfenster','getByStudiensemester','pruefungsfenster'),
- array('soap/studienordnung','exists','lvregel'),
- array('soap/studienordnung','saveSortierung','studienplan'),
- array('soap/benutzer','search','benutzer'),
- array('soap/buchungen','getBuchungen','konto')
-);
-
-foreach($webservicerecht as $row)
-{
- $qry = "SELECT * FROM system.tbl_webservicerecht
- WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz])."
- AND methode=".$db->db_add_param($row[$methode])."
- AND klasse=".$db->db_add_param($row[$klasse]);
-
- if($result = $db->db_query($qry))
- {
- if($db->db_num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO system.tbl_webservicerecht (berechtigung_kurzbz, methode, insertamum, insertvon, klasse) VALUES(".
- $db->db_add_param($row[$berechtigung_kurzbz]).','.
- $db->db_add_param($row[$methode]).','.
- "now(),'checksystem',".
- $db->db_add_param($row[$klasse]).');';
-
- if($db->db_query($qry_insert))
- echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzugefügt';
- else
- echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzufügen nicht möglich';
- }
- }
-}
-
-echo '';
-?>
+,
+ * Andreas Oesterreicher
+ *
+ * Beschreibung:
+ * Dieses Skript prueft die gesamte Systemumgebung und sollte nach jedem Update gestartet werden.
+ * Geprueft wird: - die Datenbank auf aktualitaet, dabei werden fehlende Attribute angelegt.
+ */
+require_once('../config/system.config.inc.php');
+require_once('../include/basis_db.class.php');
+
+// Datenbank Verbindung
+$db = new basis_db();
+echo '
+
+ CheckSystem
+
+
+
+';
+
+echo 'Systemcheck!
';
+echo 'DB-Updates!
';
+
+// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
+echo 'Pruefe Tabellen und Attribute!
';
+
+// **************** Spalte scrumsprint_id Tabelle fue.tbl_projekttask
+if(!$result = @$db->db_query("SELECT scrumsprint_id FROM fue.tbl_projekttask LIMIT 1;"))
+{
+ $qry = 'ALTER TABLE fue.tbl_projekttask ADD COLUMN scrumsprint_id bigint;
+ CREATE TABLE fue.tbl_scrumteam
+ (
+ scrumteam_kurzbz character varying(16) NOT NULL,
+ bezeichnung character varying(256),
+ punkteprosprint integer DEFAULT 160,
+ tasksprosprint integer DEFAULT 15,
+ gruppe_kurzbz character varying(32),
+ CONSTRAINT tbl_scrumteam_pkey PRIMARY KEY (scrumteam_kurzbz)
+ )
+ WITH (
+ OIDS=FALSE
+ );
+ CREATE TABLE fue.tbl_scrumsprint
+ (
+
+ scrumsprint_id serial NOT NULL,
+ scrumteam_kurzbz character varying(16) NOT NULL,
+ sprint_kurzbz character varying(32),
+ sprintstart date,
+ sprintende date,
+ insertamum Timestamp DEFAULT now(),
+ insertvon Character varying(32),
+ updateamum Timestamp DEFAULT now(),
+ updatevon Character varying(32),
+ CONSTRAINT tbl_scrumsprint_pkey PRIMARY KEY (scrumsprint_id),
+ CONSTRAINT fk_scrumsprint_scrumteam FOREIGN KEY (scrumteam_kurzbz)
+ REFERENCES fue.tbl_scrumteam (scrumteam_kurzbz) MATCH SIMPLE
+ ON UPDATE CASCADE ON DELETE RESTRICT,
+ CONSTRAINT uk_scrumteam_sprintkurzbz UNIQUE (scrumteam_kurzbz, sprint_kurzbz)
+ )
+ WITH (
+ OIDS=FALSE
+ );
+ ALTER TABLE fue.tbl_projekttask
+ ADD CONSTRAINT fk_projekttask_scrumsprint FOREIGN KEY (scrumsprint_id)
+ REFERENCES fue.tbl_scrumsprint (scrumsprint_id) MATCH SIMPLE
+ ON UPDATE CASCADE ON DELETE RESTRICT;
+ ';
+ if(!$db->db_query($qry))
+ echo 'fue.tbl_projekttask: '.$db->db_last_error().'
';
+ else
+ echo ' fue.tbl_projekttask: Spalte scrumsprint_id hinzugefuegt!
';
+}
+
+// tbl_gruppe neues attribut zutrittssystem
+if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_gruppe: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
+}
+
+// ** Studiengangsverwaltung
+// Tabelle Studienordnung
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnung LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienordnung
+ (
+ studienordnung_id integer NOT NULL,
+ studiengang_kz integer NOT NULL,
+ version varchar(256),
+ gueltigvon varchar(16),
+ gueltigbis varchar(16),
+ bezeichnung varchar(512),
+ ects numeric(5,2),
+ studiengangbezeichnung varchar(256),
+ studiengangbezeichnung_englisch varchar(256),
+ studiengangkurzbzlang varchar(8),
+ akadgrad_id integer,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_studienordnung_studienordnung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT pk_studienordnung PRIMARY KEY (studienordnung_id);
+ ALTER TABLE lehre.tbl_studienordnung ALTER COLUMN studienordnung_id SET DEFAULT nextval('lehre.seq_studienordnung_studienordnung_id');
+
+ ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiengang FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang (studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiensemester_gueltigvon FOREIGN KEY (gueltigvon) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_studiensemester_gueltigbis FOREIGN KEY (gueltigbis) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienordnung ADD CONSTRAINT fk_studienordnung_akadgrad FOREIGN KEY (akadgrad_id) REFERENCES lehre.tbl_akadgrad (akadgrad_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_studienordnung TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienordnung TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_studienordnung_studienordnung_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienordnung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienordnung: Tabelle hinzugefuegt
';
+}
+
+// Tabelle Studienordnung_Semester
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienordnung_semester LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienordnung_semester
+ (
+ studienordnung_semester_id integer NOT NULL,
+ studienordnung_id integer NOT NULL,
+ studiensemester_kurzbz varchar(16) NOT NULL,
+ semester smallint NOT NULL
+ );
+
+ CREATE SEQUENCE lehre.seq_studienordnung_semester_studienordnung_semester_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT pk_studienordnung_semester PRIMARY KEY (studienordnung_semester_id);
+ ALTER TABLE lehre.tbl_studienordnung_semester ALTER COLUMN studienordnung_semester_id SET DEFAULT nextval('lehre.seq_studienordnung_semester_studienordnung_semester_id');
+
+ ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT fk_studienordnung_semester_studienordnung_id FOREIGN KEY (studienordnung_id) REFERENCES lehre.tbl_studienordnung (studienordnung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienordnung_semester ADD CONSTRAINT fk_studienordnung_semester_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_studienordnung_semester TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienordnung_semester TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_studienordnung_semester_studienordnung_semester_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienordnung_semester: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienordnung_semester: Tabelle hinzugefuegt
';
+}
+
+// Tabelle Studienplan
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplan LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienplan
+ (
+ studienplan_id integer NOT NULL,
+ studienordnung_id integer NOT NULL,
+ orgform_kurzbz varchar(3),
+ version varchar(256),
+ bezeichnung varchar(256),
+ regelstudiendauer integer,
+ sprache varchar(16),
+ aktiv boolean NOT NULL,
+ semesterwochen smallint,
+ testtool_sprachwahl boolean NOT NULL,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_studienplan_studienplan_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT pk_studienplan PRIMARY KEY (studienplan_id);
+ ALTER TABLE lehre.tbl_studienplan ALTER COLUMN studienplan_id SET DEFAULT nextval('lehre.seq_studienplan_studienplan_id');
+
+ ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_orgform_kurzbz FOREIGN KEY (orgform_kurzbz) REFERENCES bis.tbl_orgform (orgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_studienordnung FOREIGN KEY (studienordnung_id) REFERENCES lehre.tbl_studienordnung (studienordnung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplan ADD CONSTRAINT fk_studienplan_sprache FOREIGN KEY (sprache) REFERENCES public.tbl_sprache (sprache) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_studienplan TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplan TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_studienplan_studienplan_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan: Tabelle hinzugefuegt
';
+}
+
+// Tabelle Studienplan_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienplan_lehrveranstaltung
+ (
+ studienplan_lehrveranstaltung_id integer NOT NULL,
+ studienplan_id integer NOT NULL,
+ lehrveranstaltung_id integer NOT NULl,
+ semester smallint,
+ studienplan_lehrveranstaltung_id_parent integer,
+ pflicht boolean NOT NULL,
+ koordinator varchar(32),
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_studienplan_studienplan_lehrveranstaltung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT pk_studienplan_lehrveranstaltung PRIMARY KEY (studienplan_lehrveranstaltung_id);
+ ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ALTER COLUMN studienplan_lehrveranstaltung_id SET DEFAULT nextval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id');
+
+ ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_studienplan_id FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan (studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD CONSTRAINT fk_studienplan_lehrveranstaltung_koordinator FOREIGN KEY (koordinator) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_studienplan_lehrveranstaltung TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplan_lehrveranstaltung TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_studienplan_studienplan_lehrveranstaltung_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan_lehrveranstaltung: Tabelle hinzugefuegt
';
+}
+
+// Tabelle lehrveranstaltung_kompatibel
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrveranstaltung_kompatibel LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_lehrveranstaltung_kompatibel
+ (
+ lehrveranstaltung_id integer NOT NULL,
+ lehrveranstaltung_id_kompatibel integer NOT NULL
+ );
+
+ ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT pk_lehrveranstaltung_kompatibel PRIMARY KEY (lehrveranstaltung_id, lehrveranstaltung_id_kompatibel);
+
+ ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT fk_lehrveranstaltung_kompatibel_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lehrveranstaltung_kompatibel ADD CONSTRAINT fk_lehrveranstaltung_kompatibel_lehrveranstaltung_id_kompatibel FOREIGN KEY (lehrveranstaltung_id_kompatibel) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_lehrveranstaltung_kompatibel TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrveranstaltung_kompatibel TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung_kompatibel: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lehrveranstaltung_kompatibel: Tabelle hinzugefuegt
';
+}
+
+// Tabelle lvregeltyp
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvregeltyp LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_lvregeltyp
+ (
+ lvregeltyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE lehre.tbl_lvregeltyp ADD CONSTRAINT pk_lvregeltyp PRIMARY KEY (lvregeltyp_kurzbz);
+
+ GRANT SELECT ON lehre.tbl_lvregeltyp TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvregeltyp TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lvregeltyp: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lvregeltyp: Tabelle hinzugefuegt
';
+}
+
+
+// Tabelle lvregel
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvregel LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_lvregel
+ (
+ lvregel_id integer NOT NULL,
+ lvregeltyp_kurzbz varchar(32) NOT NULL,
+ operator varchar(1),
+ parameter text,
+ lvregel_id_parent integer,
+ lehrveranstaltung_id integer,
+ studienplan_lehrveranstaltung_id integer NOT NULL,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_lvregel_lvregel_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT pk_lvregel PRIMARY KEY (lvregel_id);
+ ALTER TABLE lehre.tbl_lvregel ALTER COLUMN lvregel_id SET DEFAULT nextval('lehre.seq_lvregel_lvregel_id');
+
+ ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lvregeltyp_kurzbz FOREIGN KEY (lvregeltyp_kurzbz) REFERENCES lehre.tbl_lvregeltyp(lvregeltyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lvregel_id_parent FOREIGN KEY (lvregel_id_parent) REFERENCES lehre.tbl_lvregel (lvregel_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lvregel ADD CONSTRAINT fk_lvregel_studienplan_lehrveranstaltung FOREIGN KEY (studienplan_lehrveranstaltung_id) REFERENCES lehre.tbl_studienplan_lehrveranstaltung (studienplan_lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('ausbsemmin','Ausbildungssemester Min');
+ INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositiv','LV Positiv für Anmeldung');
+ INSERT INTO lehre.tbl_lvregeltyp(lvregeltyp_kurzbz, bezeichnung) VALUES('lvpositivabschluss','LV Positiv für Abschluss');
+
+ GRANT SELECT ON lehre.tbl_lvregel TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvregel TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_lvregel_lvregel_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lvregel: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lvregel: Tabelle hinzugefuegt
';
+}
+
+// Tabelle tbl_lvangebot
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lvangebot LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_lvangebot
+ (
+ lvangebot_id integer NOT NULL,
+ lehrveranstaltung_id integer NOT NULL,
+ studiensemester_kurzbz varchar(16) NOT NULL,
+ gruppe_kurzbz varchar(32),
+ incomingplaetze smallint,
+ gesamtplaetze smallint,
+ anmeldefenster_start timestamp,
+ anmeldefenster_ende timestamp,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_lvangebot_lvangebot_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT pk_lvangebot PRIMARY KEY (lvangebot_id);
+ ALTER TABLE lehre.tbl_lvangebot ALTER COLUMN lvangebot_id SET DEFAULT nextval('lehre.seq_lvangebot_lvangebot_id');
+
+ ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lvangebot ADD CONSTRAINT fk_lvangebot_gruppe_gruppe_kurzbz FOREIGN KEY (gruppe_kurzbz) REFERENCES public.tbl_gruppe (gruppe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_lvangebot TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lvangebot TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_lvangebot_lvangebot_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lvangebot: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lvangebot: Tabelle hinzugefuegt
';
+}
+
+// Tabelle tbl_lehrtyp
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrtyp LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_lehrtyp
+ (
+ lehrtyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE lehre.tbl_lehrtyp ADD CONSTRAINT pk_lehrtyp PRIMARY KEY (lehrtyp_kurzbz);
+
+ INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('lv','Lehrveranstaltung');
+ INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('modul','Modul');
+ INSERT INTO lehre.tbl_lehrtyp(lehrtyp_kurzbz, bezeichnung) VALUES('lf','Lehrfach');
+
+ GRANT SELECT ON lehre.tbl_lehrtyp TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrtyp TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrtyp: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lehrtyp: Tabelle hinzugefuegt
';
+}
+
+// Tabelle tbl_studiengangstyp
+if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp LIMIT 1;"))
+{
+ $qry = "CREATE TABLE public.tbl_studiengangstyp
+ (
+ typ char(1) NOT NULL,
+ bezeichnung varchar(256),
+ beschreibung text
+ );
+
+ ALTER TABLE public.tbl_studiengangstyp ADD CONSTRAINT pk_studiengangstyp PRIMARY KEY (typ);
+
+ GRANT SELECT ON public.tbl_studiengangstyp TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO vilesci;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO admin;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_studiengangstyp TO wawi;
+
+ INSERT INTO public.tbl_studiengangstyp(typ) SELECT distinct typ FROM public.tbl_studiengang;
+ ALTER TABLE public.tbl_studiengang ADD CONSTRAINT fk_studiengang_studiengangstyp FOREIGN KEY (typ) REFERENCES public.tbl_studiengangstyp (typ) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE public.tbl_studiengang ALTER COLUMN typ SET NOT NULL;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_studiengangstyp: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_studiengangstyp: Tabelle hinzugefuegt
';
+}
+
+// Tabelle tbl_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT lehrtyp_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrtyp_kurzbz varchar(32);
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN oe_kurzbz varchar(32);
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN raumtyp_kurzbz varchar(16);
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN anzahlsemester smallint;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN semesterwochen smallint;
+
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrtyp FOREIGN KEY (lehrtyp_kurzbz) REFERENCES lehre.tbl_lehrtyp (lehrtyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_raumtyp FOREIGN KEY (raumtyp_kurzbz) REFERENCES public.tbl_raumtyp (raumtyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ UPDATE lehre.tbl_lehrveranstaltung SET lehrtyp_kurzbz='lv' WHERE lehrtyp_kurzbz is null;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_lehrveranstaltung: Spalten lehrtyp_kurzbz, oe_kurzbz, raumtyp_kurzbz, anzahlsemester hinzugefügt
';
+}
+
+// Tabelle tbl_studienplatz
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_studienplatz LIMIT 1;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_studienplatz
+ (
+ studienplatz_id integer NOT NULL,
+ studiengang_kz integer NOT NULL,
+ studiensemester_kurzbz varchar(16) NOT NULL,
+ orgform_kurzbz varchar(3),
+ ausbildungssemester smallint,
+ gpz integer,
+ npz integer,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE lehre.seq_studienplatz_studienplatz_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT pk_studienplatz PRIMARY KEY (studienplatz_id);
+ ALTER TABLE lehre.tbl_studienplatz ALTER COLUMN studienplatz_id SET DEFAULT nextval('lehre.seq_studienplatz_studienplatz_id');
+
+ ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studiengang_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_studienplatz ADD CONSTRAINT fk_studienplatz_orgform_orgform_kurzbz FOREIGN KEY (orgform_kurzbz) REFERENCES bis.tbl_orgform (orgform_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT ON lehre.tbl_studienplatz TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_studienplatz TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_studienplatz_studienplatz_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplatz: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplatz: Tabelle hinzugefügt
';
+}
+
+// Tabelle tbl_appdaten
+if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_appdaten LIMIT 1;"))
+{
+ $qry = "CREATE TABLE system.tbl_appdaten
+ (
+ appdaten_id integer NOT NULL,
+ uid varchar(32) NOT NULL,
+ app varchar(64) NOT NULL,
+ appversion varchar(20),
+ version smallint,
+ bezeichnung varchar(512),
+ daten text NOT NULL,
+ freigabe boolean NOT NULL DEFAULT false,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE SEQUENCE system.seq_appdaten_appdaten_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE system.tbl_appdaten ADD CONSTRAINT pk_appdaten PRIMARY KEY (appdaten_id);
+ ALTER TABLE system.tbl_appdaten ALTER COLUMN appdaten_id SET DEFAULT nextval('system.seq_appdaten_appdaten_id');
+
+ ALTER TABLE system.tbl_appdaten ADD CONSTRAINT fk_appdaten_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ GRANT SELECT ON system.tbl_appdaten TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON system.tbl_appdaten TO vilesci;
+ GRANT SELECT, UPDATE ON system.seq_appdaten_appdaten_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_appdaten: '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_appdaten: Tabelle hinzugefügt
';
+}
+
+// ** Studienordnung Ende **
+
+// UID in Tabelle benutzerberechtigung von 16 Zeichen auf 32 verlängern
+if($result = $db->db_query("SELECT character_maximum_length FROM information_schema.columns WHERE column_name='uid' AND table_name='tbl_benutzerrolle' AND table_schema='system';"))
+{
+ if($row = $db->db_fetch_object($result))
+ {
+ if($row->character_maximum_length==16)
+ {
+ $qry = "ALTER TABLE system.tbl_benutzerrolle ALTER COLUMN uid TYPE varchar(32);";
+ if(!$db->db_query($qry))
+ echo 'system.tbl_benutzerrolle: '.$db->db_last_error().'
';
+ else
+ echo 'system.tbl_benutzerrolle: Spalte uid auf 32 Zeichen verlaengert
';
+ }
+ }
+}
+
+// tbl_akte wird nachgereicht und anmerkung hinzufügen
+if(!$result = @$db->db_query("SELECT nachgereicht FROM public.tbl_akte LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_akte ADD COLUMN nachgereicht boolean DEFAULT false;
+ ALTER TABLE public.tbl_akte ADD COLUMN anmerkung varchar(128)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_akte: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_akte: Spalte nachgereicht hinzugefuegt!
+ public.tbl_akte: Spalte anmerkung hinzugefuegt!
';
+}
+
+// bis.tbl_zgvdoktor anlegen
+if(!$result = @$db->db_query("SELECT zgvdoktor_code FROM bis.tbl_zgvdoktor LIMIT 1"))
+{
+ $qry = "CREATE TABLE bis.tbl_zgvdoktor
+ (
+ zgvdoktor_code integer NOT NULL,
+ zgvdoktor_bez varchar(64),
+ zgvdoktor_kurzbz varchar(16)
+ );
+
+ ALTER TABLE bis.tbl_zgvdoktor ADD CONSTRAINT pk_zgvdoktor PRIMARY KEY (zgvdoktor_code);
+
+ GRANT SELECT ON bis.tbl_zgvdoktor TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_zgvdoktor TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'bis.tbl_zgvdoktor: '.$db->db_last_error().'
';
+ else
+ echo ' bis.tbl_zgvdoktor: Tabelle hinzugefügt
';
+}
+
+// prestudent zgvdoktor hinzufügen
+if(!$result = @$db->db_query("SELECT zgvdoktor_code from public.tbl_prestudent LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_code integer;
+ ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktorort varchar(64);
+ ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktordatum date;
+
+
+ ALTER TABLE public.tbl_prestudent ADD CONSTRAINT fk_zgvdoktor_code FOREIGN KEY (zgvdoktor_code) REFERENCES bis.tbl_zgvdoktor(zgvdoktor_code) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudent: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_prestudent: Spalte zgvdoktor_code hinzugefuegt
+ public.tbl_prestudent: Spalte zgvdoktorort hinzugefuegt
+ public.tbl_prestudent: Spalte zgvdoktordatum hinzugefuegt
';
+}
+
+// tbl_gruppe neues attribut zutrittssystem
+if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_gruppe ADD COLUMN zutrittssystem boolean NOT NULL DEFAULT false;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_gruppe: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt';
+}
+
+// tbl_webservicerecht neue Spalte klasse
+if(!$result = @$db->db_query("SELECT klasse from system.tbl_webservicerecht LIMIT 1;"))
+{
+ $qry = "ALTER TABLE system.tbl_webservicerecht ADD COLUMN klasse varchar(256);";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_webservicerecht: '.$db->db_last_error().'
';
+ else
+ echo 'system.tbl_webservicerecht: Spalte klasse hinzugefügt';
+}
+
+// tbl_note neue Spalte Positiv
+if(!$result = @$db->db_query("SELECT positiv from lehre.tbl_note LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_note ADD COLUMN positiv boolean NOT NULL DEFAULT true;
+ UPDATE lehre.tbl_note SET positiv=false WHERE note in(0,5,7,9,13,14,15)";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_note: '.$db->db_last_error().'
';
+ else
+ echo 'lehre.tbl_note: Spalte positiv hinzugefügt';
+}
+
+// Mitarbeiter-Attribut Kleriker hinzufügen
+if(!$result =@$db->db_query("SELECT kleriker from public.tbl_mitarbeiter LIMIT 1;"))
+{
+ $qry="ALTER TABLE public.tbl_mitarbeiter ADD COLUMN kleriker boolean NOT NULL DEFAULT false;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_mitarbeiter: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_mitarbeiter: spalte kleriker hinzugefügt';
+}
+
+// Matrikelnummer in public.tbl_person hinzufügen
+if(!$result = @$db->db_query("SELECT matr_nr from public.tbl_person LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_person ADD COLUMN matr_nr varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_person: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_person: Spalte matr_nr hinzugefügt';
+}
+
+echo '
';
+
+// tbl_organisationseinheit neue Spalte lehre
+if(!$result = @$db->db_query("SELECT lehre FROM public.tbl_organisationseinheit LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_organisationseinheit ADD COLUMN lehre boolean NOT NULL DEFAULT true;
+ UPDATE public.tbl_organisationseinheit SET lehre=false WHERE
+ NOT EXISTS(SELECT 1 FROM public.tbl_studiengang WHERE oe_kurzbz=tbl_organisationseinheit.oe_kurzbz)
+ AND
+ NOT EXISTS(SELECT 1 FROM public.tbl_fachbereich WHERE oe_kurzbz=tbl_organisationseinheit.oe_kurzbz)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_organisationseinheit: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_organisationseinheit: Spalte lehre hinzugefügt';
+}
+
+// ext_id Spalte tbl_preinteressent
+if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_preinteressent LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_preinteressent ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_preinteressent: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_preinteressent: Spalte ext_id hinzugefügt';
+}
+
+// lvnr Spalte tbl_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT lvnr FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvnr varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo 'lehre.tbl_lehrveranstaltung: Spalte lvnr hinzugefügt';
+}
+
+// credit_points Spalte tbl_konto
+if(!$result = @$db->db_query("SELECT credit_points FROM public.tbl_konto LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_konto ADD COLUMN credit_points numeric(5,2);
+ ALTER TABLE public.tbl_buchungstyp ADD COLUMN credit_points numeric(5,2);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_konto: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_konto / tbl_buchungstyp: Spalte credit_points hinzugefügt';
+}
+
+// studienplan_id in Tabelle prestudentstatus
+if(!$result = @$db->db_query("SELECT studienplan_id FROM public.tbl_prestudentstatus LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN studienplan_id bigint;
+ ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_studienplan_prestudentstatus FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan(studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_prestudentstatus: Spalte studienplan_id hinzugefügt';
+}
+
+// Lehrfach entfernen und auf die Lehrveranstaltung umbiegen
+if(!$result = @$db->db_query("SELECT farbe FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "
+ -- Datenmuell bereinigen
+ UPDATE lehre.tbl_lehrfach SET aktiv=false WHERE aktiv is null;
+
+ -- Neue Spalte Farbe bei Lehrveranstaltung hinzufügen
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN farbe varchar(6);
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN old_lehrfach_id bigint;
+
+ -- Alle Lehrfächer als Lehrveranstaltungen anlegen
+ INSERT INTO lehre.tbl_lehrveranstaltung(kurzbz, bezeichnung, semester, sprache,
+ oe_kurzbz, lehrtyp_kurzbz,aktiv, studiengang_kz, projektarbeit, old_lehrfach_id, farbe, lehre)
+ SELECT kurzbz, bezeichnung, semester, sprache,
+ (select oe_kurzbz from public.tbl_fachbereich where fachbereich_kurzbz=tbl_lehrfach.fachbereich_kurzbz),
+ 'lf',aktiv, studiengang_kz, false, lehrfach_id, farbe,false
+ FROM
+ lehre.tbl_lehrfach;
+
+ -- Spalte Lehrfach_id auf lehrfach_id_old ändern
+ ALTER TABLE lehre.tbl_lehreinheit RENAME COLUMN lehrfach_id TO lehrfach_id_old;
+ ALTER TABLE lehre.tbl_lehreinheit ALTER COLUMN lehrfach_id_old DROP NOT NULL;
+
+ -- Neue Spalte Lehrfach_id anlegen Mit FK auf Lehrveranstaltung
+ ALTER TABLE lehre.tbl_lehreinheit ADD COLUMN lehrfach_id bigint;
+ ALTER TABLE lehre.tbl_lehreinheit ADD CONSTRAINT fk_lehreinheit_lehrveranstaltung_lehrfach FOREIGN KEY (lehrfach_id) REFERENCES lehre.tbl_lehrveranstaltung (lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ -- Neue ID auf LV setzen
+ UPDATE lehre.tbl_lehreinheit
+ SET lehrfach_id=(SELECT lehrveranstaltung_id FROM lehre.tbl_lehrveranstaltung
+ WHERE lehrtyp_kurzbz='lf' AND tbl_lehrveranstaltung.old_lehrfach_id=tbl_lehreinheit.lehrfach_id_old);
+
+ -- VIEWS Korrigieren
+ DROP VIEW campus.vw_lehreinheit;
+ CREATE OR REPLACE VIEW campus.vw_lehreinheit as
+ SELECT
+ tbl_lehrveranstaltung.studiengang_kz AS lv_studiengang_kz, tbl_lehrveranstaltung.semester AS lv_semester, tbl_lehrveranstaltung.kurzbz AS lv_kurzbz, tbl_lehrveranstaltung.bezeichnung AS lv_bezeichnung, tbl_lehrveranstaltung.ects AS lv_ects, tbl_lehrveranstaltung.lehreverzeichnis AS lv_lehreverzeichnis,
+ tbl_lehrveranstaltung.planfaktor AS lv_planfaktor, tbl_lehrveranstaltung.planlektoren AS lv_planlektoren, tbl_lehrveranstaltung.planpersonalkosten AS lv_planpersonalkosten, tbl_lehrveranstaltung.plankostenprolektor AS lv_plankostenprolektor, tbl_lehrveranstaltung.orgform_kurzbz AS lv_orgform_kurzbz,
+ tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, tbl_lehreinheit.lehre,
+ tbl_lehreinheit.unr, tbl_lehreinheit.lvnr, tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz, tbl_lehreinheit.insertamum, tbl_lehreinheit.insertvon, tbl_lehreinheit.updateamum, tbl_lehreinheit.updatevon,
+ lehrfach.lehrveranstaltung_id AS lehrfach_id,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
+ tbl_lehrveranstaltung.aktiv, lehrfach.sprache, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.semesterstunden, tbl_lehrveranstaltung.semesterstunden AS lv_semesterstunden, tbl_lehreinheitmitarbeiter.planstunden, tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.faktor,
+ tbl_lehreinheit.anmerkung, tbl_mitarbeiter.kurzbz AS lektor, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester, tbl_lehreinheitgruppe.verband, tbl_lehreinheitgruppe.gruppe, tbl_lehreinheitgruppe.gruppe_kurzbz,
+ tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bez, tbl_studiengang.typ AS stg_typ, tbl_lehreinheitmitarbeiter.anmerkung AS anmerkunglektor, tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz,
+ tbl_lehrveranstaltung.bezeichnung_english AS lv_bezeichnung_english, tbl_lehrveranstaltung.lehrtyp_kurzbz
+ FROM lehre.tbl_lehreinheit
+ JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
+ JOIN lehre.tbl_lehrveranstaltung lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid)
+ JOIN lehre.tbl_lehreinheitgruppe USING (lehreinheit_id)
+ JOIN public.tbl_studiengang ON tbl_lehreinheitgruppe.studiengang_kz = tbl_studiengang.studiengang_kz;
+ GRANT SELECT ON campus.vw_lehreinheit TO admin;
+ GRANT SELECT ON campus.vw_lehreinheit TO vilesci;
+ GRANT SELECT ON campus.vw_lehreinheit TO web;
+
+ -- ==
+
+ DROP VIEW campus.vw_student_lehrveranstaltung;
+ CREATE OR REPLACE VIEW campus.vw_student_lehrveranstaltung AS
+ SELECT
+ tbl_benutzergruppe.uid, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.sort, tbl_lehrveranstaltung.lehrveranstaltung_id,
+ tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.bezeichnung_english,
+ tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache,
+ tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.semesterstunden, tbl_lehrveranstaltung.anmerkung,
+ tbl_lehrveranstaltung.lehre, tbl_lehrveranstaltung.lehreverzeichnis, tbl_lehrveranstaltung.aktiv,
+ tbl_lehrveranstaltung.planfaktor, tbl_lehrveranstaltung.planlektoren, tbl_lehrveranstaltung.planpersonalkosten,
+ tbl_lehrveranstaltung.plankostenprolektor, tbl_lehrveranstaltung.updateamum, tbl_lehrveranstaltung.updatevon,
+ tbl_lehrveranstaltung.insertamum, tbl_lehrveranstaltung.insertvon, tbl_lehrveranstaltung.ext_id,
+ tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.studiensemester_kurzbz,
+ tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung,
+ tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp,
+ tbl_lehreinheit.raumtypalternativ, tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz
+ FROM
+ lehre.tbl_lehreinheitgruppe,
+ public.tbl_benutzergruppe,
+ lehre.tbl_lehreinheit,
+ lehre.tbl_lehrveranstaltung
+ WHERE
+ tbl_lehreinheitgruppe.gruppe_kurzbz::text = tbl_benutzergruppe.gruppe_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_benutzergruppe.studiensemester_kurzbz::text
+ UNION
+ SELECT
+ tbl_studentlehrverband.student_uid AS uid, tbl_lehrveranstaltung.zeugnis, tbl_lehrveranstaltung.sort,
+ tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.kurzbz, tbl_lehrveranstaltung.bezeichnung,
+ tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester,
+ tbl_lehrveranstaltung.sprache, tbl_lehrveranstaltung.ects, tbl_lehrveranstaltung.semesterstunden,
+ tbl_lehrveranstaltung.anmerkung, tbl_lehrveranstaltung.lehre, tbl_lehrveranstaltung.lehreverzeichnis,
+ tbl_lehrveranstaltung.aktiv, tbl_lehrveranstaltung.planfaktor, tbl_lehrveranstaltung.planlektoren,
+ tbl_lehrveranstaltung.planpersonalkosten, tbl_lehrveranstaltung.plankostenprolektor, tbl_lehrveranstaltung.updateamum,
+ tbl_lehrveranstaltung.updatevon, tbl_lehrveranstaltung.insertamum, tbl_lehrveranstaltung.insertvon,
+ tbl_lehrveranstaltung.ext_id, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.studiensemester_kurzbz,
+ tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung,
+ tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ,
+ tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz
+ FROM
+ lehre.tbl_lehreinheitgruppe,
+ public.tbl_studentlehrverband,
+ lehre.tbl_lehreinheit,
+ lehre.tbl_lehrveranstaltung
+ WHERE
+ tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitgruppe.lehreinheit_id AND tbl_lehreinheit.studiensemester_kurzbz::text = tbl_studentlehrverband.studiensemester_kurzbz::text AND tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND tbl_studentlehrverband.studiengang_kz = tbl_lehreinheitgruppe.studiengang_kz AND tbl_studentlehrverband.semester = tbl_lehreinheitgruppe.semester AND (btrim(tbl_studentlehrverband.verband::text) = btrim(tbl_lehreinheitgruppe.verband::text) OR (tbl_lehreinheitgruppe.verband IS NULL OR btrim(tbl_lehreinheitgruppe.verband::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL) AND (btrim(tbl_studentlehrverband.gruppe::text) = btrim(tbl_lehreinheitgruppe.gruppe::text) OR (tbl_lehreinheitgruppe.gruppe IS NULL OR btrim(tbl_lehreinheitgruppe.gruppe::text) = ''::text) AND tbl_lehreinheitgruppe.gruppe_kurzbz IS NULL);
+ GRANT SELECT ON campus.vw_student_lehrveranstaltung TO admin;
+ GRANT SELECT ON campus.vw_student_lehrveranstaltung TO vilesci;
+ GRANT SELECT ON campus.vw_student_lehrveranstaltung TO web;
+
+ -- ==
+ DROP VIEW campus.vw_stundenplan;
+ CREATE OR REPLACE VIEW campus.vw_stundenplan AS
+ SELECT
+ tbl_stundenplan.stundenplan_id, tbl_stundenplan.unr, tbl_stundenplan.mitarbeiter_uid AS uid,
+ tbl_stundenplan.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id,
+ tbl_stundenplan.datum, tbl_stundenplan.stunde, tbl_stundenplan.ort_kurzbz, tbl_stundenplan.studiengang_kz,
+ tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz,
+ tbl_stundenplan.titel, tbl_stundenplan.anmerkung, tbl_stundenplan.fix, tbl_lehreinheit.lehrveranstaltung_id,
+ tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bezeichnung,
+ tbl_studiengang.typ AS stg_typ,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
+ lehrfach.farbe, tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
+ tbl_stundenplan.updateamum, tbl_stundenplan.updatevon, tbl_stundenplan.insertamum, tbl_stundenplan.insertvon
+ FROM lehre.tbl_stundenplan
+ JOIN public.tbl_studiengang USING (studiengang_kz)
+ JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
+ GRANT SELECT ON campus.vw_stundenplan TO admin;
+ GRANT SELECT ON campus.vw_stundenplan TO vilesci;
+ GRANT SELECT ON campus.vw_stundenplan TO web;
+
+ -- ==
+ DROP VIEW lehre.vw_lva_stundenplan;
+ CREATE OR REPLACE VIEW lehre.vw_lva_stundenplan AS
+ SELECT
+ le.lehreinheit_id, le.unr, le.lvnr,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
+ lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
+ ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang,
+ lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
+ le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung,
+ le.studiensemester_kurzbz,
+ ( SELECT count(*) AS count
+ FROM lehre.tbl_stundenplan
+ WHERE tbl_stundenplan.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplan.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplan.semester = lvb.semester AND (tbl_stundenplan.verband = lvb.verband OR (tbl_stundenplan.verband IS NULL OR tbl_stundenplan.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplan.gruppe = lvb.gruppe OR (tbl_stundenplan.gruppe IS NULL OR tbl_stundenplan.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplan.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplan.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id) AS verplant
+ FROM lehre.tbl_lehreinheit le
+ JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
+ JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
+ JOIN public.tbl_studiengang USING (studiengang_kz)
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO admin;
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO vilesci;
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO web;
+
+ -- ==
+ DROP VIEW lehre.vw_lva_stundenplandev;
+ CREATE OR REPLACE VIEW lehre.vw_lva_stundenplandev AS
+ SELECT
+ le.lehreinheit_id, le.unr, le.lvnr,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
+ lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
+ tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper(tbl_studiengang.typ::character varying::text || tbl_studiengang.kurzbz::text) AS studiengang,
+ lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
+ le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw,
+ le.anmerkung, le.studiensemester_kurzbz,
+ ( SELECT count(*) AS count
+ FROM lehre.tbl_stundenplandev
+ WHERE tbl_stundenplandev.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplandev.semester = lvb.semester AND (tbl_stundenplandev.verband = lvb.verband OR (tbl_stundenplandev.verband IS NULL OR tbl_stundenplandev.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplandev.gruppe = lvb.gruppe OR (tbl_stundenplandev.gruppe IS NULL OR tbl_stundenplandev.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplandev.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplandev.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id) AS verplant
+ FROM lehre.tbl_lehreinheit le
+ JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
+ JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
+ JOIN public.tbl_studiengang ON lvb.studiengang_kz = tbl_studiengang.studiengang_kz
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO admin;
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO vilesci;
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO web;
+
+ -- ==
+
+ DROP VIEW lehre.vw_stundenplan;
+ CREATE OR REPLACE VIEW lehre.vw_stundenplan AS
+ SELECT
+ tbl_stundenplan.stundenplan_id, tbl_stundenplan.unr, tbl_stundenplan.mitarbeiter_uid AS uid,
+ tbl_stundenplan.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_stundenplan.datum,
+ tbl_stundenplan.stunde, tbl_stundenplan.ort_kurzbz, tbl_stundenplan.studiengang_kz,
+ tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz,
+ tbl_stundenplan.titel, tbl_stundenplan.anmerkung, tbl_stundenplan.fix, tbl_lehreinheit.lehrveranstaltung_id,
+ tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang,
+ tbl_studiengang.bezeichnung AS stg_bezeichnung, tbl_studiengang.typ AS stg_typ,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
+ tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
+ tbl_stundenplan.updateamum, tbl_stundenplan.updatevon, tbl_stundenplan.insertamum,
+ tbl_stundenplan.insertvon, tbl_lehreinheit.anmerkung AS anmerkung_lehreinheit
+ FROM lehre.tbl_stundenplan
+ JOIN public.tbl_studiengang USING (studiengang_kz)
+ JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_stundenplan TO admin;
+ GRANT SELECT ON lehre.vw_stundenplan TO vilesci;
+ GRANT SELECT ON lehre.vw_stundenplan TO web;
+
+ -- ==
+
+ DROP VIEW lehre.vw_stundenplandev;
+ CREATE OR REPLACE VIEW lehre.vw_stundenplandev AS
+ SELECT
+ tbl_stundenplandev.stundenplandev_id, tbl_stundenplandev.unr, tbl_stundenplandev.mitarbeiter_uid AS uid,
+ tbl_stundenplandev.lehreinheit_id, tbl_lehreinheit.lehrfach_id AS lehrfach_id, tbl_stundenplandev.datum,
+ tbl_stundenplandev.stunde, tbl_stundenplandev.ort_kurzbz, tbl_stundenplandev.studiengang_kz,
+ tbl_stundenplandev.semester, tbl_stundenplandev.verband, tbl_stundenplandev.gruppe,
+ tbl_stundenplandev.gruppe_kurzbz, tbl_stundenplandev.titel, tbl_stundenplandev.anmerkung,
+ tbl_stundenplandev.fix, tbl_lehreinheit.lehrveranstaltung_id, tbl_studiengang.kurzbz AS stg_kurzbz,
+ tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bezeichnung,
+ tbl_studiengang.typ AS stg_typ,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe,
+ tbl_lehreinheit.lehrform_kurzbz AS lehrform, tbl_mitarbeiter.kurzbz AS lektor,
+ tbl_stundenplandev.updateamum, tbl_stundenplandev.updatevon, tbl_stundenplandev.insertamum,
+ tbl_stundenplandev.insertvon, tbl_lehreinheit.anmerkung AS anmerkung_lehreinheit
+ FROM lehre.tbl_stundenplandev
+ JOIN public.tbl_studiengang USING (studiengang_kz)
+ JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_stundenplandev TO admin;
+ GRANT SELECT ON lehre.vw_stundenplandev TO vilesci;
+ GRANT SELECT ON lehre.vw_stundenplandev TO web;
+
+ ALTER TABLE lehre.tbl_lehreinheit ALTER COLUMN lehrfach_id SET NOT NULL;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ {
+ // Lehrfaecher-LVs die gleich sind wie die Lehrveranstaltung
+ // werden mit der Lehrveranstaltung zusammengelegt und das LV-Lehrfach wird entfernt
+
+ $qry = "
+ SELECT
+ distinct
+ tbl_lehrveranstaltung.lehrveranstaltung_id as lvid,
+ tbl_lehreinheit.lehreinheit_id,
+ tbl_lehreinheit.lehrfach_id,
+ lehrfach.lehrveranstaltung_id as lfid,
+ lehrfach.farbe as lffarbe,
+ lehrfach.oe_kurzbz
+ FROM
+ lehre.tbl_lehrveranstaltung
+ JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ WHERE
+ tbl_lehrveranstaltung.kurzbz=lehrfach.kurzbz
+ AND tbl_lehrveranstaltung.bezeichnung=lehrfach.bezeichnung
+ AND tbl_lehrveranstaltung.lehrveranstaltung_id<>lehrfach.lehrveranstaltung_id
+ ";
+
+ if($result = $db->db_query($qry))
+ {
+ while($row = $db->db_fetch_object($result))
+ {
+ // Umhaengen der Lehrfach_id auf die eigene Lehrveranstaltung
+ $qry='
+ UPDATE lehre.tbl_lehrveranstaltung SET farbe='.$db->db_add_param($row->lffarbe).', oe_kurzbz='.$db->db_add_param($row->oe_kurzbz).' WHERE lehrveranstaltung_id='.$db->db_add_param($row->lvid).';
+ UPDATE lehre.tbl_lehreinheit SET lehrfach_id='.$db->db_add_param($row->lvid).' WHERE lehreinheit_id='.$db->db_add_param($row->lehreinheit_id).';';
+ $db->db_query($qry);
+ }
+ }
+
+ // Alle nicht benoetigten Lehrfaecher loeschen
+ $qry ="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrtyp_kurzbz='lf' AND NOT EXISTS(SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrfach_id=tbl_lehrveranstaltung.lehrveranstaltung_id)";
+ $db->db_query($qry);
+
+ echo 'Alle Lehrfaecher wurden als Lehrveranstaltungen angelegt';
+ }
+
+}
+
+// zahlungsreferenz in tbl_konto
+if(!$result = @$db->db_query("SELECT zahlungsreferenz FROM public.tbl_konto LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_konto ADD COLUMN zahlungsreferenz varchar(35);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_konto: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_konto: Spalte zahlungsreferenz hinzugefügt';
+}
+
+// semester_alternativ in tbl_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT semester_alternativ FROM lehre.tbl_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN semester_alternativ smallint;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo 'lehre.tbl_lehrveranstaltung: Spalte semester_alternativ hinzugefügt';
+}
+
+// bestaetigtam und bestaetigtvon in Tabelle prestudentstatus fuer verlaengerung des Studiums
+if(!$result = @$db->db_query("SELECT bestaetigtam FROM public.tbl_prestudentstatus LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN bestaetigtam date;
+ ALTER TABLE public.tbl_prestudentstatus ADD COLUMN bestaetigtvon varchar(32);
+ ALTER TABLE public.tbl_prestudentstatus ADD CONSTRAINT fk_benutzer_prestudentstatus_bestaetigt FOREIGN KEY (bestaetigtvon) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_prestudentstatus: Spalte bestaetigtam und bestaetigtvon hinzugefügt';
+}
+
+// oe_kurzbz in Tabelle public.tbl_bankverbindung fuer das Abbilden von Kontodaten von Studiengaengen
+if(!$result = @$db->db_query("SELECT oe_kurzbz FROM public.tbl_bankverbindung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_bankverbindung ADD COLUMN oe_kurzbz varchar(32);
+ ALTER TABLE public.tbl_bankverbindung ALTER COLUMN person_id DROP NOT NULL;
+ ALTER TABLE public.tbl_bankverbindung ADD CONSTRAINT fk_organisationseinheit_bankverbindung FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_bankverbindung: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_bankverbindung: Spalte oe_kurzbz hinzugefügt';
+}
+
+// dokumentstudiengang boolean onlinebewerbung
+if(!$result = @$db->db_query("Select onlinebewerbung from public.tbl_dokumentstudiengang LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN onlinebewerbung boolean NOT NULL DEFAULT true; ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokumentstudiengang: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_dokumentstudiengang: Spalte onlinebewerbung hinzugefügt';
+}
+
+// Akte titel_intern und anmerkung_intern hinzufügen für Dokumentupload aus FAS
+if(!$result = @$db->db_query("SELECT titel_intern from public.tbl_akte LIMIT 1"))
+{
+
+ $qry = "ALTER TABLE public.tbl_akte ADD COLUMN titel_intern varchar(64);
+ ALTER TABLE public.tbl_akte ADD COLUMN anmerkung_intern text; ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_akte: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_akte: Spalten titel_intern und anmerkung_intern hinzugefügt';
+
+}
+
+// Pruefungsverwaltung
+if(!$result = @$db->db_query("SELECT pruefung_id FROM campus.tbl_pruefung LIMIT 1;"))
+{
+ $qry = "
+ CREATE TABLE campus.tbl_pruefungsfenster
+ (
+ pruefungsfenster_id bigint NOT NULL,
+ studiensemester_kurzbz varchar(16),
+ oe_kurzbz varchar(32),
+ start date,
+ ende date
+ );
+
+ CREATE SEQUENCE campus.seq_pruefungsfenster_pruefungsfenster_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_pruefungsfenster ADD CONSTRAINT pk_pruefungsfenster PRIMARY KEY (pruefungsfenster_id);
+ ALTER TABLE campus.tbl_pruefungsfenster ALTER COLUMN pruefungsfenster_id SET DEFAULT nextval('campus.seq_pruefungsfenster_pruefungsfenster_id');
+
+ ALTER TABLE campus.tbl_pruefungsfenster ADD CONSTRAINT fk_pruefungsfenster_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsfenster TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsfenster TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungsfenster_pruefungsfenster_id TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungsfenster_pruefungsfenster_id TO web;
+
+ CREATE TABLE campus.tbl_pruefung
+ (
+ pruefung_id bigint NOT NULL,
+ mitarbeiter_uid varchar(32),
+ studiensemester_kurzbz varchar(16),
+ pruefungsfenster_id bigint,
+ pruefungstyp_kurzbz varchar(16),
+ titel varchar(256),
+ beschreibung text,
+ methode varchar(64),
+ einzeln boolean NOT NULL DEFAULT false,
+ storniert boolean NOT NULL DEFAULT false,
+ insertvon varchar(32),
+ insertamum timestamp,
+ updatevon varchar(32),
+ updateamum timestamp
+ );
+
+ CREATE SEQUENCE campus.seq_pruefung_pruefung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT pk_pruefung PRIMARY KEY (pruefung_id);
+ ALTER TABLE campus.tbl_pruefung ALTER COLUMN pruefung_id SET DEFAULT nextval('campus.seq_pruefung_pruefung_id');
+
+ ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_studiensemester_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_mitarbeiter_mitarbeiter_uid FOREIGN KEY (mitarbeiter_uid) REFERENCES public.tbl_mitarbeiter(mitarbeiter_uid) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungsfenster_pruefungsfenster_id FOREIGN KEY (pruefungsfenster_id) REFERENCES campus.tbl_pruefungsfenster(pruefungsfenster_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungstyp_pruefungstyp_kurzbz FOREIGN KEY (pruefungstyp_kurzbz) REFERENCES lehre.tbl_pruefungstyp(pruefungstyp_kurzbz) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefung TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefung TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_pruefung_pruefung_id TO web;
+ GRANT SELECT, UPDATE ON campus.seq_pruefung_pruefung_id TO vilesci;
+
+ CREATE TABLE campus.tbl_pruefungstermin
+ (
+ pruefungstermin_id bigint NOT NULL,
+ pruefung_id bigint NOT NULL,
+ von timestamp,
+ bis timestamp,
+ teilnehmer_max smallint,
+ teilnehmer_min smallint
+ );
+
+ CREATE SEQUENCE campus.seq_pruefungstermin_pruefungstermin_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT pk_pruefungstermin PRIMARY KEY (pruefungstermin_id);
+ ALTER TABLE campus.tbl_pruefungstermin ALTER COLUMN pruefungstermin_id SET DEFAULT nextval('campus.seq_pruefungstermin_pruefungstermin_id');
+ ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT fk_pruefungstermin_pruefung_pruefung_id FOREIGN KEY (pruefung_id) REFERENCES campus.tbl_pruefung(pruefung_id) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungstermin TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungstermin TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungstermin_pruefungstermin_id TO web;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungstermin_pruefungstermin_id TO vilesci;
+
+ CREATE TABLE campus.tbl_lehrveranstaltung_pruefung
+ (
+ lehrveranstaltung_pruefung_id bigint NOT NULL,
+ lehrveranstaltung_id bigint NOT NULL,
+ pruefung_id bigint NOT NULL
+ );
+
+ CREATE SEQUENCE campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT pk_lehrveranstaltung_pruefung PRIMARY KEY (lehrveranstaltung_pruefung_id);
+ ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ALTER COLUMN lehrveranstaltung_pruefung_id SET DEFAULT nextval('campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id');
+ ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT fk_lehrveranstaltung_pruefung_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_lehrveranstaltung_pruefung ADD CONSTRAINT fk_lehrveranstaltung_pruefung_pruefung_pruefung_id FOREIGN KEY (pruefung_id) REFERENCES campus.tbl_pruefung(pruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_lehrveranstaltung_pruefung TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_lehrveranstaltung_pruefung TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id TO web;
+ GRANT SELECT, UPDATE ON campus.seq_lehrveranstaltung_pruefung_lehrveranstaltung_pruefung_id TO vilesci;
+
+ CREATE TABLE campus.tbl_pruefungsstatus
+ (
+ status_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(64)
+ );
+
+ GRANT SELECT ON campus.tbl_lehrveranstaltung_pruefung TO web;
+ GRANT SELECT ON campus.tbl_lehrveranstaltung_pruefung TO vilesci;
+
+ ALTER TABLE campus.tbl_pruefungsstatus ADD CONSTRAINT pk_pruefungsstatus PRIMARY KEY (status_kurzbz);
+
+ INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('angemeldet','angemeldet');
+ INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('bestaetigt','bestaetigt');
+ INSERT INTO campus.tbl_pruefungsstatus (status_kurzbz, bezeichnung) VALUES('storniert','storniert');
+
+ CREATE TABLE campus.tbl_pruefungsanmeldung
+ (
+ pruefungsanmeldung_id bigint NOT NULL,
+ uid varchar(32) NOT NULL,
+ pruefungstermin_id bigint NOT NULL,
+ lehrveranstaltung_id bigint NOT NULL,
+ status_kurzbz varchar(32),
+ wuensche text,
+ reihung smallint,
+ kommentar text
+ );
+
+ CREATE SEQUENCE campus.seq_pruefungsanmeldung_pruefungsanmeldung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT pk_pruefungsanmeldung PRIMARY KEY (pruefungsanmeldung_id);
+ ALTER TABLE campus.tbl_pruefungsanmeldung ALTER COLUMN pruefungsanmeldung_id SET DEFAULT nextval('campus.seq_pruefungsanmeldung_pruefungsanmeldung_id');
+ ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_lehrveranstaltung_lehrveranstaltung_id FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_pruefungsstatus_status_kurzbz FOREIGN KEY (status_kurzbz) REFERENCES campus.tbl_pruefungsstatus(status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsanmeldung TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE ON campus.tbl_pruefungsanmeldung TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungsanmeldung_pruefungsanmeldung_id TO web;
+ GRANT SELECT, UPDATE ON campus.seq_pruefungsanmeldung_pruefungsanmeldung_id TO vilesci;
+
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'Pruefungen: '.$db->db_last_error().'
';
+ else
+ echo 'Tabellen fuer Pruefungsverwaltung hinzugefügt';
+}
+
+// Berechtigungen fuer web User erteilen
+if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_prestudentstatus' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_prestudentstatus TO web;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_prestudentstatus: Schreibrechte fuer User web erteilt';
+ }
+}
+
+// Berechtigungen fuer web User erteilen
+if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_preinteressent' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_preinteressent TO web;
+ GRANT SELECT, UPDATE ON public.tbl_preinteressent_preinteressent_id_seq TO web;
+ GRANT SELECT, INSERT, UPDATE ON public.tbl_preinteressentstudiengang TO web;
+ GRANT SELECT, INSERT, UPDATE ON public.tbl_prestudent TO web;
+ GRANT SELECT, UPDATE ON public.tbl_prestudent_prestudent_id_seq TO web;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_preinteressent: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_preinteressent: Schreibrechte fuer User web erteilt';
+ }
+}
+
+// Berechtigungen fuer web User erteilen
+if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_konto' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "GRANT INSERT, UPDATE ON public.tbl_konto TO web;"
+ . " GRANT SELECT, UPDATE on public.tbl_konto_buchungsnr_seq TO web;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_konto: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_konto: Schreibrechte fuer User web erteilt';
+ }
+}
+
+// Anmeldefrist fuer Pruefungstermine
+if(!$result = @$db->db_query("SELECT anmeldung_von FROM campus.tbl_pruefungstermin LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN anmeldung_von date;
+ ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN anmeldung_bis date;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_pruefungstermin: Spalte anmeldung_von und anmeldung_bis hinzugefügt';
+
+}
+
+// neue Spalte für Sammelklausur
+if(!$result = @$db->db_query("SELECT sammelklausur FROM campus.tbl_pruefungstermin LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN sammelklausur boolean;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_pruefungstermin: Spalte sammelklausur hinzugefügt';
+
+}
+
+// NOT NULL Constraint bei tbl_mitarbeiter.kleriker entfernt
+if($result = @$db->db_query("SELECT 1 FROM information_schema.columns WHERE table_schema='public' AND table_name='tbl_mitarbeiter' AND column_name='kleriker' AND is_nullable='NO'"))
+{
+ if($db->db_num_rows($result)>0)
+ {
+ $qry = "ALTER TABLE public.tbl_mitarbeiter ALTER COLUMN kleriker DROP NOT NULL;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_mitarbeiter: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_mitarbeiter: Spalte Kleriker NOT NULL entfernt';
+ }
+}
+
+// aktivierungscode in tbl_benutzer
+if(!$result = @$db->db_query("SELECT aktivierungscode FROM public.tbl_benutzer LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_benutzer ADD COLUMN aktivierungscode varchar(64);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_benutzer: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_benutzer: Spalte aktivierungscode hinzugefuegt';
+}
+
+// Diverse neue Indizes
+if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_lehrveranstaltung_studiengang'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "
+ CREATE INDEX idx_lehrveranstaltung_studiengang ON lehre.tbl_lehrveranstaltung USING btree (studiengang_kz);
+ CREATE INDEX idx_lehrveranstaltung_semester ON lehre.tbl_lehrveranstaltung USING btree (semester);
+ CREATE INDEX idx_lehreinheit_lehrveranstaltung_id ON lehre.tbl_lehreinheit USING btree (lehrveranstaltung_id);
+ CREATE INDEX idx_studienplan_studienordnung_id ON lehre.tbl_studienplan USING btree (studienordnung_id);
+ CREATE INDEX idx_studienplan_lehrveranstaltung_lehrveranstaltung_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (lehrveranstaltung_id);
+ CREATE INDEX idx_studienplan_lehrveranstaltung_stpllvid ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id, lehrveranstaltung_id);
+ CREATE INDEX idx_studienplan_lehrveranstaltung_studienplan_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_id);
+ CREATE INDEX idx_studienplan_lehrveranstaltung_parent_id ON lehre.tbl_studienplan_lehrveranstaltung USING btree (studienplan_lehrveranstaltung_id_parent);
+ CREATE INDEX idx_lehreinheit_lehrfach_idLV ON lehre.tbl_lehreinheit USING btree (lehrfach_id)
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'Indizes: '.$db->db_last_error().'
';
+ else
+ echo 'Diverse Indizes fuer Studienpan und Lehrveranstaltung hinzugefuegt';
+ }
+}
+
+// Distinct im Count: Planstunden zaehlen nur mehr einmal, wenn zum gleichen Zeitpunkt mehrere Einheiten verplant werden
+if($result = @$db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='lehre' AND table_name='vw_lva_stundenplan'"))
+{
+ if ($row = $db->db_fetch_object($result))
+ {
+ if($row->view_definition!="SELECT le.lehreinheit_id, le.unr, le.lvnr, (SELECT tbl_fachbereich.fachbereich_kurzbz FROM tbl_fachbereich WHERE ((tbl_fachbereich.oe_kurzbz)::text = (lehrfach.oe_kurzbz)::text)) AS fachbereich_kurzbz, le.lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid, ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang, lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ, le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung, le.studiensemester_kurzbz, (SELECT count(DISTINCT ROW(tbl_stundenplan.datum, tbl_stundenplan.stunde, tbl_stundenplan.mitarbeiter_uid, tbl_stundenplan.studiengang_kz, tbl_stundenplan.semester, tbl_stundenplan.verband, tbl_stundenplan.gruppe, tbl_stundenplan.gruppe_kurzbz, tbl_stundenplan.lehreinheit_id, tbl_stundenplan.unr)) AS count FROM lehre.tbl_stundenplan WHERE ((((((((tbl_stundenplan.mitarbeiter_uid)::text = (lema.mitarbeiter_uid)::text) AND (tbl_stundenplan.studiengang_kz = lvb.studiengang_kz)) AND (tbl_stundenplan.semester = lvb.semester)) AND ((tbl_stundenplan.verband = lvb.verband) OR (((tbl_stundenplan.verband IS NULL) OR (tbl_stundenplan.verband = ''::bpchar)) AND (lvb.verband IS NULL)))) AND ((tbl_stundenplan.gruppe = lvb.gruppe) OR (((tbl_stundenplan.gruppe IS NULL) OR (tbl_stundenplan.gruppe = ''::bpchar)) AND (lvb.gruppe IS NULL)))) AND (((tbl_stundenplan.gruppe_kurzbz)::text = (lvb.gruppe_kurzbz)::text) OR ((tbl_stundenplan.gruppe_kurzbz IS NULL) AND (lvb.gruppe_kurzbz IS NULL)))) AND (tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id))) AS verplant FROM (((((lehre.tbl_lehreinheit le JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)) JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)) JOIN tbl_studiengang USING (studiengang_kz)) JOIN lehre.tbl_lehrveranstaltung lehrfach ON ((le.lehrfach_id = lehrfach.lehrveranstaltung_id))) JOIN tbl_mitarbeiter ma USING (mitarbeiter_uid));")
+ {
+ $qry = "
+ DROP VIEW lehre.vw_lva_stundenplan;
+ CREATE OR REPLACE VIEW lehre.vw_lva_stundenplan AS
+ SELECT
+ le.lehreinheit_id, le.unr, le.lvnr,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
+ lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
+ ma.kurzbz AS lektor, tbl_studiengang.studiengang_kz, tbl_studiengang.kurzbz AS studiengang,
+ lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
+ le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung,
+ le.studiensemester_kurzbz,
+ ( SELECT count (distinct (datum,stunde,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id,unr)) AS count
+ FROM lehre.tbl_stundenplan
+ WHERE tbl_stundenplan.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplan.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplan.semester = lvb.semester AND (tbl_stundenplan.verband = lvb.verband OR (tbl_stundenplan.verband IS NULL OR tbl_stundenplan.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplan.gruppe = lvb.gruppe OR (tbl_stundenplan.gruppe IS NULL OR tbl_stundenplan.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplan.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplan.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplan.lehreinheit_id = lvb.lehreinheit_id) AS verplant
+ FROM lehre.tbl_lehreinheit le
+ JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
+ JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
+ JOIN public.tbl_studiengang USING (studiengang_kz)
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter ma USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO admin;
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO vilesci;
+ GRANT SELECT ON lehre.vw_lva_stundenplan TO web;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'vw_lva_stundenplan: '.$db->db_last_error().'
';
+ else
+ echo 'vw_lva_stundenplan: Planstunden zum selben Zeitpunkt zaehlen nur mehr einmal
';
+ }
+ }
+}
+
+// Distinct im Count: Planstunden zaehlen nur mehr einmal, wenn zum gleichen Zeitpunkt mehrere Einheiten verplant werden
+if($result = @$db->db_query("SELECT view_definition FROM information_schema.views WHERE table_schema='lehre' AND table_name='vw_lva_stundenplandev'"))
+{
+ if ($row = $db->db_fetch_object($result))
+ {
+ if($row->view_definition!="SELECT le.lehreinheit_id, le.unr, le.lvnr, (SELECT tbl_fachbereich.fachbereich_kurzbz FROM tbl_fachbereich WHERE ((tbl_fachbereich.oe_kurzbz)::text = (lehrfach.oe_kurzbz)::text)) AS fachbereich_kurzbz, le.lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez, lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid, tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper((((tbl_studiengang.typ)::character varying)::text || (tbl_studiengang.kurzbz)::text)) AS studiengang, lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ, le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw, le.anmerkung, le.studiensemester_kurzbz, (SELECT count(DISTINCT ROW(tbl_stundenplandev.datum, tbl_stundenplandev.stunde, tbl_stundenplandev.mitarbeiter_uid, tbl_stundenplandev.studiengang_kz, tbl_stundenplandev.semester, tbl_stundenplandev.verband, tbl_stundenplandev.gruppe, tbl_stundenplandev.gruppe_kurzbz, tbl_stundenplandev.lehreinheit_id, tbl_stundenplandev.unr)) AS count FROM lehre.tbl_stundenplandev WHERE ((((((((tbl_stundenplandev.mitarbeiter_uid)::text = (lema.mitarbeiter_uid)::text) AND (tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz)) AND (tbl_stundenplandev.semester = lvb.semester)) AND ((tbl_stundenplandev.verband = lvb.verband) OR (((tbl_stundenplandev.verband IS NULL) OR (tbl_stundenplandev.verband = ''::bpchar)) AND (lvb.verband IS NULL)))) AND ((tbl_stundenplandev.gruppe = lvb.gruppe) OR (((tbl_stundenplandev.gruppe IS NULL) OR (tbl_stundenplandev.gruppe = ''::bpchar)) AND (lvb.gruppe IS NULL)))) AND (((tbl_stundenplandev.gruppe_kurzbz)::text = (lvb.gruppe_kurzbz)::text) OR ((tbl_stundenplandev.gruppe_kurzbz IS NULL) AND (lvb.gruppe_kurzbz IS NULL)))) AND (tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id))) AS verplant FROM (((((lehre.tbl_lehreinheit le JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)) JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)) JOIN tbl_studiengang ON ((lvb.studiengang_kz = tbl_studiengang.studiengang_kz))) JOIN lehre.tbl_lehrveranstaltung lehrfach ON ((le.lehrfach_id = lehrfach.lehrveranstaltung_id))) JOIN tbl_mitarbeiter USING (mitarbeiter_uid));")
+ {
+ $qry = "
+ DROP VIEW lehre.vw_lva_stundenplandev;
+ CREATE OR REPLACE VIEW lehre.vw_lva_stundenplandev AS
+ SELECT
+ le.lehreinheit_id, le.unr, le.lvnr,
+ (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz,
+ le.lehrfach_id AS lehrfach_id, lehrfach.kurzbz AS lehrfach, lehrfach.bezeichnung AS lehrfach_bez,
+ lehrfach.farbe AS lehrfach_farbe, le.lehrform_kurzbz AS lehrform, lema.mitarbeiter_uid AS lektor_uid,
+ tbl_mitarbeiter.kurzbz AS lektor, tbl_studiengang.studiengang_kz, upper(tbl_studiengang.typ::character varying::text || tbl_studiengang.kurzbz::text) AS studiengang,
+ lvb.semester, lvb.verband, lvb.gruppe, lvb.gruppe_kurzbz, le.raumtyp, le.raumtypalternativ,
+ le.stundenblockung, le.wochenrythmus, lema.semesterstunden, lema.planstunden, le.start_kw,
+ le.anmerkung, le.studiensemester_kurzbz,
+ ( SELECT count (distinct (datum,stunde,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id,unr)) AS count
+ FROM lehre.tbl_stundenplandev
+ WHERE tbl_stundenplandev.mitarbeiter_uid::text = lema.mitarbeiter_uid::text AND tbl_stundenplandev.studiengang_kz = lvb.studiengang_kz AND tbl_stundenplandev.semester = lvb.semester AND (tbl_stundenplandev.verband = lvb.verband OR (tbl_stundenplandev.verband IS NULL OR tbl_stundenplandev.verband = ''::bpchar) AND lvb.verband IS NULL) AND (tbl_stundenplandev.gruppe = lvb.gruppe OR (tbl_stundenplandev.gruppe IS NULL OR tbl_stundenplandev.gruppe = ''::bpchar) AND lvb.gruppe IS NULL) AND (tbl_stundenplandev.gruppe_kurzbz::text = lvb.gruppe_kurzbz::text OR tbl_stundenplandev.gruppe_kurzbz IS NULL AND lvb.gruppe_kurzbz IS NULL) AND tbl_stundenplandev.lehreinheit_id = lvb.lehreinheit_id) AS verplant
+ FROM lehre.tbl_lehreinheit le
+ JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
+ JOIN lehre.tbl_lehreinheitgruppe lvb USING (lehreinheit_id)
+ JOIN public.tbl_studiengang ON lvb.studiengang_kz = tbl_studiengang.studiengang_kz
+ JOIN lehre.tbl_lehrveranstaltung as lehrfach ON (le.lehrfach_id=lehrfach.lehrveranstaltung_id)
+ JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid);
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO admin;
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO vilesci;
+ GRANT SELECT ON lehre.vw_lva_stundenplandev TO web;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'vw_lva_stundenplandev: '.$db->db_last_error().'
';
+ else
+ echo 'vw_lva_stundenplandev: Planstunden zum selben Zeitpunkt zaehlen nur mehr einmal
';
+ }
+ }
+}
+
+// Berechtigungen fuer web User erteilen fuer tbl_benutzer zum reset des aktivierungscodes
+if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_benutzer' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "GRANT UPDATE ON public.tbl_benutzer TO web;";
+
+ if(!$db->db_query($qry))
+ echo '
public.tbl_benutzer: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_benutzer: Update rechte fuer User web erteilt';
+ }
+}
+
+// pruefungsanmeldung_id in lehre.tbl_pruefung
+if(!$result = @$db->db_query("SELECT pruefungsanmeldung_id FROM lehre.tbl_pruefung LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN pruefungsanmeldung_id bigint; "
+ . "ALTER TABLE lehre.tbl_pruefung ADD CONSTRAINT fk_pruefung_pruefungsanmeldung_id FOREIGN KEY (pruefungsanmeldung_id) REFERENCES campus.tbl_pruefungsanmeldung (pruefungsanmeldung_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo '
lehre.tbl_pruefung: '.$db->db_last_error().'
';
+ else
+ echo '
lehre.tbl_pruefung: Spalte pruefungsanmeldung_id hinzugefuegt';
+}
+
+// pruefungsintervall in campus.tbl_pruefung
+if(!$result = @$db->db_query("SELECT pruefungsintervall FROM campus.tbl_pruefung LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefung ADD COLUMN pruefungsintervall smallint;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefung: '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_pruefung: Spalte pruefungsintervall hinzugefuegt';
+}
+
+// statusupdatevon in campus.tbl_pruefungsanmeldung
+if(!$result = @$db->db_query("SELECT statusupdatevon FROM campus.tbl_pruefungsanmeldung LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN statusupdatevon varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_pruefungsanmeldung: Spalte statusupdatevon hinzugefuegt';
+}
+
+// statusupdateamum in campus.tbl_pruefungsanmeldung
+if(!$result = @$db->db_query("SELECT statusupdateamum FROM campus.tbl_pruefungsanmeldung LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN statusupdateamum timestamp;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_pruefungsanmeldung: Spalte statusupdateamum hinzugefuegt';
+}
+
+// Indizes für Tabelle Reservierung
+if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_reservierung_datum'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+
+ $qry = "CREATE INDEX idx_reservierung_datum ON campus.tbl_reservierung USING btree (datum);
+ CREATE INDEX idx_reservierung_ort ON campus.tbl_reservierung USING btree (ort_kurzbz);
+ CREATE INDEX idx_reservierung_stunde ON campus.tbl_reservierung USING btree (stunde);";
+
+ if(!$db->db_query($qry))
+ echo '
Indizes: '.$db->db_last_error().'
';
+ else
+ echo '
Diverse Indizes fuer Tabelle Reservierung hinzugefügt';
+ }
+}
+
+// vw_student erweitern
+if(!$result = @$db->db_query("SELECT aktivierungscode FROM campus.vw_student"))
+{
+ $qry = "CREATE OR REPLACE VIEW campus.vw_student AS
+ SELECT
+ tbl_benutzer.uid, tbl_student.matrikelnr, tbl_student.prestudent_id, tbl_student.studiengang_kz, tbl_student.semester,
+ tbl_student.verband, tbl_student.gruppe, tbl_benutzer.person_id, tbl_benutzer.alias, tbl_person.geburtsnation, tbl_person.sprache,
+ tbl_person.anrede, tbl_person.titelpost, tbl_person.titelpre, tbl_person.nachname, tbl_person.vorname, tbl_person.vornamen, tbl_person.gebdatum,
+ tbl_person.gebort, tbl_person.gebzeit, tbl_person.foto, tbl_person.anmerkung, tbl_person.homepage, tbl_person.svnr, tbl_person.ersatzkennzeichen,
+ tbl_person.geschlecht, tbl_person.familienstand, tbl_person.anzahlkinder, tbl_benutzer.aktiv, tbl_student.updateamum, tbl_student.updatevon,
+ tbl_student.insertamum, tbl_student.insertvon, tbl_student.ext_id, tbl_benutzer.updateaktivam, tbl_benutzer.updateaktivvon,
+ tbl_benutzer.aktivierungscode,
+ (SELECT kontakt FROM public.tbl_kontakt WHERE person_id=tbl_person.person_id AND kontakttyp='email' ORDER BY zustellung desc Limit 1) as email_privat
+ FROM
+ public.tbl_student
+ JOIN public.tbl_benutzer ON tbl_student.student_uid::text = tbl_benutzer.uid::text
+ JOIN public.tbl_person USING (person_id);";
+
+ if(!$db->db_query($qry))
+ echo '
campus.vw_student: '.$db->db_last_error().'
';
+ else
+ echo '
campus.vw_student: Neue Spalten aktivierungscode und email_privat zur View hinzugefuegt';
+}
+
+// vw_mitarbeiter erweitern
+if(!$result = @$db->db_query("SELECT aktivierungscode FROM campus.vw_mitarbeiter"))
+{
+ $qry = "CREATE OR REPLACE VIEW campus.vw_mitarbeiter AS
+ SELECT tbl_benutzer.uid, tbl_mitarbeiter.ausbildungcode, tbl_mitarbeiter.personalnummer, tbl_mitarbeiter.kurzbz, tbl_mitarbeiter.lektor,
+ tbl_mitarbeiter.fixangestellt, tbl_mitarbeiter.telefonklappe, tbl_benutzer.person_id, tbl_benutzer.alias, tbl_person.geburtsnation,
+ tbl_person.sprache, tbl_person.anrede, tbl_person.titelpost, tbl_person.titelpre, tbl_person.nachname, tbl_person.vorname, tbl_person.vornamen,
+ tbl_person.gebdatum, tbl_person.gebort, tbl_person.gebzeit, tbl_person.foto, tbl_mitarbeiter.anmerkung, tbl_person.homepage, tbl_person.svnr,
+ tbl_person.ersatzkennzeichen, tbl_person.geschlecht, tbl_person.familienstand, tbl_person.anzahlkinder, tbl_mitarbeiter.ort_kurzbz, tbl_benutzer.aktiv,
+ tbl_mitarbeiter.bismelden, tbl_mitarbeiter.standort_id, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_mitarbeiter.insertamum,
+ tbl_mitarbeiter.insertvon, tbl_mitarbeiter.ext_id, tbl_benutzer.aktivierungscode,
+ (SELECT kontakt FROM public.tbl_kontakt WHERE person_id=tbl_person.person_id AND kontakttyp='email' ORDER BY zustellung desc Limit 1) as email_privat
+
+ FROM public.tbl_mitarbeiter
+ JOIN public.tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text
+ JOIN public.tbl_person USING (person_id);";
+
+ if(!$db->db_query($qry))
+ echo 'campus.vw_mitarbeiter: '.$db->db_last_error().'
';
+ else
+ echo 'campus.vw_mitarbeiter: Neue Spalten aktivierungscode und email_privat zur View hinzugefuegt';
+}
+// Ampel boolean email
+if(!$result = @$db->db_query("SELECT email FROM public.tbl_ampel"))
+{
+ $qry = "ALTER TABLE public.tbl_ampel ADD COLUMN email boolean DEFAULT false NOT NULL";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_ampel: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_ampel: Neue Spalte email hinzugefügt';
+}
+
+// Fehlender Foreign Key
+if($result = @$db->db_query("SELECT * FROM information_schema.table_constraints WHERE constraint_name='fk_pruefungsanmeldung_pruefungstermin_id'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = 'ALTER TABLE campus.tbl_pruefungsanmeldung ADD CONSTRAINT fk_pruefungsanmeldung_pruefungstermin_id FOREIGN KEY (pruefungstermin_id) REFERENCES campus.tbl_pruefungstermin(pruefungstermin_id) ON DELETE RESTRICT ON UPDATE CASCADE;';
+
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
+ else
+ echo '
campus.tbl_pruefungsanmeldung: Fehlenden Foreign Key zu Pruefungstermin hinzugefügt';
+ }
+}
+// ort_kurzbz bei pruefungstermin
+if(!$result = @$db->db_query("SELECT ort_kurzbz FROM campus.tbl_pruefungstermin"))
+{
+ $qry = "ALTER TABLE campus.tbl_pruefungstermin ADD COLUMN ort_kurzbz varchar(16);
+ ALTER TABLE campus.tbl_pruefungstermin ADD CONSTRAINT fk_pruefungstermin_ort_ort_kurzbz FOREIGN KEY (ort_kurzbz) REFERENCES public.tbl_ort(ort_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungstermin: '.$db->db_last_error().'
';
+ else
+ echo '
campus.tbl_pruefungstermin: Neue Spalte ort_kurzbz hinzugefügt';
+}
+
+// Aufwandstyp bei Projekten
+if(!$result = @$db->db_query("SELECT aufwandstyp_kurzbz FROM fue.tbl_projekt LIMIT 1"))
+{
+ $qry = "
+ CREATE TABLE fue.tbl_aufwandstyp
+ (
+ aufwandstyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(255)
+ );
+
+ ALTER TABLE fue.tbl_aufwandstyp ADD CONSTRAINT pk_aufwandstyp PRIMARY KEY (aufwandstyp_kurzbz);
+ INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('schaetzpunkte','Schätzpunkte');
+ INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('stunden','Stunden');
+ INSERT INTO fue.tbl_aufwandstyp(aufwandstyp_kurzbz, bezeichnung) VALUES('personentage','Personentage');
+
+ ALTER TABLE fue.tbl_projekt ADD COLUMN aufwandstyp_kurzbz varchar(32);
+ ALTER TABLE fue.tbl_projekt ADD CONSTRAINT fk_projekt_aufwandstyp FOREIGN KEY (aufwandstyp_kurzbz) REFERENCES fue.tbl_aufwandstyp(aufwandstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ UPDATE fue.tbl_projekt SET aufwandstyp_kurzbz='schaetzpunkte' WHERE aufwandstyp_kurzbz is null;
+
+ ALTER TABLE fue.tbl_projekt_ressource ADD COLUMN aufwand smallint;
+
+ GRANT SELECT on fue.tbl_aufwandstyp TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'fue.tbl_projekt: '.$db->db_last_error().'
';
+ else
+ echo '
fue.tbl_projekt: aufwandstyp hinzugefuegt';
+}
+
+// Neue Spalten in Tabelle Lehrveranstaltung: SWS, LVS, ALVS, LVPS, LAS
+if(!$result = @$db->db_query("SELECT lvs FROM lehre.tbl_lehrveranstaltung LIMIT 1"))
+{
+ $qry = "
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN sws numeric(5,2);
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvs smallint;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN alvs smallint;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lvps smallint;
+ ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN las smallint;
+ COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.sws IS 'Semesterwochenstunden';
+ COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.lvs IS 'Lehrveranstaltungsstunden';
+ COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.alvs IS 'Angebotene Lehrveranstaltungsstunden';
+ COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.lvps IS 'Lehrveranstaltungsplanstunden Summe';
+ COMMENT ON COLUMN lehre.tbl_lehrveranstaltung.las IS 'Lehrauftragsstunden Summe';
+
+ UPDATE lehre.tbl_lehrveranstaltung SET las=semesterstunden;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo '
lehre.tbl_lehrveranstaltung: neue Spalten sws, lvs,alvs,lvps,las hinzugefuegt';
+}
+
+// Notizzuordnung fuer Lehreinheit
+if(!$result = @$db->db_query("SELECT lehreinheit_id FROM public.tbl_notizzuordnung LIMIT 1"))
+{
+ $qry = "
+ ALTER TABLE public.tbl_notizzuordnung ADD COLUMN lehreinheit_id integer;
+ ALTER TABLE public.tbl_notizzuordnung ADD CONSTRAINT fk_lehreinheit_notizzuordnung FOREIGN KEY (lehreinheit_id) REFERENCES lehre.tbl_lehreinheit(lehreinheit_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_notizzuordnung: neue Spalten lehreinheit_id hinzugefuegt';
+}
+
+
+// Tabelle public.tbl_filter
+if(!$result = @$db->db_query("SELECT filter_id FROM public.tbl_filter LIMIT 1;"))
+{
+ $qry = "CREATE TABLE public.tbl_filter
+ (
+ filter_id bigint,
+ kurzbz character varying(32),
+ sql text,
+ valuename character varying(512),
+ showvalue boolean DEFAULT true,
+ insertamum Timestamp DEFAULT now(),
+ insertvon Character varying(32),
+ updateamum Timestamp DEFAULT now(),
+ updatevon Character varying(32)
+ );
+
+ ALTER TABLE public.tbl_filter ADD CONSTRAINT pk_filter PRIMARY KEY (filter_id);
+
+ CREATE SEQUENCE public.seq_filter_filter_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE public.tbl_filter ALTER COLUMN filter_id SET DEFAULT nextval('public.seq_filter_filter_id');
+
+ GRANT SELECT, UPDATE, INSERT, DELETE ON public.tbl_filter TO vilesci;
+ GRANT SELECT, UPDATE on public.seq_filter_filter_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_filter: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_filter: Tabelle public.tbl_filter hinzugefuegt!
';
+}
+
+// Tabelle lehre.tbl_vertrag
+if(!$result = @$db->db_query("SELECT vertrag_id FROM lehre.tbl_vertrag;"))
+{
+ $qry = "CREATE TABLE lehre.tbl_vertragstyp
+ (
+ vertragstyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE lehre.tbl_vertragstyp ADD CONSTRAINT pk_vertragstyp PRIMARY KEY (vertragstyp_kurzbz);
+
+ CREATE TABLE lehre.tbl_vertragsstatus
+ (
+ vertragsstatus_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE lehre.tbl_vertragsstatus ADD CONSTRAINT pk_vertragstatus PRIMARY KEY (vertragsstatus_kurzbz);
+
+ CREATE TABLE lehre.tbl_vertrag
+ (
+ vertrag_id bigint NOT NULL,
+ person_id bigint NOT NULL,
+ vertragstyp_kurzbz varchar(32),
+ bezeichnung varchar(256),
+ betrag numeric(8,2) NOT NULL,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32),
+ ext_id bigint
+ );
+
+ ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT pk_vertrag PRIMARY KEY (vertrag_id);
+
+ CREATE SEQUENCE lehre.seq_vertrag_vertrag_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_vertrag ALTER COLUMN vertrag_id SET DEFAULT nextval('lehre.seq_vertrag_vertrag_id');
+ ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT fk_person_vertrag FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_vertrag ADD CONSTRAINT fk_vertragstyp_vertrag FOREIGN KEY (vertragstyp_kurzbz) REFERENCES lehre.tbl_vertragstyp(vertragstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+
+ CREATE TABLE lehre.tbl_vertrag_vertragsstatus
+ (
+ vertragsstatus_kurzbz varchar(32) NOT NULL,
+ vertrag_id bigint NOT NULL,
+ uid varchar(32),
+ datum timestamp NOT NULL,
+ ext_id bigint
+ );
+
+ ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT pk_vertrag_vertragstatus PRIMARY KEY (vertragsstatus_kurzbz, vertrag_id);
+ ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_vertrag_vertrag_vertragsstatus FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_benutzer_vertrag_vertragsstatus FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+
+ GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag TO vilesci;
+ GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertragstyp TO vilesci;
+ GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertragsstatus TO vilesci;
+ GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag_vertragsstatus TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_vertrag_vertrag_id TO vilesci;
+
+ GRANT SELECT on lehre.tbl_vertrag TO web;
+ GRANT SELECT on lehre.tbl_vertragstyp TO web;
+ GRANT SELECT on lehre.tbl_vertragsstatus TO web;
+ GRANT SELECT, UPDATE, INSERT, DELETE on lehre.tbl_vertrag_vertragsstatus TO web;
+
+ ALTER TABLE lehre.tbl_lehreinheitmitarbeiter ADD COLUMN vertrag_id bigint;
+ ALTER TABLE lehre.tbl_lehreinheitmitarbeiter ADD CONSTRAINT fk_vertrag_lehreinheitmitarbeiter FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ ALTER TABLE lehre.tbl_projektbetreuer ADD COLUMN vertrag_id bigint;
+ ALTER TABLE lehre.tbl_projektbetreuer ADD CONSTRAINT fk_vertrag_projektbetreuer FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ ";
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag: Tabelle lehre.tbl_vertrag hinzugefuegt!
';
+}
+
+// Tabelle wawi.tbl_buchung
+if(!$result = @$db->db_query("SELECT buchung_id FROM wawi.tbl_buchung;"))
+{
+ $qry = "CREATE TABLE wawi.tbl_buchungstyp
+ (
+ buchungstyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE wawi.tbl_buchungstyp ADD CONSTRAINT pk_buchungstyp PRIMARY KEY (buchungstyp_kurzbz);
+
+ CREATE TABLE wawi.tbl_buchung
+ (
+ buchung_id bigint NOT NULL,
+ konto_id bigint NOT NULL,
+ kostenstelle_id bigint,
+ buchungstyp_kurzbz varchar(32) NOT NULL,
+ buchungsdatum date,
+ buchungstext varchar(512),
+ betrag numeric(8,2) NOT NULL,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT pk_buchung PRIMARY KEY (buchung_id);
+
+ CREATE SEQUENCE wawi.seq_buchung_buchung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE wawi.tbl_buchung ALTER COLUMN buchung_id SET DEFAULT nextval('wawi.seq_buchung_buchung_id');
+ ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_konto_buchung FOREIGN KEY (konto_id) REFERENCES wawi.tbl_konto(konto_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_kostenstelle_buchung FOREIGN KEY (kostenstelle_id) REFERENCES wawi.tbl_kostenstelle(kostenstelle_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE wawi.tbl_buchung ADD CONSTRAINT fk_buchungstyp_buchung FOREIGN KEY (buchungstyp_kurzbz) REFERENCES wawi.tbl_buchungstyp(buchungstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE on wawi.tbl_buchungstyp TO vilesci;
+ GRANT SELECT, UPDATE, INSERT, DELETE on wawi.tbl_buchung TO vilesci;
+ GRANT SELECT, UPDATE ON wawi.seq_buchung_buchung_id TO vilesci;
+
+
+ ALTER TABLE wawi.tbl_konto ADD COLUMN person_id bigint;
+ ALTER TABLE wawi.tbl_konto ADD CONSTRAINT fk_person_konto FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ ";
+ if(!$db->db_query($qry))
+ echo 'wawi.tbl_buchung: '.$db->db_last_error().'
';
+ else
+ echo ' wawi.tbl_buchung: Tabelle wawi.tbl_buchung hinzugefuegt!
';
+}
+
+// Tabelle campus.tbl_anwesenheit
+if(!$result = @$db->db_query("SELECT anwesenheit_id FROM campus.tbl_anwesenheit"))
+{
+ $qry = "CREATE TABLE campus.tbl_anwesenheit
+ (
+ anwesenheit_id bigint NOT NULL,
+ uid varchar(32) NOT NULL,
+ einheiten numeric(3,1),
+ datum date NOT NULL,
+ anwesend boolean NOT NULL,
+ lehreinheit_id bigint
+ );
+
+ ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT pk_anwesenheit PRIMARY KEY (anwesenheit_id);
+
+ CREATE SEQUENCE campus.seq_anwesenheit_anwesenheit_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_anwesenheit ALTER COLUMN anwesenheit_id SET DEFAULT nextval('campus.seq_anwesenheit_anwesenheit_id');
+ ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT fk_benutzer_anwesenheit FOREIGN KEY (uid) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_anwesenheit ADD CONSTRAINT fk_lehreinheit_anwesenheit FOREIGN KEY (lehreinheit_id) REFERENCES lehre.tbl_lehreinheit(lehreinheit_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, UPDATE, INSERT, DELETE on campus.tbl_anwesenheit TO vilesci;
+ GRANT SELECT, UPDATE ON campus.seq_anwesenheit_anwesenheit_id TO vilesci;
+
+ ";
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_anwesenheit '.$db->db_last_error().'
';
+ else
+ echo ' campus.tbl_anwesenheit: Tabelle campus.tbl_anwesenheit hinzugefuegt!
';
+}
+
+// Tabelle public.tbl_benutzerfunktion Spalte wochenstunden
+if(!$result = @$db->db_query("SELECT wochenstunden FROM public.tbl_benutzerfunktion"))
+{
+ $qry = "ALTER TABLE public.tbl_benutzerfunktion ADD COLUMN wochenstunden numeric(5,2);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_benutzerfunktion '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_benutzerfunktion: Spalte wochenstunden hinzugefuegt!
';
+}
+
+// Tabelle public.tbl_anwesenheit Spalte anmerkung
+if(!$result = @$db->db_query("SELECT anmerkung FROM campus.tbl_anwesenheit"))
+{
+ $qry = "ALTER TABLE campus.tbl_anwesenheit ADD COLUMN anmerkung varchar(256);
+ ALTER TABLE campus.tbl_anwesenheit ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_anwesenheit '.$db->db_last_error().'
';
+ else
+ echo ' campus.tbl_anwesenheit: Spalte anmerkung, ext_id hinzugefuegt!
';
+}
+
+// Spalte publish Tabelle public.tbl_statistik
+if(!$result = @$db->db_query("SELECT publish FROM public.tbl_statistik LIMIT 1;"))
+{
+ $qry = 'ALTER TABLE public.tbl_statistik ADD COLUMN publish boolean DEFAULT false;';
+ if(!$db->db_query($qry))
+ echo 'public.tbl_statistik: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_statistik: Spalte publish hinzugefuegt!
';
+}
+
+// Spalte fgm, faktiv Tabelle public.tbl_prestudentstatus
+if(!$result = @$db->db_query("SELECT fgm FROM public.tbl_prestudentstatus LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN fgm smallint;
+ ALTER TABLE public.tbl_prestudentstatus ADD COLUMN faktiv boolean DEFAULT false;
+ COMMENT ON COLUMN public.tbl_prestudentstatus.fgm IS 'Foerder-Guthaben-Monate';
+ COMMENT ON COLUMN public.tbl_prestudentstatus.faktiv IS 'FÖBIS-Aktiv';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_prestudentstatus: Spalte fgm und faktiv hinzugefuegt!
';
+}
+
+// Spalte type und htmlattr Tabelle public.tbl_filter
+if(!$result = @$db->db_query("SELECT type FROM public.tbl_filter LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_filter ADD COLUMN type varchar(256);
+ ALTER TABLE public.tbl_filter ADD COLUMN htmlattr text;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_filter: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_filter: Spalte type und htmlattr hinzugefuegt!
';
+}
+
+// Tabelle Aufnahmetermin und Aufnahmetermintyp
+if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_aufnahmetermin LIMIT 1;"))
+{
+ $qry = "
+ CREATE TABLE public.tbl_aufnahmetermin
+ (
+ aufnahmetermin_id bigint NOT NULL,
+ aufnahmetermintyp_kurzbz varchar(32) NOT NULL,
+ prestudent_id integer NOT NULL,
+ termin timestamp,
+ teilgenommen boolean NOT NULL,
+ bewertung text,
+ protokoll text,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32),
+ ext_id bigint
+ );
+ COMMENT ON TABLE public.tbl_aufnahmetermin IS 'Termine fuer Erstgespraeche, Reihungstests, Inskriptionstermine, etc';
+
+ ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT pk_aufnahmetermin PRIMARY KEY (aufnahmetermin_id);
+ CREATE SEQUENCE public.seq_aufnahmetermin_aufnahmetermin_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE public.tbl_aufnahmetermin ALTER COLUMN aufnahmetermin_id SET DEFAULT nextval('public.seq_aufnahmetermin_aufnahmetermin_id');
+ ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT fk_aufnahmetermin_prestudent FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent(prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ CREATE TABLE public.tbl_aufnahmetermintyp
+ (
+ aufnahmetermintyp_kurzbz Character varying(32) NOT NULL,
+ bezeichnung Character varying(256)
+ );
+
+ ALTER TABLE public.tbl_aufnahmetermintyp ADD CONSTRAINT pk_aufnahmetermintyp PRIMARY KEY (aufnahmetermintyp_kurzbz);
+ ALTER TABLE public.tbl_aufnahmetermin ADD CONSTRAINT fk_aufnahmetermin_aufnahmetermintyp FOREIGN KEY (aufnahmetermintyp_kurzbz) REFERENCES public.tbl_aufnahmetermintyp(aufnahmetermintyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_aufnahmetermin TO vilesci;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_aufnahmetermintyp TO vilesci;
+ GRANT SELECT, UPDATE ON public.seq_aufnahmetermin_aufnahmetermin_id TO vilesci;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_aufnahmetermin: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_aufnahmetermin: Tabelle public.tbl_aufnahmetermin und public.tbl_aufnahmetermintyp hinzugefuegt!
';
+}
+
+// Spalte dv_art Tabelle bis.tbl_bisverwendung
+if(!$result = @$db->db_query("SELECT dv_art FROM bis.tbl_bisverwendung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN dv_art varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'bis.tbl_bisverwendung: '.$db->db_last_error().'
';
+ else
+ echo ' bis.tbl_bisverwendung: Spalte dv_art hinzugefuegt!
';
+}
+
+// Spalte mentor Tabelle public.tbl_prestudent
+if(!$result = @$db->db_query("SELECT mentor FROM public.tbl_prestudent LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN mentor varchar(256);";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudent: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_prestudent: Spalte mentor hinzugefuegt!
';
+}
+
+// Spalte ext_id Tabelle lehre.tbl_stundenplandev
+if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_stundenplandev LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_stundenplandev ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_stundenplandev: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_stundenplandev: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id Tabelle public.tbl_notiz
+if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_notiz LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_notiz ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_notiz: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_notiz: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id Tabelle public.tbl_notizzuordnung
+if(!$result = @$db->db_query("SELECT ext_id FROM public.tbl_notizzuordnung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_notizzuordnung ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_notizzuordnung: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id Tabelle wawi.tbl_konto
+if(!$result = @$db->db_query("SELECT ext_id FROM wawi.tbl_konto LIMIT 1;"))
+{
+ $qry = "ALTER TABLE wawi.tbl_konto ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'wawi.tbl_konto: '.$db->db_last_error().'
';
+ else
+ echo ' wawi.tbl_konto: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte vertrag_id Tabelle lehre.tbl_pruefung
+if(!$result = @$db->db_query("SELECT vertrag_id FROM lehre.tbl_pruefung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN vertrag_id bigint;
+ ALTER TABLE lehre.tbl_pruefung ADD CONSTRAINT fk_pruefung_vertrag FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_pruefung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_pruefung: Spalte vertrag_id hinzugefuegt!
';
+}
+
+// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN sort integer;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte sort hinzugefuegt!
';
+}
+
+// Spalte studienjahr_kurzbz in public.tbl_studiensemester
+if(!$result = @$db->db_query("SELECT studienjahr_kurzbz FROM public.tbl_studiensemester LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_studiensemester ADD COLUMN studienjahr_kurzbz varchar(16);";
+ if(!$db->db_query($qry))
+ echo 'public.tbl_studiensemester: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_studiensemester: Spalte studienjahr_kurzbz hinzugefuegt!
';
+}
+
+// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
+if($result = $db->db_query("select * from information_schema.key_column_usage where constraint_name='fk_vertragsstatus_vertrag_vertragsstatus'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD CONSTRAINT fk_vertragsstatus_vertrag_vertragsstatus FOREIGN KEY (vertragsstatus_kurzbz) REFERENCES lehre.tbl_vertragsstatus(vertragsstatus_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag_vertragsstatus: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag_vertragsstatus: fehlenden FK hinzugefuegt!
';
+ }
+}
+
+// Spalte sort in fue.tbl_aktivitaet
+if(!$result = @$db->db_query("SELECT sort FROM fue.tbl_aktivitaet LIMIT 1;"))
+{
+ $qry = "ALTER TABLE fue.tbl_aktivitaet ADD COLUMN sort integer;";
+ if(!$db->db_query($qry))
+ echo 'fue.tbl_aktivitaet: '.$db->db_last_error().'
';
+ else
+ echo ' fue.tbl_aktivitaet: Spalte sort hinzugefuegt!
';
+}
+
+// Tabelle testtool.tbl_ablauf_vorgaben
+if(!$result = @$db->db_query("SELECT 1 FROM testtool.tbl_ablauf_vorgaben LIMIT 1;"))
+{
+ $qry = "
+ CREATE TABLE testtool.tbl_ablauf_vorgaben
+ (
+ ablauf_vorgaben_id integer NOT NULL,
+ studiengang_kz integer NOT NULL,
+ sprache varchar(16),
+ sprachwahl boolean NOT NULL,
+ content_id bigint,
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+ COMMENT ON TABLE testtool.tbl_ablauf_vorgaben IS 'Einstellungen und Variablen fuer den Ablauf der Gebiete';
+ COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.content_id IS 'Einfuehrungsseite aus dem CMS';
+ COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprache IS 'Sprache, in der die Fragen gestellt werden';
+ COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprachwahl IS 'Soll der Pruefling die Sprache der Testfragen aendern koennen?';
+
+ ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT pk_ablauf_vorgaben PRIMARY KEY (ablauf_vorgaben_id);
+ CREATE SEQUENCE testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE testtool.tbl_ablauf_vorgaben ALTER COLUMN ablauf_vorgaben_id SET DEFAULT nextval('testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq');
+ ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_sprache FOREIGN KEY (sprache) REFERENCES public.tbl_sprache(sprache) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_content_id FOREIGN KEY (content_id) REFERENCES campus.tbl_content(content_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO vilesci;
+ GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO vilesci;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO web;
+ GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO web;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'testtool.tbl_ablauf_vorgaben: '.$db->db_last_error().'
';
+ else
+ echo 'testtool.tbl_ablauf_vorgaben: Tabelle und Sequenz hinzugefuegt!
';
+}
+
+// Vorgaben fuer Testtool Ablauf
+if(!$result = @$db->db_query("SELECT ablauf_vorgaben_id FROM testtool.tbl_ablauf LIMIT 1"))
+{
+ $qry = "
+ ALTER TABLE testtool.tbl_ablauf ADD COLUMN ablauf_vorgaben_id integer;
+ ALTER TABLE testtool.tbl_ablauf ADD CONSTRAINT fk_ablauf_vorgaben_id FOREIGN KEY (ablauf_vorgaben_id) REFERENCES testtool.tbl_ablauf_vorgaben(ablauf_vorgaben_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ INSERT INTO testtool.tbl_ablauf_vorgaben(studiengang_kz, sprache, sprachwahl) SELECT studiengang_kz, sprache, testtool_sprachwahl FROM public.tbl_studiengang;
+ UPDATE testtool.tbl_ablauf SET ablauf_vorgaben_id = (SELECT ablauf_vorgaben_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=tbl_ablauf.studiengang_kz);
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'testtool.tbl_ablauf: '.$db->db_last_error().'
';
+ else
+ echo 'testtool.tbl_ablauf: Neue Spalte ablauf_vorgaben_id hinzugefuegt
';
+}
+
+// Spalte preferences in public.tbl_statistik
+if(!$result = @$db->db_query("SELECT preferences FROM public.tbl_statistik LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_statistik ADD COLUMN preferences text;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_statistik: '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_statistik: Neue Spalte preferences hinzugefuegt
';
+}
+// Spalte anmerkung in lehre.tbl_vertrag
+if(!$result = @$db->db_query("SELECT anmerkung FROM lehre.tbl_vertrag LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag ADD COLUMN anmerkung text;";
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag: Spalte anmerkung hinzugefuegt!
';
+}
+// Spalte vertragsdatum in lehre.tbl_vertrag
+if(!$result = @$db->db_query("SELECT vertragsdatum FROM lehre.tbl_vertrag LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag ADD COLUMN vertragsdatum date;";
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag: Spalte vertragsdatum hinzugefuegt!
';
+}
+
+// Spalte anmerkung in system.tbl_benutzerrolle
+if(!$result = @$db->db_query("SELECT anmerkung FROM system.tbl_benutzerrolle LIMIT 1"))
+{
+ $qry = "ALTER TABLE system.tbl_benutzerrolle ADD COLUMN anmerkung varchar(256);";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_benutzerrolle '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_benutzerrolle: Spalte anmerkung hinzugefuegt!
';
+}
+
+// Spalte anmerkung in Tabelle lehre.tbl_pruefung
+if(!$result = @$db->db_query("SELECT anmerkung FROM lehre.tbl_pruefung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN anmerkung text;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_pruefung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_pruefung: Spalte anmerkung hinzugefuegt!
';
+}
+
+// Spalte max_teilnehmer in public.tbl_reihungstest
+if(!$result = @$db->db_query("SELECT max_teilnehmer FROM public.tbl_reihungstest LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN max_teilnehmer integer;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_reihungstest: Spalte max_teilnehmer hinzugefuegt!
';
+}
+
+// Spalte oeffentlich in public.tbl_reihungstest
+if(!$result = @$db->db_query("SELECT oeffentlich FROM public.tbl_reihungstest LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN oeffentlich boolean NOT NULL DEFAULT FALSE;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_reihungstest: Spalte oeffentlich hinzugefuegt!
';
+}
+
+// Spalte insertvon in lehre.tbl_vertrag_vertragsstatus
+if(!$result = @$db->db_query("SELECT insertvon FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN insertvon varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag_vertragsstatus: Spalte insertvon hinzugefuegt!
';
+}
+
+// Spalte updatevon in lehre.tbl_vertrag_vertragsstatus
+if(!$result = @$db->db_query("SELECT updatevon FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN updatevon varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag_vertragsstatus: Spalte updatevon hinzugefuegt!
';
+}
+
+// Spalte insertamum in lehre.tbl_vertrag_vertragsstatus
+if(!$result = @$db->db_query("SELECT insertamum FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN insertamum timestamp without time zone DEFAULT now();";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag_vertragsstatus: Spalte insertamum hinzugefuegt!
';
+}
+
+// Spalte updateamum in lehre.tbl_vertrag_vertragsstatus
+if(!$result = @$db->db_query("SELECT updateamum FROM lehre.tbl_vertrag_vertragsstatus LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_vertrag_vertragsstatus ADD COLUMN updateamum timestamp without time zone;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_vertrag_vertragsstatus '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_vertrag_vertragsstatus: Spalte updateamum hinzugefuegt!
';
+}
+
+// Notenschluessel
+if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_notenschluessel LIMIT 1;"))
+{
+ $qry = "
+
+ CREATE TABLE lehre.tbl_notenschluessel
+ (
+ notenschluessel_kurzbz varchar(32),
+ bezeichnung varchar(256)
+ );
+
+ ALTER TABLE lehre.tbl_notenschluessel ADD CONSTRAINT pk_notenschluessel PRIMARY KEY (notenschluessel_kurzbz);
+
+ CREATE TABLE lehre.tbl_notenschluesselaufteilung
+ (
+ notenschluesselaufteilung_id bigint,
+ notenschluessel_kurzbz varchar(32),
+ note smallint,
+ punkte numeric(8,4)
+ );
+
+ ALTER TABLE lehre.tbl_notenschluesselaufteilung ADD CONSTRAINT pk_notenschluesselaufteilung PRIMARY KEY (notenschluesselaufteilung_id);
+
+ CREATE SEQUENCE lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_notenschluesselaufteilung ALTER COLUMN notenschluesselaufteilung_id SET DEFAULT nextval('lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id');
+ ALTER TABLE lehre.tbl_notenschluesselaufteilung ADD CONSTRAINT fk_notenschluesselaufteilung_notenschluessel FOREIGN KEY (notenschluessel_kurzbz) REFERENCES lehre.tbl_notenschluessel(notenschluessel_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ CREATE TABLE lehre.tbl_notenschluesselzuordnung
+ (
+ notenschluesselzuordnung_id bigint,
+ notenschluessel_kurzbz varchar(32),
+ lehrveranstaltung_id integer,
+ studienplan_id integer,
+ oe_kurzbz varchar(32),
+ studiensemester_kurzbz varchar(16)
+ );
+
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT pk_notenschluesselzuordnung PRIMARY KEY (notenschluesselzuordnung_id);
+ CREATE SEQUENCE lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ALTER COLUMN notenschluesselzuordnung_id SET DEFAULT nextval('lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id');
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_notenschluessel FOREIGN KEY (notenschluessel_kurzbz) REFERENCES lehre.tbl_notenschluessel(notenschluessel_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_lehrveranstaltung FOREIGN KEY (lehrveranstaltung_id) REFERENCES lehre.tbl_lehrveranstaltung(lehrveranstaltung_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_studienplan FOREIGN KEY (studienplan_id) REFERENCES lehre.tbl_studienplan(studienplan_id) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE lehre.tbl_notenschluesselzuordnung ADD CONSTRAINT fk_notenschluesselzuordnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ ALTER TABLE lehre.tbl_note ADD COLUMN notenwert smallint;
+ ALTER TABLE lehre.tbl_note ADD COLUMN aktiv boolean NOT NULL DEFAULT true;
+ ALTER TABLE lehre.tbl_note ADD COLUMN lehre boolean NOT NULL DEFAULT true;
+
+ ALTER TABLE lehre.tbl_zeugnisnote ADD COLUMN punkte numeric(8,4);
+ ALTER TABLE campus.tbl_lvgesamtnote ADD COLUMN punkte numeric(8,4);
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluessel TO vilesci;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluesselzuordnung TO vilesci;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_notenschluesselaufteilung TO vilesci;
+
+ GRANT SELECT ON lehre.tbl_notenschluessel TO web;
+ GRANT SELECT ON lehre.tbl_notenschluesselzuordnung TO web;
+ GRANT SELECT ON lehre.tbl_notenschluesselaufteilung TO web;
+
+ GRANT SELECT, UPDATE ON lehre.seq_notenschluesselzuordnung_notenschluesselzuordnung_id TO vilesci;
+ GRANT SELECT, UPDATE ON lehre.seq_notenschluesselaufteilung_notenschluesselaufteilung_id TO vilesci;
+ ";
+ if(!$db->db_query($qry))
+ echo 'Noten: '.$db->db_last_error().'
';
+ else
+ echo ' Tabellen fuer Notenspiegel hinzugefuegt!
';
+}
+
+// Eigene Berechtigung fuer Tempus / FAS / Planner
+if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='basis/fas' LIMIT 1"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = "
+ INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/fas','FAS Zugriff');
+ INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/tempus','Tempus Zugriff');
+ INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('basis/planner','Planner Zugriff');
+
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fas','assistenz','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/fas','admin','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/tempus','lv-plan','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/tempus','admin','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/planner','admin','suid');
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_berechtigung '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer FAS / Tempus / Planner hinzugefuegt!
';
+ }
+}
+
+// Spalte oeffentlich in public.tbl_reihungstest
+if(!$result = @$db->db_query("SELECT oeffentlich FROM public.tbl_reihungstest LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN oeffentlich boolean NOT NULL DEFAULT FALSE;";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_reihungstest '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_reihungstest: Spalte oeffentlich hinzugefuegt!
';
+}
+
+// BIS-Archiv
+if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_archiv LIMIT 1;"))
+{
+ $qry = "
+
+ CREATE TABLE bis.tbl_archiv
+ (
+ archiv_id integer,
+ studiensemester_kurzbz varchar(6),
+ meldung xml,
+ html text,
+ studiengang_kz bigint,
+ insertamum timestamp,
+ insertvon varchar(32),
+ typ varchar(16)
+ );
+
+ ALTER TABLE bis.tbl_archiv ADD CONSTRAINT pk_archiv PRIMARY KEY (archiv_id);
+
+ CREATE SEQUENCE bis.seq_archiv_archiv_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE bis.tbl_archiv ALTER COLUMN archiv_id SET DEFAULT nextval('bis.seq_archiv_archiv_id');
+ ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_archiv_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_archiv_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE bis.tbl_archiv ADD CONSTRAINT fk_benutzer_archiv FOREIGN KEY (insertvon) REFERENCES public.tbl_benutzer(uid) ON DELETE RESTRICT ON UPDATE CASCADE;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_archiv TO vilesci;
+ GRANT SELECT, UPDATE ON bis.seq_archiv_archiv_id TO vilesci;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_archiv TO web;
+ GRANT SELECT, UPDATE ON bis.seq_archiv_archiv_id TO web;
+ ";
+ if(!$db->db_query($qry))
+ echo 'BIS-Archiv: '.$db->db_last_error().'
';
+ else
+ echo ' Tabellen fuer BIS-Archiv hinzugefuegt!
';
+}
+
+// Spalte ext_id in lehre.tbl_studienplan_lehrveranstaltung
+if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplan_lehrveranstaltung ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan_lehrveranstaltung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id in lehre.tbl_studienordnung
+if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienordnung LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienordnung ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienordnung: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienordnung: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id in lehre.tbl_studienplan
+if(!$result = @$db->db_query("SELECT ext_id FROM lehre.tbl_studienplan LIMIT 1;"))
+{
+ $qry = "ALTER TABLE lehre.tbl_studienplan ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_studienplan: '.$db->db_last_error().'
';
+ else
+ echo ' lehre.tbl_studienplan: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte ext_id in campus.tbl_lvgesamtnote
+if(!$result = @$db->db_query("SELECT ext_id FROM campus.tbl_lvgesamtnote LIMIT 1;"))
+{
+ $qry = "ALTER TABLE campus.tbl_lvgesamtnote ADD COLUMN ext_id bigint;";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_lvgesamtnote: '.$db->db_last_error().'
';
+ else
+ echo ' campus.tbl_lvgesamtnote: Spalte ext_id hinzugefuegt!
';
+}
+
+// Spalte oe_kurzbz, m2, gebteil in public.tbl_ort
+if(!$result = @$db->db_query("SELECT oe_kurzbz FROM public.tbl_ort LIMIT 1;"))
+{
+ $qry = "ALTER TABLE public.tbl_ort ADD COLUMN m2 numeric(8,2);
+ ALTER TABLE public.tbl_ort ADD COLUMN gebteil varchar(32);
+ ALTER TABLE public.tbl_ort ADD COLUMN oe_kurzbz varchar(32);
+
+ COMMENT ON COLUMN public.tbl_ort.m2 IS 'Quadratmeter';
+ COMMENT ON COLUMN public.tbl_ort.m2 IS 'Gebaeudeteil';
+ ALTER TABLE public.tbl_ort ADD CONSTRAINT fk_ort_organisationseinheit FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_ort: '.$db->db_last_error().'
';
+ else
+ echo ' public.tbl_ort: Spalte m2, gebteil, oe_kurzbz hinzugefuegt!
';
+}
+
+// Eigene Berechtigung fuer Noten
+if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='student/noten' LIMIT 1"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = "
+ INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/noten','FAS Zugriff');
+
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/noten','assistenz','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('student/noten','admin','suid');
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_berechtigung '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer Notenverwaltung im FAS hinzugefuegt student/noten!
';
+ }
+}
+
+// Punkte bei Pruefungen
+if(!$result = @$db->db_query("SELECT punkte FROM lehre.tbl_pruefung LIMIT 1"))
+{
+ $qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN punkte numeric(8,4)";
+
+ if(!$db->db_query($qry))
+ echo 'lehre.tbl_pruefung '.$db->db_last_error().'
';
+ else
+ echo 'lehre.tbl_pruefung: Spalte Punkte hinzugefuegt!
';
+}
+
+// Anmerkung bei prestudent
+if(!$result = @$db->db_query("SELECT anmerkung FROM public.tbl_prestudentstatus LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_prestudentstatus ADD COLUMN anmerkung text";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_prestudentstatus '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_prestudentstatus: Spalte "anmerkung" hinzugefuegt!
';
+}
+
+// Spalte Anwesenheit in tbl_lvinfo
+if(!$result = @$db->db_query("SELECT anwesenheit FROM campus.tbl_lvinfo LIMIT 1"))
+{
+ $qry = "ALTER TABLE campus.tbl_lvinfo ADD COLUMN anwesenheit text";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_lvinfo '.$db->db_last_error().'
';
+ else
+ echo 'campus.tbl_lvinfo: Spalte "anwesenheit" hinzugefuegt!
';
+}
+
+// Notizzuordnung fuer Anrechnung
+if(!$result = @$db->db_query("SELECT anrechnung_id FROM public.tbl_notizzuordnung LIMIT 1"))
+{
+ $qry = "
+ ALTER TABLE public.tbl_notizzuordnung ADD COLUMN anrechnung_id integer;
+ ALTER TABLE public.tbl_notizzuordnung ADD CONSTRAINT fk_anrechnung_notizzuordnung FOREIGN KEY (anrechnung_id) REFERENCES lehre.tbl_anrechnung(anrechnung_id) ON DELETE CASCADE ON UPDATE CASCADE;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_notizzuordnung: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_notizzuordnung: neue Spalten anrechnung_id hinzugefuegt';
+}
+
+echo '
';
+
+$tabellen=array(
+ "bis.tbl_archiv" => array("archiv_id","studiensemester_kurzbz","meldung","html","studiengang_kz","insertamum","insertvon","typ"),
+ "bis.tbl_ausbildung" => array("ausbildungcode","ausbildungbez","ausbildungbeschreibung"),
+ "bis.tbl_berufstaetigkeit" => array("berufstaetigkeit_code","berufstaetigkeit_bez","berufstaetigkeit_kurzbz"),
+ "bis.tbl_beschaeftigungsart1" => array("ba1code","ba1bez","ba1kurzbz"),
+ "bis.tbl_beschaeftigungsart2" => array("ba2code","ba2bez"),
+ "bis.tbl_beschaeftigungsausmass" => array("beschausmasscode","beschausmassbez","min","max"),
+ "bis.tbl_besqual" => array("besqualcode","besqualbez"),
+ "bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
+ "bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art"),
+ "bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
+ "bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
+ "bis.tbl_hauptberuf" => array("hauptberufcode","bezeichnung"),
+ "bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung"),
+ "bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
+ "bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
+ "bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle"),
+ "bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
+ "bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz"),
+ "bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz"),
+ "bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
+ "bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz"),
+ "campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
+ "campus.tbl_anwesenheit" => array("anwesenheit_id","uid","einheiten","datum","anwesend","lehreinheit_id","anmerkung","ext_id"),
+ "campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_benutzerlvstudiensemester" => array("uid","studiensemester_kurzbz","lehrveranstaltung_id"),
+ "campus.tbl_content" => array("content_id","template_kurzbz","updatevon","updateamum","insertamum","insertvon","oe_kurzbz","menu_open","aktiv","beschreibung"),
+ "campus.tbl_contentchild" => array("contentchild_id","content_id","child_content_id","updatevon","updateamum","insertamum","insertvon","sort"),
+ "campus.tbl_contentgruppe" => array("content_id","gruppe_kurzbz","insertamum","insertvon"),
+ "campus.tbl_contentlog" => array("contentlog_id","contentsprache_id","uid","start","ende"),
+ "campus.tbl_contentsprache" => array("contentsprache_id","content_id","sprache","version","sichtbar","content","reviewvon","reviewamum","updateamum","updatevon","insertamum","insertvon","titel","gesperrt_uid"),
+ "campus.tbl_coodle" => array("coodle_id","titel","beschreibung","coodle_status_kurzbz","dauer","endedatum","insertamum","insertvon","updateamum","updatevon","ersteller_uid"),
+ "campus.tbl_coodle_ressource" => array("coodle_ressource_id","coodle_id","uid","ort_kurzbz","email","name","zugangscode","insertamum","insertvon","updateamum","updatevon"),
+ "campus.tbl_coodle_termin" => array("coodle_termin_id","coodle_id","datum","uhrzeit","auswahl"),
+ "campus.tbl_coodle_ressource_termin" => array("coodle_ressource_id","coodle_termin_id","insertamum","insertvon"),
+ "campus.tbl_coodle_status" => array("coodle_status_kurzbz","bezeichnung"),
+ "campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"),
+ "campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz"),
+ "campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"),
+ "campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
+ "campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
+ "campus.tbl_freebusytyp" => array("freebusytyp_kurzbz","bezeichnung","beschreibung","url_vorlage"),
+ "campus.tbl_infoscreen" => array("infoscreen_id","bezeichnung","beschreibung","ipadresse"),
+ "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit"),
+ "campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_lehre_tools" => array("lehre_tools_id","bezeichnung","kurzbz","basis_url","logo_dms_id"),
+ "campus.tbl_lehre_tools_organisationseinheit" => array("lehre_tools_id","oe_kurzbz","aktiv"),
+ "campus.tbl_lehrveranstaltung_pruefung" => array("lehrveranstaltung_pruefung_id","lehrveranstaltung_id","pruefung_id"),
+ "campus.tbl_lvgesamtnote" => array("lehrveranstaltung_id","studiensemester_kurzbz","student_uid","note","mitarbeiter_uid","benotungsdatum","freigabedatum","freigabevon_uid","bemerkung","updateamum","updatevon","insertamum","insertvon","punkte","ext_id"),
+ "campus.tbl_lvinfo" => array("lehrveranstaltung_id","sprache","titel","lehrziele","lehrinhalte","methodik","voraussetzungen","unterlagen","pruefungsordnung","anmerkung","kurzbeschreibung","genehmigt","aktiv","updateamum","updatevon","insertamum","insertvon","anwesenheit"),
+ "campus.tbl_news" => array("news_id","uid","studiengang_kz","fachbereich_kurzbz","semester","betreff","text","datum","verfasser","updateamum","updatevon","insertamum","insertvon","datum_bis","content_id"),
+ "campus.tbl_notenschluessel" => array("lehreinheit_id","note","punkte"),
+ "campus.tbl_notenschluesseluebung" => array("uebung_id","note","punkte"),
+ "campus.tbl_paabgabetyp" => array("paabgabetyp_kurzbz","bezeichnung"),
+ "campus.tbl_paabgabe" => array("paabgabe_id","projektarbeit_id","paabgabetyp_kurzbz","fixtermin","datum","kurzbz","abgabedatum", "insertvon","insertamum","updatevon","updateamum"),
+ "campus.tbl_pruefungsfenster" => array("pruefungsfenster_id","studiensemester_kurzbz","oe_kurzbz","start","ende"),
+ "campus.tbl_pruefung" => array("pruefung_id","mitarbeiter_uid","studiensemester_kurzbz","pruefungsfenster_id","pruefungstyp_kurzbz","titel","beschreibung","methode","einzeln","storniert","insertvon","insertamum","updatevon","updateamum","pruefungsintervall"),
+ "campus.tbl_pruefungstermin" => array("pruefungstermin_id","pruefung_id","von","bis","teilnehmer_max","teilnehmer_min","anmeldung_von","anmeldung_bis","ort_kurzbz","sammelklausur"),
+ "campus.tbl_pruefungsanmeldung" => array("pruefungsanmeldung_id","uid","pruefungstermin_id","lehrveranstaltung_id","status_kurzbz","wuensche","reihung","kommentar","statusupdatevon","statusupdateamum"),
+ "campus.tbl_pruefungsstatus" => array("status_kurzbz","bezeichnung"),
+ "campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"),
+ "campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"),
+ "campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"),
+ "campus.tbl_uebung" => array("uebung_id","gewicht","punkte","angabedatei","freigabevon","freigabebis","abgabe","beispiele","statistik","bezeichnung","positiv","defaultbemerkung","lehreinheit_id","maxstd","maxbsp","liste_id","prozent","nummer","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_veranstaltung" => array("veranstaltung_id","titel","beschreibung","veranstaltungskategorie_kurzbz","inhalt","start","ende","freigabevon","freigabeamum","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_veranstaltungskategorie" => array("veranstaltungskategorie_kurzbz","bezeichnung","bild","farbe"),
+ "campus.tbl_zeitaufzeichnung" => array("zeitaufzeichnung_id","uid","aktivitaet_kurzbz","projekt_kurzbz","start","ende","beschreibung","oe_kurzbz_1","oe_kurzbz_2","insertamum","insertvon","updateamum","updatevon","ext_id","service_id","kunde_uid"),
+ "campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"),
+ "campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"),
+ "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"),
+ "fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"),
+ "fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"),
+ "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz"),
+ "fue.tbl_projektphase" => array("projektphase_id","projekt_kurzbz","projektphase_fk","bezeichnung","beschreibung","start","ende","budget","insertamum","insertvon","updateamum","updatevon","personentage","farbe"),
+ "fue.tbl_projekttask" => array("projekttask_id","projektphase_id","bezeichnung","beschreibung","aufwand","mantis_id","insertamum","insertvon","updateamum","updatevon","projekttask_fk","erledigt","ende","ressource_id","scrumsprint_id"),
+ "fue.tbl_projekt_dokument" => array("projekt_dokument_id","projektphase_id","projekt_kurzbz","dms_id"),
+ "fue.tbl_projekt_ressource" => array("projekt_ressource_id","projekt_kurzbz","projektphase_id","ressource_id","funktion_kurzbz","beschreibung","aufwand"),
+ "fue.tbl_ressource" => array("ressource_id","student_uid","mitarbeiter_uid","betriebsmittel_id","firma_id","bezeichnung","beschreibung","insertamum","insertvon","updateamum","updatevon"),
+ "fue.tbl_scrumteam" => array("scrumteam_kurzbz","bezeichnung","punkteprosprint","tasksprosprint","gruppe_kurzbz"),
+ "fue.tbl_scrumsprint" => array("scrumsprint_id","scrumteam_kurzbz","sprint_kurzbz","sprintstart","sprintende","insertamum","insertvon","updateamum","updatevon"),
+ "kommune.tbl_match" => array("match_id","team_sieger","wettbewerb_kurzbz","team_gefordert","team_forderer","gefordertvon","gefordertamum","matchdatumzeit","matchort","matchbestaetigtvon","matchbestaetigtamum","ergebniss","bestaetigtvon","bestaetigtamum"),
+ "kommune.tbl_team" => array("team_kurzbz","bezeichnung","beschreibung","logo"),
+ "kommune.tbl_teambenutzer" => array("uid","team_kurzbz"),
+ "kommune.tbl_wettbewerb" => array("wettbewerb_kurzbz","regeln","forderungstage","teamgroesse","wbtyp_kurzbz","uid","icon"),
+ "kommune.tbl_wettbewerbteam" => array("team_kurzbz","wettbewerb_kurzbz","rang","punkte"),
+ "kommune.tbl_wettbewerbtyp" => array("wbtyp_kurzbz","bezeichnung","farbe"),
+ "lehre.tbl_abschlussbeurteilung" => array("abschlussbeurteilung_kurzbz","bezeichnung","bezeichnung_english"),
+ "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note"),
+ "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"),
+ "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung"),
+ "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"),
+ "lehre.tbl_lehreinheit" => array("lehreinheit_id","lehrveranstaltung_id","studiensemester_kurzbz","lehrfach_id","lehrform_kurzbz","stundenblockung","wochenrythmus","start_kw","raumtyp","raumtypalternativ","sprache","lehre","anmerkung","unr","lvnr","updateamum","updatevon","insertamum","insertvon","ext_id","lehrfach_id_old"),
+ "lehre.tbl_lehreinheitgruppe" => array("lehreinheitgruppe_id","lehreinheit_id","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "lehre.tbl_lehreinheitmitarbeiter" => array("lehreinheit_id","mitarbeiter_uid","lehrfunktion_kurzbz","semesterstunden","planstunden","stundensatz","faktor","anmerkung","bismelden","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id","vertrag_id"),
+ "lehre.tbl_lehrfach" => array("lehrfach_id","studiengang_kz","fachbereich_kurzbz","kurzbz","bezeichnung","farbe","aktiv","semester","sprache","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"),
+ "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
+ "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"),
+ "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"),
+ "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las"),
+ "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"),
+ "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"),
+ "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"),
+ "lehre.tbl_lvregeltyp" => array("lvregeltyp_kurzbz","bezeichnung"),
+ "lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon","moodle_version"),
+ "lehre.tbl_moodle_version" => array("moodle_version","bezeichnung","pfad"),
+ "lehre.tbl_notenschluessel" => array("notenschluessel_kurzbz","bezeichnung"),
+ "lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
+ "lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
+ "lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre"),
+ "lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
+ "lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
+ "lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
+ "lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id", "punkte"),
+ "lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"),
+ "lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon","ext_id"),
+ "lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
+ "lehre.tbl_studienplan" => array("studienplan_id","studienordnung_id","orgform_kurzbz","version","regelstudiendauer","sprache","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon","semesterwochen","testtool_sprachwahl","ext_id"),
+ "lehre.tbl_studienplan_lehrveranstaltung" => array("studienplan_lehrveranstaltung_id","studienplan_id","lehrveranstaltung_id","semester","studienplan_lehrveranstaltung_id_parent","pflicht","koordinator","insertamum","insertvon","updateamum","updatevon","sort","ext_id"),
+ "lehre.tbl_studienplatz" => array("studienplatz_id","studiengang_kz","studiensemester_kurzbz","orgform_kurzbz","ausbildungssemester","gpz","npz","insertamum","insertvon","updateamum","updatevon"),
+ "lehre.tbl_stunde" => array("stunde","beginn","ende"),
+ "lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"),
+ "lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum"),
+ "lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateamum","updatevon"),
+ "lehre.tbl_vertragstyp" => array("vertragstyp_kurzbz","bezeichnung"),
+ "lehre.tbl_vertragsstatus" => array("vertragsstatus_kurzbz","bezeichnung"),
+ "lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"),
+ "lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
+ "public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern"),
+ "public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email"),
+ "public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
+ "public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id"),
+ "public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
+ "public.tbl_aufnahmetermin" => array("aufnahmetermin_id","aufnahmetermintyp_kurzbz","prestudent_id","termin","teilgenommen","bewertung","protokoll","insertamum","insertvon","updateamum","updatevon","ext_id"),
+ "public.tbl_aufnahmetermintyp" => array("aufnahmetermintyp_kurzbz","bezeichnung"),
+ "public.tbl_bankverbindung" => array("bankverbindung_id","person_id","name","anschrift","bic","blz","iban","kontonr","typ","verrechnung","updateamum","updatevon","insertamum","insertvon","ext_id","oe_kurzbz"),
+ "public.tbl_benutzer" => array("uid","person_id","aktiv","alias","insertamum","insertvon","updateamum","updatevon","ext_id","updateaktivvon","updateaktivam","aktivierungscode"),
+ "public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"),
+ "public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
+ "public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id"),
+ "public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung"),
+ "public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"),
+ "public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"),
+ "public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr"),
+ "public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv"),
+ "public.tbl_firma_mobilitaetsprogramm" => array("firma_id","mobilitaetsprogramm_code"),
+ "public.tbl_firma_organisationseinheit" => array("firma_organisationseinheit_id","firma_id","oe_kurzbz","bezeichnung","kundennummer","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"),
+ "public.tbl_firmatag" => array("firma_id","tag","insertamum","insertvon"),
+ "public.tbl_fotostatus" => array("fotostatus_kurzbz","beschreibung"),
+ "public.tbl_funktion" => array("funktion_kurzbz","beschreibung","aktiv","fachbereich","semester"),
+ "public.tbl_geschaeftsjahr" => array("geschaeftsjahr_kurzbz","start","ende","bezeichnung"),
+ "public.tbl_gruppe" => array("gruppe_kurzbz","studiengang_kz","semester","bezeichnung","beschreibung","sichtbar","lehre","aktiv","sort","mailgrp","generiert","updateamum","updatevon","insertamum","insertvon","ext_id","orgform_kurzbz","gid","content_visible","gesperrt","zutrittssystem"),
+ "public.tbl_kontakt" => array("kontakt_id","person_id","kontakttyp","anmerkung","kontakt","zustellung","updateamum","updatevon","insertamum","insertvon","ext_id","standort_id"),
+ "public.tbl_kontaktmedium" => array("kontaktmedium_kurzbz","beschreibung"),
+ "public.tbl_kontakttyp" => array("kontakttyp","beschreibung"),
+ "public.tbl_konto" => array("buchungsnr","person_id","studiengang_kz","studiensemester_kurzbz","buchungstyp_kurzbz","buchungsnr_verweis","betrag","buchungsdatum","buchungstext","mahnspanne","updateamum","updatevon","insertamum","insertvon","ext_id","credit_points", "zahlungsreferenz"),
+ "public.tbl_lehrverband" => array("studiengang_kz","semester","verband","gruppe","aktiv","bezeichnung","ext_id","orgform_kurzbz","gid"),
+ "public.tbl_log" => array("log_id","executetime","mitarbeiter_uid","beschreibung","sql","sqlundo"),
+ "public.tbl_mitarbeiter" => array("mitarbeiter_uid","personalnummer","telefonklappe","kurzbz","lektor","fixangestellt","bismelden","stundensatz","ausbildungcode","ort_kurzbz","standort_id","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","kleriker"),
+ "public.tbl_notiz" => array("notiz_id","titel","text","verfasser_uid","bearbeiter_uid","start","ende","erledigt","insertamum","insertvon","updateamum","updatevon","ext_id"),
+ "public.tbl_notizzuordnung" => array("notizzuordnung_id","notiz_id","projekt_kurzbz","projektphase_id","projekttask_id","uid","person_id","prestudent_id","bestellung_id","lehreinheit_id","ext_id"),
+ "public.tbl_ort" => array("ort_kurzbz","bezeichnung","planbezeichnung","max_person","lehre","reservieren","aktiv","lageplan","dislozierung","kosten","ausstattung","updateamum","updatevon","insertamum","insertvon","ext_id","stockwerk","standort_id","telefonklappe","content_id","m2","gebteil","oe_kurzbz"),
+ "public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"),
+ "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre"),
+ "public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"),
+ "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr"),
+ "public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
+ "public.tbl_personfunktionstandort" => array("personfunktionstandort_id","funktion_kurzbz","person_id","standort_id","position","anrede"),
+ "public.tbl_preincoming" => array("preincoming_id","person_id","mobilitaetsprogramm_code","zweck_code","firma_id","universitaet","aktiv","bachelorthesis","masterthesis","von","bis","uebernommen","insertamum","insertvon","updateamum","updatevon","anmerkung","zgv","zgv_ort","zgv_datum","zgv_name","zgvmaster","zgvmaster_datum","zgvmaster_ort","zgvmaster_name","program_name","bachelor","master","jahre","person_id_emergency","person_id_coordinator_dep","person_id_coordinator_int","code","deutschkurs1","deutschkurs2","research_area","deutschkurs3"),
+ "public.tbl_preincoming_lehrveranstaltung" => array("preincoming_id","lehrveranstaltung_id","insertamum","insertvon"),
+ "public.tbl_preinteressent" => array("preinteressent_id","person_id","studiensemester_kurzbz","firma_id","erfassungsdatum","einverstaendnis","absagedatum","anmerkung","maturajahr","infozusendung","aufmerksamdurch_kurzbz","kontaktmedium_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id"),
+ "public.tbl_preinteressentstudiengang" => array("studiengang_kz","preinteressent_id","freigabedatum","uebernahmedatum","prioritaet","insertamum","insertvon","updateamum","updatevon"),
+ "public.tbl_preoutgoing" => array("preoutgoing_id","uid","dauer_von","dauer_bis","ansprechperson","bachelorarbeit","masterarbeit","betreuer","sprachkurs","intensivsprachkurs","sprachkurs_von","sprachkurs_bis","praktikum","praktikum_von","praktikum_bis","behinderungszuschuss","studienbeihilfe","anmerkung_student", "anmerkung_admin", "studienrichtung_gastuniversitaet", "insertamum","insertvon","updateamum","updatevon","projektarbeittitel"),
+ "public.tbl_preoutgoing_firma" => array("preoutgoing_firma_id","preoutgoing_id","mobilitaetsprogramm_code","firma_id","name","auswahl"),
+ "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"),
+ "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
+ "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
+ "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor"),
+ "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung"),
+ "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung"),
+ "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich"),
+ "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
+ "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
+ "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
+ "public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
+ "public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id"),
+ "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"),
+ "public.tbl_student" => array("student_uid","matrikelnr","prestudent_id","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_studentlehrverband" => array("student_uid","studiensemester_kurzbz","studiengang_kz","semester","verband","gruppe","updateamum","updatevon","insertamum","insertvon","ext_id"),
+ "public.tbl_studiengang" => array("studiengang_kz","kurzbz","kurzbzlang","typ","bezeichnung","english","farbe","email","telefon","max_semester","max_verband","max_gruppe","erhalter_kz","bescheid","bescheidbgbl1","bescheidbgbl2","bescheidgz","bescheidvom","orgform_kurzbz","titelbescheidvom","aktiv","ext_id","zusatzinfo_html","moodle","sprache","testtool_sprachwahl","studienplaetze","oe_kurzbz","lgartcode","mischform","projektarbeit_note_anzeige"),
+ "public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
+ "public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id"),
+ "public.tbl_tag" => array("tag"),
+ "public.tbl_variable" => array("name","uid","wert"),
+ "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"),
+ "public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz"),
+ "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id"),
+ "testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"),
+ "testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"),
+ "testtool.tbl_frage" => array("frage_id","kategorie_kurzbz","gebiet_id","level","nummer","demo","insertamum","insertvon","updateamum","updatevon"),
+ "testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile"),
+ "testtool.tbl_kategorie" => array("kategorie_kurzbz","gebiet_id"),
+ "testtool.tbl_kriterien" => array("gebiet_id","kategorie_kurzbz","punkte","typ"),
+ "testtool.tbl_pruefling" => array("pruefling_id","prestudent_id","studiengang_kz","idnachweis","registriert","semester"),
+ "testtool.tbl_vorschlag" => array("vorschlag_id","frage_id","nummer","punkte","insertamum","insertvon","updateamum","updatevon"),
+ "testtool.tbl_pruefling_frage" => array("prueflingfrage_id","pruefling_id","frage_id","nummer","begintime","endtime"),
+ "testtool.tbl_frage_sprache" => array("frage_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
+ "testtool.tbl_vorschlag_sprache" => array("vorschlag_id","sprache","text","bild","audio","insertamum","insertvon","updateamum","updatevon"),
+ "system.tbl_appdaten" => array("appdaten_id","uid","app","appversion","version","bezeichnung","daten","freigabe","insertamum","insertvon","updateamum","updatevon"),
+ "system.tbl_cronjob" => array("cronjob_id","server_kurzbz","titel","beschreibung","file","last_execute","aktiv","running","jahr","monat","tag","wochentag","stunde","minute","standalone","reihenfolge","updateamum", "updatevon","insertamum","insertvon","variablen"),
+ "system.tbl_benutzerrolle" => array("benutzerberechtigung_id","rolle_kurzbz","berechtigung_kurzbz","uid","funktion_kurzbz","oe_kurzbz","art","studiensemester_kurzbz","start","ende","negativ","updateamum", "updatevon","insertamum","insertvon","kostenstelle_id","anmerkung"),
+ "system.tbl_berechtigung" => array("berechtigung_kurzbz","beschreibung"),
+ "system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
+ "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"),
+ "system.tbl_webservicelog" => array("webservicelog_id","webservicetyp_kurzbz","request_id","beschreibung","request_data","execute_time","execute_user"),
+ "system.tbl_webservicerecht" => array("webservicerecht_id","berechtigung_kurzbz","methode","attribut","insertamum","insertvon","updateamum","updatevon","klasse"),
+ "system.tbl_webservicetyp" => array("webservicetyp_kurzbz","beschreibung"),
+ "system.tbl_server" => array("server_kurzbz","beschreibung"),
+ "wawi.tbl_betriebsmittelperson" => array("betriebsmittelperson_id","betriebsmittel_id","person_id", "anmerkung", "kaution", "ausgegebenam", "retouram","insertamum", "insertvon","updateamum", "updatevon","ext_id","uid"),
+ "wawi.tbl_betriebsmittel" => array("betriebsmittel_id","betriebsmitteltyp","oe_kurzbz", "ort_kurzbz", "beschreibung", "nummer", "hersteller","seriennummer", "bestellung_id","bestelldetail_id", "afa","verwendung","anmerkung","reservieren","updateamum","updatevon","insertamum","insertvon","ext_id","inventarnummer","leasing_bis","inventuramum","inventurvon","anschaffungsdatum","anschaffungswert","hoehe","breite","tiefe","nummer2"),
+ "wawi.tbl_betriebsmittel_betriebsmittelstatus" => array("betriebsmittelbetriebsmittelstatus_id","betriebsmittel_id","betriebsmittelstatus_kurzbz", "datum", "updateamum", "updatevon", "insertamum", "insertvon","anmerkung"),
+ "wawi.tbl_betriebsmittelstatus" => array("betriebsmittelstatus_kurzbz","beschreibung"),
+ "wawi.tbl_betriebsmitteltyp" => array("betriebsmitteltyp","beschreibung","anzahl","kaution","typ_code","mastershapename"),
+ "wawi.tbl_budget" => array("geschaeftsjahr_kurzbz","kostenstelle_id","budget"),
+ "wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
+ "wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
+ "wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
+ "wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum"),
+ "wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
+ "wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
+ "wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
+ "wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz"),
+ "wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
+ "wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
+ "wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
+ "wawi.tbl_buchung" => array("buchung_id","konto_id","kostenstelle_id","buchungstyp_kurzbz","buchungsdatum","buchungstext","betrag","insertamum","insertvon","updateamum","updatevon"),
+ "wawi.tbl_buchungstyp" => array("buchungstyp_kurzbz","bezeichnung"),
+ "wawi.tbl_rechnungstyp" => array("rechnungstyp_kurzbz","beschreibung","berechtigung_kurzbz"),
+ "wawi.tbl_rechnung" => array("rechnung_id","bestellung_id","buchungsdatum","rechnungsnr","rechnungsdatum","transfer_datum","buchungstext","insertamum","insertvon","updateamum","updatevon","rechnungstyp_kurzbz","freigegeben","freigegebenvon","freigegebenamum"),
+ "wawi.tbl_rechnungsbetrag" => array("rechnungsbetrag_id","rechnung_id","mwst","betrag","bezeichnung","ext_id"),
+ "wawi.tbl_aufteilung" => array("aufteilung_id","bestellung_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
+ "wawi.tbl_aufteilung_default" => array("aufteilung_id","kostenstelle_id","oe_kurzbz","anteil","insertamum","insertvon","updateamum","updatevon"),
+);
+
+$tabs=array_keys($tabellen);
+//print_r($tabs);
+$i=0;
+foreach ($tabellen AS $attribute)
+{
+ $sql_attr='';
+ foreach($attribute AS $attr)
+ $sql_attr.=$attr.',';
+ $sql_attr=substr($sql_attr, 0, -1);
+
+ if (!@$db->db_query('SELECT '.$sql_attr.' FROM '.$tabs[$i].' LIMIT 1;'))
+ echo '
'.$tabs[$i].': '.$db->db_last_error().'
';
+ else
+ echo $tabs[$i].': OK - ';
+ flush();
+ $i++;
+}
+
+echo 'Gegenpruefung!
';
+$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync';";
+if (!$result=@$db->db_query($sql_query))
+ echo '
'.$db->db_last_error().'
';
+ else
+ while ($row=$db->db_fetch_object($result))
+ {
+ $fulltablename=$row->schemaname.'.'.$row->tablename;
+ if (!isset($tabellen[$fulltablename]))
+ echo 'Tabelle '.$fulltablename.' existiert in der DB, aber nicht in diesem Skript!
';
+ else
+ if (!$result_fields=@$db->db_query("SELECT * FROM $fulltablename LIMIT 1;"))
+ echo '
'.$db->db_last_error().'
';
+ else
+ for ($i=0; $i<$db->db_num_fields($result_fields); $i++)
+ {
+ $found=false;
+ $fieldnameDB=$db->db_field_name($result_fields,$i);
+ foreach ($tabellen[$fulltablename] AS $fieldnameARRAY)
+ if ($fieldnameDB==$fieldnameARRAY)
+ {
+ $found=true;
+ break;
+ }
+ if (!$found)
+ echo 'Attribut '.$fulltablename.'.'.$fieldnameDB.' existiert in der DB, aber nicht in diesem Skript!
';
+ }
+ }
+
+// ******** Berechtigungen Prüfen ************/
+echo 'Berechtigungen pruefen
';
+$berechtigung_kurzbz=0;
+$beschreibung=1;
+$berechtigungen = array(
+ array('admin','Super User Rechte'),
+ array('assistenz','Assistenz'),
+ array('basis/addon','Addons verwalten'),
+ array('basis/ampel','Ampeln Administrieren'),
+ array('basis/ampeluebersicht','Ampel Übersicht für Leiter'),
+ array('basis/berechtigung','Berechtigungsverwaltung'),
+ array('basis/betriebsmittel','Betriebsmittel'),
+ array('basis/cms','CMS Administration'),
+ array('basis/cms_review','CMS Review Berechtigung (nur für admin Reviewer! Normale Reviewer bekommen Benutzerfunktion review)'),
+ array('basis/cms_sperrfreigabe','Berechtigung zum Freigeben von gesperrtem Content'),
+ array('basis/cronjob','Cronjobverwaltung'),
+ array('basis/dms','DMS Download'),
+ array('basis/fas','FAS Zugriff'),
+ array('basis/ferien','Verwaltung der Ferien und Feiertage im System'),
+ array('basis/fhausweis','Verwaltungstools für FH Ausweis – Kartentausch, Bildpruefung, Druck'),
+ array('basis/firma','Firmenverwaltung'),
+ array('basis/firma:begrenzt','Firmenverwaltung'),
+ array('basis/infoscreen','Infoscreenverwaltung'),
+ array('basis/moodle','basis/moodle'),
+ array('basis/news','Newsverwaltung'),
+ array('basis/notiz','Notizen'),
+ array('basis/organisationseinheit','Organisationseinheiten Verwalten'),
+ array('basis/ort','Raum-/Ortverwaltung'),
+ array('basis/person','Personen Zusammenlegen, Stg-Wiederholer anlegen, etc'),
+ array('basis/planner','Planner Zugriff'),
+ array('basis/service','Services Administrieren (SLAs)'),
+ array('basis/statistik','Statistiken Administrieren'),
+ array('basis/studiengang','Studiengangsverwaltung'),
+ array('basis/tempus','Tempus zugriff'),
+ array('basis/testtool','Administrationseite, Gebiete löschen/zurücksetzen'),
+ array('basis/variable','Variablenverwaltung'),
+ array('basis/vilesci','Grundrecht, um in VileSci irgendwelche Menüpunkte zu sehen'),
+ array('buchung/typen','Verwaltung von Buchungstypen'),
+ array('buchung/mitarbeiter','Verwaltung von Buchungen fuer Mitarbeiter'),
+ array('inout/incoming','Incomingverwaltung'),
+ array('inout/outgoing','Outgoingverwaltung'),
+ array('inout/uebersicht','Verbandsanzeige fuer Incoming/Outgoing im FAS'),
+ array('lehre','Berechtigung fuer CIS-Seite'),
+ array('lehre/abgabetool','Projektabgabetool, Studentenansicht'),
+ array('lehre/abgabetool:download','Download von Projektarbeitsabgaben'),
+ array('lehre/freifach','Freifachverwaltung'),
+ array('lehre/lehrfach','Lehrfachverwaltung'),
+ array('lehre/lehrfach:begrenzt','Lehrfachverwaltung - nur aktiv aenderbar, nur aktive LF werden angezeigt'),
+ array('lehre/lehrveranstaltung','Lehrveranstaltungsverwaltung'),
+ array('lehre/lehrveranstaltung:begrenzt','nur die Felder Lehre, Sort, Zeugnis, BA/DA, FBK und LVInfo dürfen geändert werden (eventuelle Aufteilung in einzelne Berechtigungen??)'),
+ array('lehre/lvplan','Tempus'),
+ array('lehre/pruefungsanmeldungAdmin','Erlaubt die Verwaltung der Prüfungsanmeldungen.'),
+ array('lehre/pruefungsbeurteilung','Erlaubt dem Benutzer Beurteilungen zu Prüfungen einzutragen.'),
+ array('lehre/pruefungsbeurteilungAdmin','Erlaubt dem Benutzer für alle Prüfungen Beurteilungen einzutragen.'),
+ array('lehre/pruefungsterminAdmin','Recht für jeden Lektor eine Prüfung anzulegen'),
+ array('lehre/pruefungsfenster','Erlaubt dem Benutzer Prüfungsfenster anzulegen.'),
+ array('lehre/reihungstest','Reihungstestverwaltung'),
+ array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
+ array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
+ array('lehre/studienordnung','Studienordnung'),
+ array('lehre/vorrueckung','Lehreinheitenvorrückung'),
+ array('lv-plan','Stundenplan'),
+ array('mitarbeiter','FAS Mitarbeitermodul'),
+ array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'),
+ array('mitarbeiter/personalnummer','Editieren der Personalnummer im FAS'),
+ array('mitarbeiter/stammdaten','Stammdaten der Mitarbeiter'),
+ array('mitarbeiter/urlaube','Mit diesem Recht werden im CIS die Urlaube von allen Mitarbeiter sichtbar'),
+ array('mitarbeiter/zeitsperre','Zeitsperren- und Urlaubsverwaltung'),
+ array('news','News eintragen'),
+ array('planner','Planner Verwaltung'),
+ array('preinteressent','Verwaltung der Preinteressenten'),
+ array('raumres','Raumreservierung'),
+ array('reihungstest','Recht für Anzeige des Reihungstests im Vilesci'),
+ array('sdTools','Recht für Anzeige der SD-Tools im Vilesci'),
+ array('soap/lv','Recht für LV Webservice'),
+ array('soap/lvplan','Recht für LV-Plan Webservice'),
+ array('soap/mitarbeiter','Recht für Mitarbeiter-Webservice'),
+ array('soap/ort','Recht für Ort Webservice'),
+ array('soap/pruefungsfenster','Recht für Pruefungsfenster Webservice'),
+ array('soap/student','Recht für Student Webservice'),
+ array('soap/studienordnung','Recht für Studienordnung Webservice'),
+ array('soap/benutzer','Berechtigung für Bentutzerabfrage Addon Kontoimport'),
+ array('soap/buchungen','Berechtigung für Buchungsabfrage Addon Kontoimport'),
+ array('student/bankdaten','Bankdaten des Studenten'),
+ array('student/dokumente','Wenn SUID dann dürfen Dokumente auch wieder entfernt werden'),
+ array('student/noten','Notenverwaltung'),
+ array('student/stammdaten','Stammdaten der Studenten'),
+ array('student/vorrueckung','Studentenvorrückung'),
+ array('system/developer','Anzeige zusätzlicher Developerinfos'),
+ array('system/loginasuser','Berechtigung zum Einloggen als anderer User'),
+ array('user','Normale User ohne besonere Rechte'),
+ array('veranstaltung','Berechtigungen fuer Veranstaltungen wie Jahresplan'),
+ array('vertrag/mitarbeiter','Verwalten von Vertraegen'),
+ array('vertrag/typen','Verwalten von Vertragstypen'),
+ array('wawi/berichte','Alle Berichte anzeigen'),
+ array('wawi/bestellung','Bestellungen verwalten'),
+ array('wawi/bestellung_advanced','Bestellungen editieren nach dem Abschicken'),
+ array('wawi/budget','Budgeteingabe'),
+ array('wawi/delete_advanced','Loeschen von freigegebenen Bestellungen'),
+ array('wawi/firma','Firmenverwaltung abgespeckt'),
+ array('wawi/freigabe','Bestellungen freigeben, entweder oe_kurzbz oder kostenstelle_id muss gesetzt sein'),
+ array('wawi/freigabe_advanced','Berechtigung zum Freigeben von ALLEN Bestellungen'),
+ array('wawi/inventar','Inventar Administration'),
+ array('wawi/inventar:begrenzt','Inventarverwaltung'),
+ array('wawi/konto','Kontoverwaltung'),
+ array('wawi/kostenstelle','Kostenstellenverwaltung'),
+ array('wawi/rechnung','Rechnungen verwalten'),
+ array('wawi/rechnung_freigeben','Rechnungen Freigeben (bei Gutschriften)'),
+ array('wawi/rechnung_transfer','Rechnungen - Eintragen des TransferDatums'),
+ array('wawi/storno','Bestellung stornieren')
+);
+
+foreach($berechtigungen as $row)
+{
+ $qry = "SELECT * FROM system.tbl_berechtigung
+ WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz]);
+
+ if($result = $db->db_query($qry))
+ {
+ if($db->db_num_rows($result)==0)
+ {
+ // Nicht vorhanden -> anlegen
+ $qry_insert="INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES(".
+ $db->db_add_param($row[$berechtigung_kurzbz]).','.
+ $db->db_add_param($row[$beschreibung]).');';
+
+ if($db->db_query($qry_insert))
+ echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzugefügt';
+ else
+ echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzufügen nicht möglich';
+
+ //Wenn das Recht basis/vilesci neu angelegt wurde, dann dieses Recht jedem geben, der bisher auch Zugriff auf Vilesci hatte.
+ if ($row[$berechtigung_kurzbz]=='basis/vilesci')
+ {
+ $qry_userrecht="SELECT DISTINCT uid, funktion_kurzbz
+ FROM system.tbl_benutzerrolle
+ LEFT JOIN public.tbl_benutzer USING (uid)
+ WHERE berechtigung_kurzbz IN ('admin','support','preinteressent','lehre','basis/statistik','basis/fhausweis','wawi/inventar','assistenz','lv-plan')
+ AND (tbl_benutzerrolle.ende>=now() OR tbl_benutzerrolle.ende IS NULL)
+ AND (tbl_benutzerrolle.start<=now() OR tbl_benutzerrolle.start IS NULL)
+ AND (tbl_benutzer.aktiv=true OR tbl_benutzerrolle.uid IS NULL)
+ UNION
+ SELECT DISTINCT uid, funktion_kurzbz
+ FROM system.tbl_benutzerrolle
+ JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
+ LEFT JOIN public.tbl_benutzer USING (uid)
+ WHERE tbl_rolleberechtigung.berechtigung_kurzbz IN ('admin','support','preinteressent','lehre','basis/statistik','basis/fhausweis','wawi/inventar','assistenz','lv-plan')
+ AND (tbl_benutzerrolle.ende>=now() OR tbl_benutzerrolle.ende IS NULL)
+ AND (tbl_benutzerrolle.start<=now() OR tbl_benutzerrolle.start IS NULL)
+ AND (tbl_benutzer.aktiv=true OR tbl_benutzerrolle.uid IS NULL) ORDER BY uid";
+
+ if($result_insert_userrecht = $db->db_query($qry_userrecht))
+ {
+ while ($row_user=$db->db_fetch_object($result_insert_userrecht))
+ {
+ $qry_insert_userrecht=" INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz, oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon, insertamum, insertvon, kostenstelle_id)
+ VALUES (NULL, 'basis/vilesci', ".($row_user->funktion_kurzbz!=""?"NULL,".$db->db_add_param($row_user->funktion_kurzbz):$db->db_add_param($row_user->uid).",NULL").", NULL, 's', NULL, NULL, NULL, FALSE, NULL, NULL, now(), 'checksystem', NULL)";
+
+ if($db->db_query($qry_insert_userrecht))
+ echo '
Recht "basis/vilesci" an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben';
+ else
+ echo '
Fehler: Recht "basis/vilesci" konnte nicht an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben werden';
+ }
+ }
+
+ }
+ }
+ }
+}
+// ******** Pruefen ob die Webservice Berechtigungen alle gesetzt sind **********
+
+echo 'Webservice Berechtigungen pruefen
';
+
+// berechtigung_kurzbz,methode,klasse
+$berechtigung_kurzbz=0;
+$methode=1;
+$klasse=2;
+$webservicerecht = array(
+ array('soap/studienordnung','load_lva_oe','lehrveranstaltung'),
+ array('soap/studienordnung','load','lehrveranstaltung'),
+ array('soap/studienordnung','deleteStudienplanLehrveranstaltung','studienplan'),
+ array('soap/studienordnung','containsLehrveranstaltung','studienplan'),
+ array('soap/studienordnung','loadStudienplanLehrveranstaltung','studienplan'),
+ array('soap/studienordnung','saveStudienplanLehrveranstaltung','studienplan'),
+ array('soap/studienordnung','loadStudienordnung','studienordnung'),
+ array('soap/studienordnung','delete','lvregel'),
+ array('soap/studienordnung','save','lvregel'),
+ array('soap/studienordnung','load','lvregel'),
+ array('soap/studienordnung','loadLVRegelTypen','lvregel'),
+ array('soap/studienordnung','load_lva','lehrveranstaltung'),
+ array('soap/studienordnung','getAll','lehrtyp'),
+ array('soap/studienordnung','getAll','organisationseinheit'),
+ array('soap/studienordnung','getLVRegelTree','lvregel'),
+ array('soap/studienordnung','save','studienplan'),
+ array('soap/studienordnung','save','studienordnung'),
+ array('soap/studienordnung','loadStudienplanSTO','studienplan'),
+ array('soap/studienordnung','loadStudienordnungSTG','studienordnung'),
+ array('soap/studienordnung','loadStudienplan','studienplan'),
+ array('soap/studienordnung','saveSemesterZuordnung','studienordnung'),
+ array('soap/studienordnung','deleteSemesterZuordnung','studienordnung'),
+ array('soap/studienordnung','getLVkompatibel','lehrveranstaltung'),
+ array('soap/studienordnung','getLvTree','lehrveranstaltung'),
+ array('soap/pruefungsfenster','getByStudiensemester','pruefungsfenster'),
+ array('soap/studienordnung','exists','lvregel'),
+ array('soap/studienordnung','saveSortierung','studienplan'),
+ array('soap/benutzer','search','benutzer'),
+ array('soap/buchungen','getBuchungen','konto')
+);
+
+foreach($webservicerecht as $row)
+{
+ $qry = "SELECT * FROM system.tbl_webservicerecht
+ WHERE berechtigung_kurzbz=".$db->db_add_param($row[$berechtigung_kurzbz])."
+ AND methode=".$db->db_add_param($row[$methode])."
+ AND klasse=".$db->db_add_param($row[$klasse]);
+
+ if($result = $db->db_query($qry))
+ {
+ if($db->db_num_rows($result)==0)
+ {
+ // Nicht vorhanden -> anlegen
+ $qry_insert="INSERT INTO system.tbl_webservicerecht (berechtigung_kurzbz, methode, insertamum, insertvon, klasse) VALUES(".
+ $db->db_add_param($row[$berechtigung_kurzbz]).','.
+ $db->db_add_param($row[$methode]).','.
+ "now(),'checksystem',".
+ $db->db_add_param($row[$klasse]).');';
+
+ if($db->db_query($qry_insert))
+ echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzugefügt';
+ else
+ echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzufügen nicht möglich';
+ }
+ }
+}
+
+echo '';
+?>