mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Tempus:
- Kollisionscheck ueberarbeitet - Kollisionsgrund wird nun im Tooltip angezeigt - Ressourcenzuordnung zu Stunden - Option hinzugefuegt um alle Einträge einer Stunde anzuzeigen (zB Incominggruppen) - Option zum Drop auf bestehende Stunden hinzugefügt (UNR wird automatisch gleichgesetzt) - Fehler behoben beim Anlegen von Gruppen mit Logins > 16 Zeichen - Es koennen jetzt mehrere Lektoren definiert werden die nicht kollidieren sollen Anwesenheitslisten mit Barcode koennen nur fuer alle Studiengaenge auf einmal erstellt werden
This commit is contained in:
@@ -150,4 +150,5 @@ define('STIP_USER_PASSWORD','password');
|
||||
define('BEWERBERTOOL_STUDIENAUSWAHL_ANZEIGEN', true);
|
||||
define('BEWERBERTOOL_STANDORTAUSWAHL_ANZEIGEN', false);
|
||||
|
||||
define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
|
||||
?>
|
||||
|
||||
@@ -501,6 +501,25 @@ var boardObserver=
|
||||
var new_ort=evt.target.getAttribute("ort_kurzbz");
|
||||
var kollisionsanzahl=evt.target.getAttribute("kollision");
|
||||
}
|
||||
else if(evt.target.tagName=="button")
|
||||
{
|
||||
|
||||
if(getvariable('allow_lehrstunde_drop')=='true')
|
||||
{
|
||||
// Wenn direkt auf die Stunde gezogen wird, wird der Raum uebernommen und die unr gleich gesetzt
|
||||
ort=evt.target.getAttribute("ort_kurzbz");
|
||||
var new_unr=evt.target.getAttribute("unr");
|
||||
var new_ort=ort;
|
||||
|
||||
// zusaetzlich wird diese zu allen Stunden (gesamter Block) dazugebucht
|
||||
var new_blockung=getNewBlockung(evt.target);
|
||||
}
|
||||
else
|
||||
{
|
||||
alert('Bitte waehlen Sie einen Ort oder aktivieren Sie die Option allow_lehrstunde_drop');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dropdata.flavour.contentType=="application/tempus-lehrveranstaltung")
|
||||
@@ -518,11 +537,17 @@ var boardObserver=
|
||||
url+="&new_ort="+new_ort+"&kollisionsanzahl="+kollisionsanzahl;
|
||||
else
|
||||
url+="&aktion=stpl_move";
|
||||
|
||||
if(new_unr)
|
||||
url+="&new_unr="+new_unr;
|
||||
if(new_blockung)
|
||||
url+="&new_blockung="+new_blockung;
|
||||
|
||||
url+="&mime="+dropdata.flavour.contentType;
|
||||
|
||||
//IDs der Stunden die verschoben werden dazuhaengen
|
||||
//idList = TimeTableWeekGetMarkedIdList();
|
||||
//url+=idList;
|
||||
//alert("url:"+url);
|
||||
if(new_ort=='' && ort=='')
|
||||
{
|
||||
alert('Es muss ein Ort gewaehlt werden');
|
||||
@@ -535,6 +560,30 @@ var boardObserver=
|
||||
}
|
||||
};
|
||||
|
||||
// Holt die Anzahl der Bloecke nach dem uebergebenen mit der selben unr
|
||||
function getNewBlockung(item)
|
||||
{
|
||||
var items = document.getElementsByTagName('button');
|
||||
var unr = item.getAttribute('unr');
|
||||
var stunde = item.getAttribute('stunde');
|
||||
var wochentag = item.getAttribute('wochentag');
|
||||
var blockung=1;
|
||||
for each(var button in items)
|
||||
{
|
||||
if(button.id && button.id.startsWith('buttonSTPL'))
|
||||
{
|
||||
buttonunr=button.getAttribute('unr');
|
||||
buttonwochentag=button.getAttribute('wochentag');
|
||||
buttonstunde=button.getAttribute('stunde');
|
||||
|
||||
if(buttonunr==unr && buttonwochentag==wochentag && buttonstunde>stunde)
|
||||
{
|
||||
blockung=blockung+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return blockung;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Observer fuer den Lehrverbandstree
|
||||
|
||||
+16
-16
@@ -125,25 +125,25 @@ foreach($addon_obj->result as $addon)
|
||||
<command id="menu-dokumente-zeugniseng:command" oncommand="StudentCreateZeugnis('ZeugnisEng',event);"/>
|
||||
<!--<command id="menu-dokumente-sammelzeugnis:command" oncommand="StudentCreateSammelzeugnis('Sammelzeugnis');"/>-->
|
||||
<command id="menu-dokumente-diplsupplement:command" oncommand="StudentCreateDiplSupplement(event);"/>
|
||||
<command id="menu-dokumente-studienerfolg-normal:command" oncommand="StudentCreateStudienerfolg('Studienerfolg');"/>
|
||||
<command id="menu-dokumente-studienerfolg-finanzamt:command" oncommand="StudentCreateStudienerfolg('Studienerfolg','finanzamt');"/>
|
||||
<command id="menu-dokumente-studienerfolg-allesemester-normal:command" oncommand="StudentCreateStudienerfolg('Studienerfolg','', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolg-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg('Studienerfolg','finanzamt', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-normal:command" oncommand="StudentCreateStudienerfolg('StudienerfolgEng');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-finanzamt:command" oncommand="StudentCreateStudienerfolg('StudienerfolgEng','finanzamt');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-normal:command" oncommand="StudentCreateStudienerfolg('StudienerfolgEng','', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg('StudienerfolgEng','finanzamt', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolg-normal:command" oncommand="StudentCreateStudienerfolg(event, 'Studienerfolg');"/>
|
||||
<command id="menu-dokumente-studienerfolg-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'Studienerfolg','finanzamt');"/>
|
||||
<command id="menu-dokumente-studienerfolg-allesemester-normal:command" oncommand="StudentCreateStudienerfolg(event, 'Studienerfolg','', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolg-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'Studienerfolg','finanzamt', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-normal:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','finanzamt');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-normal:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','', '', 'true');"/>
|
||||
<command id="menu-dokumente-studienerfolgeng-allesemester-finanzamt:command" oncommand="StudentCreateStudienerfolg(event, 'StudienerfolgEng','finanzamt', '', 'true');"/>
|
||||
<command id="menu-dokumente-accountinfoblatt:command" oncommand="PrintAccountInfoBlatt(event);"/>
|
||||
<command id="menu-dokumente-zutrittskarte:command" oncommand="PrintZutrittskarte();"/>
|
||||
<command id="menu-dokumente-studienblatt:command" oncommand="PrintStudienblatt(event);"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple('de');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple('en');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll2:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple('de2');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll2_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple('en2');"/>
|
||||
<command id="menu-dokumente-pruefungszeugnis:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple('deutsch');"/>
|
||||
<command id="menu-dokumente-pruefungszeugnis_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple('englisch');"/>
|
||||
<command id="menu-dokumente-urkunde_deutsch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple('deutsch')"/>
|
||||
<command id="menu-dokumente-urkunde_englisch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple('englisch')"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'de');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'en');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll2:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'de2');"/>
|
||||
<command id="menu-dokumente-pruefungsprotokoll2_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event,'en2');"/>
|
||||
<command id="menu-dokumente-pruefungszeugnis:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event,'deutsch');"/>
|
||||
<command id="menu-dokumente-pruefungszeugnis_englisch:command" oncommand="StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event,'englisch');"/>
|
||||
<command id="menu-dokumente-urkunde_deutsch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple(event, 'deutsch')"/>
|
||||
<command id="menu-dokumente-urkunde_englisch:command" oncommand="StudentAbschlusspruefungPrintUrkundeMultiple(event, 'englisch')"/>
|
||||
<command id="menu-dokumente-ausbildungsvertrag:command" oncommand="StudentPrintAusbildungsvertrag(event);"/>
|
||||
<command id="menu-dokumente-ausbildungsvertrag_englisch:command" oncommand="StudentPrintAusbildungsvertragEnglisch(event);"/>
|
||||
<command id="menu-extras-reihungstest:command" oncommand="ExtrasShowReihungstest();"/>
|
||||
|
||||
@@ -688,27 +688,6 @@ function loadURL(event)
|
||||
if (url) contentFrame.setAttribute('src', url);
|
||||
};
|
||||
|
||||
function parseRDFString(str, url)
|
||||
{
|
||||
|
||||
try {
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
} catch(e) {
|
||||
alert(e);
|
||||
return;
|
||||
}
|
||||
|
||||
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
baseUri=ios.newURI(url,null,null);
|
||||
|
||||
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
|
||||
parser.parseString(memoryDS,baseUri,str);
|
||||
|
||||
return memoryDS;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert eine HTML Liste mit den Koordinatorstunden
|
||||
// * fuer einen Fachbereich
|
||||
|
||||
@@ -103,6 +103,27 @@ function ParseReturnValue(response)
|
||||
//debug('data:'+this.dbdml_data+' errormsg:'+this.dbdml_errormsg+' return:'+this.dbdml_return );
|
||||
}
|
||||
|
||||
function parseRDFString(str, url)
|
||||
{
|
||||
try {
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
} catch(e) {
|
||||
alert(e);
|
||||
return;
|
||||
}
|
||||
|
||||
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
baseUri=ios.newURI(url,null,null);
|
||||
|
||||
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
|
||||
parser.parseString(memoryDS,baseUri,str);
|
||||
|
||||
return memoryDS;
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Zeigt einen Text in der Statusbar an
|
||||
// ****
|
||||
@@ -259,4 +280,39 @@ String.prototype.startsWith = function(str)
|
||||
function getUsername()
|
||||
{
|
||||
return '<?php echo get_uid(); ?>';
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt den Wert einer Variable aus der DB
|
||||
// ****
|
||||
function getvariable(variable)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'getvariable');
|
||||
req.add('name', variable);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return val.dbdml_data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,392 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
?>
|
||||
|
||||
// *********** Globale Variablen *****************//
|
||||
var RessourceZugeteiltTreeDatasource; //Datasource des RessourceZugeteiltTrees
|
||||
var RessourceVerplanbarTreeDatasource; //Datasource des RessourceVerplanbarTrees
|
||||
var RessourceStunden;
|
||||
var RessourceDatum;
|
||||
var RessourceStplIDs;
|
||||
var RessourceZugeteiltTreeDoubleRefresh=false;
|
||||
var RessourceVerplanbarTreeDoubleRefresh=false;
|
||||
|
||||
// ********** Observer und Listener ************* //
|
||||
|
||||
// ****
|
||||
// * Observer fuer RessourceZugeteilt Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var RessourceZugeteiltTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('ressource-zugeteilt-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird die Betriebsmittelzuordnung wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var RessourceZugeteiltTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
if(RessourceZugeteiltTreeDoubleRefresh)
|
||||
{
|
||||
// Doppeltes Rebuild damit nach leeren Trees korrekt geladen wird
|
||||
RessourceZugeteiltTreeDoubleRefresh=false;
|
||||
window.setTimeout("RessourceZugeteiltTreeRefresh()",10);
|
||||
}
|
||||
else
|
||||
{
|
||||
window.setTimeout(RessourceZugeteiltTreeSelectZuordnung,10);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer RessourceVerplanbar Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var RessourceVerplanbarTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('ressource-verplanbar-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird die Betriebsmittelzuordnung wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var RessourceVerplanbarTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
if(RessourceVerplanbarTreeDoubleRefresh)
|
||||
{
|
||||
// Doppeltes Rebuild damit nach leeren Trees korrekt geladen wird
|
||||
RessourceVerplanbarTreeDoubleRefresh=false;
|
||||
window.setTimeout("RessourceVerplanbarTreeRefresh()",10);
|
||||
}
|
||||
else
|
||||
{
|
||||
window.setTimeout(RessourceVerplanbarTreeSelectZuordnung,10);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Laedt die Trees
|
||||
// ****
|
||||
function RessourceInit(datum, stunden, stplids)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
RessourceStunden = stunden;
|
||||
RessourceDatum = datum;
|
||||
RessourceStplIDs = stplids;
|
||||
|
||||
// *** Zugeteilte Betriebsmittel ***
|
||||
var ressourcezugeteilttree = document.getElementById('ressource-zugeteilt-tree');
|
||||
// TODO Parameter
|
||||
url='<?php echo APP_ROOT;?>rdf/stundenplan_betriebsmittel.rdf.php?ts='+gettimestamp();
|
||||
|
||||
for(i in stplids)
|
||||
url = url+'&stundenplan_ids[]='+stplids[i];
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = ressourcezugeteilttree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
ressourcezugeteilttree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
ressourcezugeteilttree.builder.rebuild();
|
||||
|
||||
try
|
||||
{
|
||||
RessourceZugeteiltTreeDatasource.removeXMLSinkObserver(RessourceZugeteiltTreeSinkObserver);
|
||||
ressourcezugeteilttree.builder.removeListener(RessourceZugeteiltTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
RessourceZugeteiltTreeDatasource = rdfService.GetDataSource(url);
|
||||
RessourceZugeteiltTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
RessourceZugeteiltTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
ressourcezugeteilttree.database.AddDataSource(RessourceZugeteiltTreeDatasource);
|
||||
RessourceZugeteiltTreeDatasource.addXMLSinkObserver(RessourceZugeteiltTreeSinkObserver);
|
||||
ressourcezugeteilttree.builder.addListener(RessourceZugeteiltTreeListener);
|
||||
|
||||
|
||||
// *** Verplanbare Betriebsmittel ***
|
||||
var ressourceverplanbartree = document.getElementById('ressource-verplanbar-tree');
|
||||
// TODO Parameter
|
||||
url='<?php echo APP_ROOT;?>rdf/betriebsmittel.rdf.php?datum='+datum+'&'+gettimestamp();
|
||||
|
||||
for(i in stunden)
|
||||
url = url+'&stunde[]='+stunden[i];
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = ressourceverplanbartree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
ressourceverplanbartree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
ressourceverplanbartree.builder.rebuild();
|
||||
|
||||
try
|
||||
{
|
||||
RessourceVerplanbarTreeDatasource.removeXMLSinkObserver(RessourceVerplanbarTreeSinkObserver);
|
||||
ressourceverplanbartree.builder.removeListener(RessourceVerplanbarTreeDatasource);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
RessourceVerplanbarTreeDatasource = rdfService.GetDataSource(url);
|
||||
RessourceVerplanbarTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
RessourceVerplanbarTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
ressourceverplanbartree.database.AddDataSource(RessourceVerplanbarTreeDatasource);
|
||||
RessourceVerplanbarTreeDatasource.addXMLSinkObserver(RessourceVerplanbarTreeSinkObserver);
|
||||
ressourceverplanbartree.builder.addListener(RessourceVerplanbarTreeListener);
|
||||
}
|
||||
|
||||
// Hinzufuegen der Ressourcenzuordnung
|
||||
function RessourceAdd()
|
||||
{
|
||||
var tree = document.getElementById('ressource-verplanbar-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
betriebsmittel_id=getTreeCellText(tree, "ressource-verplanbar-tree-betriebsmittel_id", tree.currentIndex);
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'addressource');
|
||||
req.add('betriebsmittel_id', betriebsmittel_id);
|
||||
|
||||
for(i in RessourceStplIDs)
|
||||
req.add('stpl_id[]', RessourceStplIDs[i]);
|
||||
|
||||
for(i in RessourceStunden)
|
||||
req.add('stunden[]', RessourceStunden[i]);
|
||||
|
||||
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
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
RessourcenReloadTrees();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Entfernen der Ressourcenzuordnung
|
||||
function RessourceRemove()
|
||||
{
|
||||
var tree = document.getElementById('ressource-zugeteilt-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'deleteressource');
|
||||
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
var numRanges = tree.view.selection.getRangeCount();
|
||||
var paramList= '';
|
||||
var anzahl=0;
|
||||
|
||||
for (var t = 0; t < numRanges; t++)
|
||||
{
|
||||
tree.view.selection.getRangeAt(t,start,end);
|
||||
for (var v = start.value; v <= end.value; v++)
|
||||
{
|
||||
stundenplan_betriebsmittel_id = getTreeCellText(tree, 'ressource-zugeteilt-tree-stundenplan_betriebsmittel_id', v);
|
||||
req.add('stundenplan_betriebsmittel_id[]', stundenplan_betriebsmittel_id);
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
{
|
||||
RessourcenReloadTrees();
|
||||
RessourcenDisableDetails()
|
||||
}
|
||||
}
|
||||
|
||||
function RessourceZugeteiltTreeRefresh()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
RessourceZugeteiltTreeDatasource.Refresh(false);
|
||||
}
|
||||
|
||||
function RessourceVerplanbarTreeRefresh()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
RessourceVerplanbarTreeDatasource.Refresh(false);
|
||||
}
|
||||
|
||||
function RessourcenReloadTrees()
|
||||
{
|
||||
|
||||
RessourceZugeteiltTreeDoubleRefresh=true;
|
||||
RessourceVerplanbarTreeDoubleRefresh=true;
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
RessourceZugeteiltTreeDatasource.Refresh(false);
|
||||
RessourceVerplanbarTreeDatasource.Refresh(false);
|
||||
}
|
||||
|
||||
// Speichert die Anmerkung
|
||||
function RessourceSave()
|
||||
{
|
||||
var stundenplan_betriebsmittel_id=document.getElementById('ressource-detail-stundenplan_betriebsmittel_id').value;
|
||||
var anmerkung = document.getElementById('ressource-detail-anmerkung').value;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'saveressource');
|
||||
req.add('stundenplan_betriebsmittel_id', stundenplan_betriebsmittel_id);
|
||||
req.add('anmerkung', anmerkung);
|
||||
|
||||
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
|
||||
{
|
||||
RessourcenReloadTrees();
|
||||
RessourcenDisableDetails();
|
||||
}
|
||||
}
|
||||
|
||||
function RessourcenDisableDetails()
|
||||
{
|
||||
document.getElementById('ressource-detail-anmerkung').value='';
|
||||
document.getElementById('ressource-detail-anmerkung').disabled=true;
|
||||
document.getElementById('ressource-detail-stundenplan_betriebsmittel_id').value='';
|
||||
document.getElementById('ressource-detail-speichern').disabled=true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Bei der Auswahl der zugeteilten Ressource wird diese geladen und die Anmerkung angezeigt
|
||||
*/
|
||||
function RessourceZugeteiltAuswahl()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('ressource-zugeteilt-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Ausgewaehlte Nr holen
|
||||
var stundenplan_betriebsmittel_id=getTreeCellText(tree, "ressource-zugeteilt-tree-stundenplan_betriebsmittel_id", tree.currentIndex);
|
||||
|
||||
var req = new phpRequest('<?php echo APP_ROOT; ?>rdf/stundenplan_betriebsmittel.rdf.php','','');
|
||||
req.add('stundenplan_betriebsmittel_id',stundenplan_betriebsmittel_id);
|
||||
|
||||
var response = req.execute();
|
||||
// Datasource holen
|
||||
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/stundenplanbetriebsmittel');
|
||||
|
||||
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/stundenplanbetriebsmittel/" + stundenplan_betriebsmittel_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf";
|
||||
|
||||
//Daten holen
|
||||
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
beschreibung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beschreibung" ));
|
||||
|
||||
document.getElementById('ressource-detail-anmerkung').disabled=false;
|
||||
document.getElementById('ressource-detail-speichern').disabled=false;
|
||||
|
||||
document.getElementById('ressource-detail-caption').label='Anmerkungen zu '+beschreibung;
|
||||
document.getElementById('ressource-detail-anmerkung').value=anmerkung;
|
||||
|
||||
document.getElementById('ressource-detail-stundenplan_betriebsmittel_id').value=stundenplan_betriebsmittel_id;
|
||||
}
|
||||
|
||||
function RessourceZugeteiltTreeSelectZuordnung()
|
||||
{
|
||||
}
|
||||
|
||||
function RessourceVerplanbarTreeSelectZuordnung()
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
|
||||
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 '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
|
||||
|
||||
$stunden = $_GET['stunde'];
|
||||
$stplids = $_GET['stplid'];
|
||||
$datum = $_GET['datum'];
|
||||
?>
|
||||
<window id="ressource-dialog" title="Ressource"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload='RessourceInit(<?php echo '"'.$datum.'"'.','. json_encode($stunden).','.json_encode($stplids);?>)'
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lvplanung/ressourcedialog.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/tempusoverlay.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
|
||||
|
||||
<vbox>
|
||||
<grid id="ressource-grid-detail" style="overflow:auto;margin:4px;" flex="1">
|
||||
<columns >
|
||||
<column flex="8"/>
|
||||
<column flex="1"/>
|
||||
<column flex="8"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<vbox>
|
||||
<groupbox>
|
||||
<caption label="Zugeteilte Ressourcen" />
|
||||
|
||||
<tree id="ressource-zugeteilt-tree" seltype="multiple" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null"
|
||||
ref="http://www.technikum-wien.at/stundenplanbetriebsmittel"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
|
||||
onselect="RessourceZugeteiltAuswahl()"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
|
||||
<treecols>
|
||||
<treecol id="ressource-zugeteilt-tree-beschreibung" label="Beschreibung" flex="4" hidden="false" primary="true"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#beschreibung"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="ressource-zugeteilt-tree-anmerkung" label="Anmerkung" flex="5" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#anmerkung" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="ressource-zugeteilt-tree-stunde" label="Stunde" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#stunde"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="ressource-zugeteilt-tree-stundenplan_betriebsmittel_id" label="stundenplan_betriebsmittel_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#stundenplan_betriebsmittel_id"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#beschreibung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#anmerkung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#stunde"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/stundenplanbetriebsmittel/rdf#stundenplan_betriebsmittel_id"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<spacer flex="1"/>
|
||||
<button label="<" oncommand="RessourceAdd()"></button>
|
||||
<button label=">" oncommand="RessourceRemove()"></button>
|
||||
<spacer flex="1"/>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<groupbox>
|
||||
<caption label="Freie Ressourcen" />
|
||||
<tree id="ressource-verplanbar-tree" seltype="singe" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null"
|
||||
ref="http://www.technikum-wien.at/betriebsmittel/liste"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
|
||||
<treecols>
|
||||
<treecol id="ressource-verplanbar-tree-beschreibung" label="Beschreibung" flex="4" hidden="false" primary="true"
|
||||
class="sortDirectionIndicator"
|
||||
sortActive="true"
|
||||
sortDirection="ascending"
|
||||
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#beschreibung"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="ressource-verplanbar-tree-betriebsmittel_id" label="betriebsmittel_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#beschreibung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</template>
|
||||
</tree>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<groupbox>
|
||||
<caption id="ressource-detail-caption" label="Details" />
|
||||
<textbox id="ressource-detail-stundenplan_betriebsmittel_id" hidden="true"></textbox>
|
||||
<textbox id="ressource-detail-anmerkung" multiline="true" rows="6" disabled="true"></textbox>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="ressource-detail-speichern" label="Speichern" disabled="true" oncommand="RessourceSave()" />
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
</vbox>
|
||||
</window>
|
||||
@@ -344,6 +344,59 @@ function TimeTableWeekGetMarkedIdList()
|
||||
return myidlist;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert die StundenplanIDs der markierten Stunden als array
|
||||
// ****
|
||||
function TimeTableWeekGetMarkedIdArray()
|
||||
{
|
||||
var items = document.getElementsByTagName('button');
|
||||
var ids = Array();
|
||||
for each(var button in items)
|
||||
{
|
||||
if(button.id && button.id.startsWith('buttonSTPL'))
|
||||
{
|
||||
marked = button.getAttribute('marked');
|
||||
if(marked=='true')
|
||||
{
|
||||
idlist = button.getAttribute('idList');
|
||||
|
||||
idarr = idlist.split(/&stundenplan_id[0-9]=/);
|
||||
|
||||
for(i in idarr)
|
||||
{
|
||||
if(idarr[i]=='')
|
||||
continue;
|
||||
ids.push(idarr[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return ids;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert die IdList der Markierten Stunden
|
||||
// ****
|
||||
function TimeTableWeekGetMarkedHoursArray()
|
||||
{
|
||||
var items = document.getElementsByTagName('button');
|
||||
var stunden = Array();
|
||||
var i=0;
|
||||
for each(var button in items)
|
||||
{
|
||||
if(button.id && button.id.startsWith('buttonSTPL'))
|
||||
{
|
||||
marked = button.getAttribute('marked');
|
||||
if(marked=='true')
|
||||
{
|
||||
stunden.push(button.getAttribute('stunde'));
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return stunden;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Klick auf eine Stunde im LV-Plan
|
||||
// ****
|
||||
@@ -672,3 +725,43 @@ function StplWeekOpenNotiz(item)
|
||||
var lehreinheit_id=item.getAttribute('lehreinheit_id');
|
||||
window.open('<?php echo APP_ROOT; ?>content/notizdialog.xul.php?lehreinheit_id='+lehreinheit_id,'Details', 'height=500,width=600,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
/**
|
||||
* Oeffnet einen Dialog zur Zuordnung von Ressourcen zu Stundenplaneintraegen
|
||||
*/
|
||||
function BetriebsmittelZuordnen(item)
|
||||
{
|
||||
url = '<?php echo APP_ROOT; ?>content/lvplanung/ressourcedialog.xul.php?';
|
||||
|
||||
var datum = item.getAttribute('datum');
|
||||
url=url+'datum='+datum;
|
||||
|
||||
// Es werden die Stunden von allen markierten eintraegen geholt
|
||||
var stunden = TimeTableWeekGetMarkedHoursArray(item);
|
||||
if(stunden.length>0)
|
||||
{
|
||||
for(i in stunden)
|
||||
url = url+'&stunde[]='+stunden[i];
|
||||
|
||||
// Alle StundenplanIDs holen von den Eintraegen die markiert sind
|
||||
var ids = TimeTableWeekGetMarkedIdArray();
|
||||
for(i in ids)
|
||||
url = url+'&stplid[]='+ids[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
// Wenn kein eintrag markiert ist, wird der genommen auf den geklickt wurde
|
||||
url = url+'&stunde[]'+item.getAttribute('stunde');
|
||||
|
||||
idlist = item.getAttribute('idList');
|
||||
idarr = idlist.split(/&stundenplan_id[0-9]=/);
|
||||
for(i in idarr)
|
||||
{
|
||||
if(idarr[i]=='')
|
||||
continue;
|
||||
url = url+'&stplid[]'+idarr[i];
|
||||
}
|
||||
|
||||
}
|
||||
window.open(url,'Details', 'height=350,width=800,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
@@ -63,6 +63,13 @@ elseif ($ignore_kollision=='false')
|
||||
else
|
||||
$ignore_kollision=(boolean)true;
|
||||
|
||||
if (!isset($alle_unr_mitladen))
|
||||
$alle_unr_mitladen=(boolean)false;
|
||||
elseif ($alle_unr_mitladen=='false')
|
||||
$alle_unr_mitladen=(boolean)false;
|
||||
else
|
||||
$alle_unr_mitladen=(boolean)true;
|
||||
|
||||
// Bezeichnungen fuer Tabellen und Views
|
||||
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
|
||||
|
||||
@@ -129,6 +136,15 @@ if(isset($_GET['fachbereich_kurzbz']))
|
||||
else
|
||||
$fachbereich_kurzbz=null;
|
||||
|
||||
if (isset($_GET['new_unr']))
|
||||
$new_unr=$_GET['new_unr'];
|
||||
else
|
||||
$new_unr=null;
|
||||
|
||||
if (isset($_GET['new_blockung']))
|
||||
$new_blockung=$_GET['new_blockung'];
|
||||
else
|
||||
$new_blockung=null;
|
||||
?>
|
||||
|
||||
<!DOCTYPE page SYSTEM "chrome://tempus/locale/de-AT/tempus.dtd">
|
||||
@@ -142,6 +158,7 @@ else
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/DragAndDrop.js"/>
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/dragboard.js.php"/>
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php"/>
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
|
||||
<?php
|
||||
if (isset($semesterplan) && $semesterplan)
|
||||
echo '<script type="application/x-javascript" src="'.APP_ROOT.'content/lvplanung/stpl-semester-overlay.js.php"/>';
|
||||
@@ -386,6 +403,12 @@ elseif ($aktion=='lva_single_set')
|
||||
{
|
||||
$lva[$z]=new lehreinheit();
|
||||
$lva[$z]->loadLE($le_id);
|
||||
|
||||
if($new_unr!='')
|
||||
$lva[$z]->unr=$new_unr;
|
||||
if($new_blockung!='')
|
||||
$lva[$z]->stundenblockung=$new_blockung;
|
||||
|
||||
//$error_msg.='test'.$le_id.($lva[$i]->errormsg).($lva[$i]->stundenblockung);
|
||||
for ($j=0;$j<$lva[$z]->stundenblockung && $error_msg=='';$j++)
|
||||
if (!$lva[$z]->check_lva($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table) && !$ignore_kollision)
|
||||
@@ -394,9 +417,17 @@ elseif ($aktion=='lva_single_set')
|
||||
}
|
||||
for ($i=0;$i<$z && $error_msg=='';$i++)
|
||||
{
|
||||
if($new_unr!='')
|
||||
$lva[$i]->unr=$new_unr;
|
||||
if($new_blockung!='')
|
||||
$lva[$i]->stundenblockung=$new_blockung;
|
||||
|
||||
for ($j=0;$j<$lva[$i]->stundenblockung;$j++)
|
||||
{
|
||||
|
||||
if (!$lva[$i]->save_stpl($new_datum,$new_stunde+$j,$new_ort,$db_stpl_table,$uid))
|
||||
$error_msg.='Error: '.$lva[$i]->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -417,7 +448,7 @@ elseif ($aktion=='lva_multi_set')
|
||||
$ferien->getAll(0);
|
||||
|
||||
// Ende holen
|
||||
if (!$result_semester=$db->db_query("SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz='".addslashes($semester_aktuell)."';"))
|
||||
if (!$result_semester=$db->db_query("SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($semester_aktuell).";"))
|
||||
die ($db->db_last_error());
|
||||
if ($db->db_num_rows()>0)
|
||||
{
|
||||
@@ -622,7 +653,7 @@ while ($begin<=$ende)
|
||||
}
|
||||
|
||||
// Stundenplan einer Woche laden
|
||||
if (! $stdplan->load_week($datum,$db_stpl_table))
|
||||
if (! $stdplan->load_week($datum,$db_stpl_table, $alle_unr_mitladen))
|
||||
$error_msg.=$stdplan->errormsg;
|
||||
|
||||
//Raumvorschlag setzen
|
||||
|
||||
@@ -212,6 +212,14 @@ elseif(in_array($xsl,array('Lehrveranstaltungszeugnis','Zertifikat','Diplomurkun
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(in_array($xsl,array('Ressource')))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan'))
|
||||
{
|
||||
echo 'Sie haben keine Berechtigung dieses Dokument zu erstellen';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung')))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
|
||||
|
||||
@@ -610,7 +610,7 @@ function StudentAbschlusspruefungLoeschen()
|
||||
// * ein Protokoll gedruckt.
|
||||
// * Den Typ (Bakk/Dipl) des Protokolls bestimmt der zuletzt markierte.
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(lang)
|
||||
function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(event, lang)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-abschlusspruefung-tree');
|
||||
@@ -682,19 +682,26 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple(lang)
|
||||
}
|
||||
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
|
||||
|
||||
//Uebergangsloesung bis zur fertigstellung der dokumente
|
||||
// if(xsl=='PrProtMAEng')
|
||||
// window.open('<?php echo APP_ROOT; ?>/content/Record_of_Master_Examination.pdf');
|
||||
// else if(xsl=='PrProtBAEng')
|
||||
// window.open('<?php echo APP_ROOT; ?>/content/Record_of_Bachelor_Examination.pdf');
|
||||
// else
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz+'&output=pdf','Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Druckt das Pruefungsprotokoll fuer eine bestimmte Abschlusspruefung
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintPruefungsprotokoll(lang)
|
||||
function StudentAbschlusspruefungPrintPruefungsprotokoll(event, lang)
|
||||
{
|
||||
if(lang=='')
|
||||
lang='de';
|
||||
@@ -736,13 +743,21 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(lang)
|
||||
if(lang=='en2')
|
||||
xsl='PrProtMAEng';
|
||||
}
|
||||
//Uebergangsloesung bis zur fertigstellung der dokumente
|
||||
// if(xsl=='PrProtMAEng')
|
||||
// window.open('<?php echo APP_ROOT; ?>/content/Record_of_Master_Examination.pdf');
|
||||
// else if(xsl=='PrProtBAEng')
|
||||
// window.open('<?php echo APP_ROOT; ?>/content/Record_of_Bachelor_Examination.pdf');
|
||||
// else
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id+'&xsl_stg_kz='+stg_kz+'&output=pdf','Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id+'&xsl_stg_kz='+stg_kz+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -751,7 +766,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll(lang)
|
||||
// * ein Zeugnis gedruckt.
|
||||
// * Den Typ (Bakk/Dipl) des Zeugnisses bestimmt der zuletzt markierte.
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintPruefungszeugnisMultiple(sprache)
|
||||
function StudentAbschlusspruefungPrintPruefungszeugnisMultiple(event, sprache)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-abschlusspruefung-tree');
|
||||
@@ -812,13 +827,26 @@ function StudentAbschlusspruefungPrintPruefungszeugnisMultiple(sprache)
|
||||
}
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Pruefungszeugnis fuer eine bestimmte Abschlusspruefung drucken
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintPruefungszeugnis()
|
||||
function StudentAbschlusspruefungPrintPruefungszeugnis(event)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-abschlusspruefung-tree');
|
||||
@@ -838,7 +866,20 @@ function StudentAbschlusspruefungPrintPruefungszeugnis()
|
||||
else
|
||||
xsl='Diplomzeugnis';
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id,'PruefungsZeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id+'&output='+output,'PruefungsZeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -847,7 +888,7 @@ function StudentAbschlusspruefungPrintPruefungszeugnis()
|
||||
// * eine Urkunde gedruckt.
|
||||
// * Den Typ (Bakk/Dipl) der Urkunde bestimmt der zuletzt markierte Student.
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintUrkundeMultiple(sprache)
|
||||
function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-abschlusspruefung-tree');
|
||||
@@ -903,14 +944,27 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(sprache)
|
||||
}
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl_stg_kz='+stg_kz+'&xsl='+xsl+'&uid='+uids,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl_stg_kz='+stg_kz+'&xsl='+xsl+'&uid='+uids+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Druckt eine Urkunde zu der ausgewaehlten Abschlusspruefung
|
||||
// * die Sprache der Urkunde wird als Parameter uebergeben
|
||||
// ****
|
||||
function StudentAbschlusspruefungPrintUrkunde(sprache)
|
||||
function StudentAbschlusspruefungPrintUrkunde(event, sprache)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-abschlusspruefung-tree');
|
||||
@@ -941,7 +995,20 @@ function StudentAbschlusspruefungPrintUrkunde(sprache)
|
||||
else if(pruefungstyp_kurzbz=='Abschluss' && sprache=='deutsch')
|
||||
xsl='Magisterurkunde';
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid=;'+uid+'&abschlusspruefung_id='+abschlusspruefung_id+'&output=pdf','Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid=;'+uid+'&abschlusspruefung_id='+abschlusspruefung_id+'&output='+output,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
function StudentAbschlusspruefungTypChange()
|
||||
|
||||
@@ -310,4 +310,4 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
|
||||
<spacer flex="1" />
|
||||
</vbox>
|
||||
</overlay>
|
||||
</overlay>
|
||||
|
||||
@@ -5214,7 +5214,7 @@ function StudentPrintAusbildungsvertragEnglisch(event)
|
||||
// ****
|
||||
// * Erstellt die Studienerfolgsbestaetigung fuer einen oder mehrere Studenten
|
||||
// ****
|
||||
function StudentCreateStudienerfolg(xsl, finanzamt, studiensemester, all)
|
||||
function StudentCreateStudienerfolg(event, xsl, finanzamt, studiensemester, all)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
@@ -5253,8 +5253,22 @@ function StudentCreateStudienerfolg(xsl, finanzamt, studiensemester, all)
|
||||
all='&all=true';
|
||||
else
|
||||
all='';
|
||||
|
||||
if (event.shiftKey)
|
||||
{
|
||||
var output='odt';
|
||||
}
|
||||
else if (event.ctrlKey)
|
||||
{
|
||||
var output='doc';
|
||||
}
|
||||
else
|
||||
{
|
||||
var output='pdf';
|
||||
}
|
||||
|
||||
//PDF erzeugen
|
||||
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=studienerfolg.rdf.php&xsl='+xsl+'&uid='+paramList+'&ss='+studiensemester+'&typ='+finanzamt+all,'DiplomaSupplement', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=studienerfolg.rdf.php&xsl='+xsl+'&uid='+paramList+'&ss='+studiensemester+'&typ='+finanzamt+all+'&output='+output,'DiplomaSupplement', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ************* FUNKTIONEN ***************** //
|
||||
|
||||
@@ -335,39 +335,6 @@ function updatedbstpltable()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt den Wert einer Variable aus der DB
|
||||
// ****
|
||||
function getvariable(variable)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'getvariable');
|
||||
req.add('name', variable);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return val.dbdml_data;
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Liefert das eingestellte Studiensemester
|
||||
|
||||
@@ -72,6 +72,8 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
<command id="menu-prefs-ignore_kollision:command" oncommand="variableChange('ignore_kollision','menu-prefs-ignore_kollision');"/>
|
||||
<command id="menu-prefs-ignore_zeitsperre:command" oncommand="variableChange('ignore_zeitsperre','menu-prefs-ignore_zeitsperre');"/>
|
||||
<command id="menu-prefs-ignore_reservierung:command" oncommand="variableChange('ignore_reservierung','menu-prefs-ignore_reservierung');"/>
|
||||
<command id="menu-prefs-alle_unr_mitladen:command" oncommand="variableChange('alle_unr_mitladen','menu-prefs-alle_unr_mitladen');"/>
|
||||
<command id="menu-prefs-allow_lehrstunde_drop:command" oncommand="variableChange('allow_lehrstunde_drop','menu-prefs-allow_lehrstunde_drop');"/>
|
||||
<command id="menu-prefs-kollision_student:command" oncommand="variableChange('kollision_student','menu-prefs-kollision_student');"/>
|
||||
<command id="menu-prefs-max_kollision:command" oncommand="variableChangeValue('max_kollision');"/>
|
||||
<command id="menu-extras-kollisionstudent:command" oncommand="KollisionStudentShow();"/>
|
||||
@@ -208,6 +210,26 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
|
||||
checkbox ="true"
|
||||
checked ="<?php echo $kollision_student;?>"
|
||||
/>
|
||||
<menuitem
|
||||
id ="menu-prefs-alle_unr_mitladen"
|
||||
type ="checkbox"
|
||||
key ="menu-prefs-alle_unr_mitladen:key"
|
||||
label ="&menu-prefs-alle_unr_mitladen.label;"
|
||||
command ="menu-prefs-alle_unr_mitladen:command"
|
||||
accesskey ="&menu-prefs-alle_unr_mitladen.accesskey;"
|
||||
checkbox ="true"
|
||||
checked ="<?php echo $alle_unr_mitladen;?>"
|
||||
/>
|
||||
<menuitem
|
||||
id ="menu-prefs-allow_lehrstunde_drop"
|
||||
type ="checkbox"
|
||||
key ="menu-prefs-allow_lehrstunde_drop:key"
|
||||
label ="&menu-prefs-allow_lehrstunde_drop.label;"
|
||||
command ="menu-prefs-allow_lehrstunde_drop:command"
|
||||
accesskey ="&menu-prefs-allow_lehrstunde_drop.accesskey;"
|
||||
checkbox ="true"
|
||||
checked ="<?php echo $allow_lehrstunde_drop;?>"
|
||||
/>
|
||||
<menuitem
|
||||
id ="menu-prefs-max_kollision"
|
||||
key ="menu-prefs-max_kollision:key"
|
||||
|
||||
+131
-1
@@ -32,10 +32,11 @@ require_once('../include/benutzerfunktion.class.php');
|
||||
require_once('../include/stundenplan.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/reservierung.class.php');
|
||||
require_once('../include/betriebsmittel.class.php');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
error_reporting(0);
|
||||
//error_reporting(0);
|
||||
|
||||
$return = false;
|
||||
$errormsg = 'unknown';
|
||||
@@ -278,6 +279,135 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='deleteressource')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_POST['stundenplan_betriebsmittel_id']) && is_array($_POST['stundenplan_betriebsmittel_id']))
|
||||
{
|
||||
$return = true;
|
||||
foreach($_POST['stundenplan_betriebsmittel_id'] as $stundenplan_betriebsmittel_id)
|
||||
{
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
if(!$betriebsmittel->deleteStundenplanBetriebsmittel($stundenplan_betriebsmittel_id))
|
||||
{
|
||||
$errormsg='Fehler beim Loeschen: '.$betriebsmittel->errormsg;
|
||||
$return = false;
|
||||
$data = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'ID ist ungueltig';
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='addressource')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
$stunden = $_POST['stunden'];
|
||||
$stpl_id = $_POST['stpl_id'];
|
||||
$betriebsmittel_id = $_POST['betriebsmittel_id'];
|
||||
|
||||
$db = new basis_db();
|
||||
|
||||
if(isset($_POST['betriebsmittel_id']) && is_numeric($_POST['betriebsmittel_id']))
|
||||
{
|
||||
// Pro Stunde wird die Zuordnung nur auf eine der vorhandenen StundenplanIDs gehaengt
|
||||
foreach($stunden as $stunde)
|
||||
{
|
||||
$qry = "SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE stunde=".$db->db_add_param($stunde)."
|
||||
AND stundenplandev_id in (".$db->db_implode4SQL($stpl_id).") ORDER BY stundenplandev_id LIMIT 1";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$id = $row->stundenplandev_id;
|
||||
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
$betriebsmittel->stundenplandev_id=$id;
|
||||
$betriebsmittel->betriebsmittel_id = $betriebsmittel_id;
|
||||
$betriebsmittel->insertvon = $user;
|
||||
$betriebsmittel->insertamum = date('Y-m-d H:i:s');
|
||||
$betriebsmittel->new=true;
|
||||
if($betriebsmittel->saveStundenplanBetriebsmittel())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg;
|
||||
$return = false;
|
||||
$data = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'ID ist ungueltig';
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='saveressource')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan', null, 'suid'))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'keine Berechtigung';
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($_POST['stundenplan_betriebsmittel_id']) && is_numeric($_POST['stundenplan_betriebsmittel_id']))
|
||||
{
|
||||
$stundenplan_betriebsmittel_id = $_POST['stundenplan_betriebsmittel_id'];
|
||||
|
||||
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
|
||||
if($betriebsmittel->loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id))
|
||||
{
|
||||
|
||||
$betriebsmittel->anmerkung =$_POST['anmerkung'];
|
||||
|
||||
if($betriebsmittel->saveStundenplanBetriebsmittel())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg='Fehler beim Speichern: '.$betriebsmittel->errormsg;
|
||||
$return = false;
|
||||
$data = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'ID ist ungueltig';
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
|
||||
@@ -333,27 +333,6 @@ function loadURL(event)
|
||||
if (url) contentFrame.setAttribute('src', url);
|
||||
};
|
||||
|
||||
function parseRDFString(str, url)
|
||||
{
|
||||
|
||||
try {
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
} catch(e) {
|
||||
alert(e);
|
||||
return;
|
||||
}
|
||||
|
||||
var memoryDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
var ios=Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
|
||||
baseUri=ios.newURI(url,null,null);
|
||||
|
||||
var parser=Components.classes["@mozilla.org/rdf/xml-parser;1"].createInstance(Components.interfaces.nsIRDFXMLParser);
|
||||
parser.parseString(memoryDS,baseUri,str);
|
||||
|
||||
return memoryDS;
|
||||
}
|
||||
|
||||
function onFachbereichSelect(event)
|
||||
{
|
||||
var tree=document.getElementById('tree-fachbereich');
|
||||
|
||||
@@ -67,6 +67,7 @@ class betriebsmittel extends basis_db
|
||||
public $hoehe;
|
||||
public $breite;
|
||||
public $tiefe;
|
||||
public $verplanen=false;
|
||||
|
||||
public $nummer2;
|
||||
|
||||
@@ -137,7 +138,8 @@ class betriebsmittel extends basis_db
|
||||
$this->nummer2 = $row->nummer2;
|
||||
$this->anschaffungsdatum = $row->anschaffungsdatum;
|
||||
$this->anschaffungswert = $row->anschaffungswert;
|
||||
|
||||
$this->verplanen = $this->db_parse_bool($row->verplanen);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -276,7 +278,7 @@ class betriebsmittel extends basis_db
|
||||
, inventarnummer, reservieren, ort_kurzbz
|
||||
,ext_id, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer
|
||||
,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis, inventuramum, inventurvon,
|
||||
anschaffungsdatum, anschaffungswert, hoehe, breite, tiefe, nummer2) VALUES('.
|
||||
anschaffungsdatum, anschaffungswert, hoehe, breite, tiefe, nummer2,verplanen) VALUES('.
|
||||
$this->db_add_param($this->beschreibung).', '.
|
||||
$this->db_add_param($this->betriebsmitteltyp).', '.
|
||||
$this->db_add_param($this->nummer).', '.
|
||||
@@ -304,7 +306,8 @@ class betriebsmittel extends basis_db
|
||||
$this->db_add_param($this->hoehe).', '.
|
||||
$this->db_add_param($this->breite).', '.
|
||||
$this->db_add_param($this->tiefe).','.
|
||||
$this->db_add_param($this->nummer2).');' ;
|
||||
$this->db_add_param($this->nummer2).','.
|
||||
$this->db_add_param($this->verplanen, FHC_BOOLEAN).');' ;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -340,6 +343,7 @@ class betriebsmittel extends basis_db
|
||||
'hoehe='.$this->db_add_param($this->hoehe).', '.
|
||||
'breite='.$this->db_add_param($this->breite).', '.
|
||||
'tiefe='.$this->db_add_param($this->tiefe).', '.
|
||||
'verplanen='.$this->db_add_param($this->verplanen, FHC_BOOLEAN).','.
|
||||
'nummer2='.$this->db_add_param($this->nummer2).' '.
|
||||
'WHERE betriebsmittel_id='.$this->db_add_param($this->betriebsmittel_id).';';
|
||||
}
|
||||
@@ -1221,5 +1225,210 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Betriebsmittelzuordnungen zu Stundenplaneintraegen
|
||||
* @param $stundenplan_ids Array mit StundenplanIDs
|
||||
* @return boolean
|
||||
*/
|
||||
public function getBetriebsmittelStundenplan($stundenplan_ids)
|
||||
{
|
||||
if(count($stundenplan_ids)>0)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_stundenplan_betriebsmittel.stundenplan_betriebsmittel_id, tbl_stundenplan_betriebsmittel.anmerkung,
|
||||
tbl_betriebsmittel.betriebsmittel_id, tbl_betriebsmittel.beschreibung, tbl_stundenplandev.stunde
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE
|
||||
tbl_stundenplan_betriebsmittel.stundenplandev_id in( ".$this->db_implode4SQL($stundenplan_ids).")";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdclass();
|
||||
|
||||
$obj->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->stundenplan_betriebsmittel_id=$row->stundenplan_betriebsmittel_id;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->stunde = $row->stunde;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Betriebsmittel die zum angegebenen Datum und den Stunden frei und verplanbar ist
|
||||
* @param $datum Datum
|
||||
* @param $stunden array mit stunden
|
||||
* @return boolean
|
||||
*/
|
||||
public function getVerplanbar($datum, $stunden)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
wawi.tbl_betriebsmittel
|
||||
WHERE
|
||||
verplanen=true
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
WHERE
|
||||
betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id
|
||||
AND tbl_stundenplandev.datum=".$this->db_add_param($datum)."
|
||||
AND tbl_stundenplandev.stunde in(".$this->db_implode4SQL($stunden)."))";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$bm = new betriebsmittel();
|
||||
|
||||
$bm->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->betriebsmitteltyp = $row->betriebsmitteltyp;
|
||||
$bm->nummer = $row->nummer;
|
||||
$bm->inventarnummer = $row->inventarnummer;
|
||||
$bm->reservieren = $row->reservieren;
|
||||
$bm->ort_kurzbz = $row->ort_kurzbz;
|
||||
$bm->updateamum = $row->updateamum;
|
||||
$bm->updatevon = $row->updatevon;
|
||||
$bm->insertamum = $row->insertamum;
|
||||
$bm->insertvon = $row->insertvon;
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz;
|
||||
$bm->hersteller = $row->hersteller;
|
||||
$bm->seriennummer = $row->seriennummer;
|
||||
$bm->bestellung_id = $row->bestellung_id;
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id;
|
||||
$bm->afa = $row->afa;
|
||||
$bm->verwendung = $row->verwendung;
|
||||
$bm->anmerkung = $row->anmerkung;
|
||||
$bm->leasing_bis = $row->leasing_bis;
|
||||
$bm->inventuramum = $row->inventuramum;
|
||||
$bm->inventurvon = $row->inventurvon;
|
||||
$bm->nummer2 = $row->nummer2;
|
||||
$bm->anschaffungsdatum = $row->anschaffungsdatum;
|
||||
$bm->anschaffungswert = $row->anschaffungswert;
|
||||
|
||||
$this->result[] = $bm;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht eine Zuordnung
|
||||
* @param $stundenplan_betriebsmittel_id
|
||||
* @return boolean
|
||||
*/
|
||||
function deleteStundenplanBetriebsmittel($stundenplan_betriebsmittel_id)
|
||||
{
|
||||
$qry = "DELETE FROM lehre.tbl_stundenplan_betriebsmittel WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg ='Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Zuordnung von Betriebsmitteln zu Stundenplaneintraegen
|
||||
* @return boolean
|
||||
*/
|
||||
function saveStundenplanBetriebsmittel()
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_stundenplan_betriebsmittel(betriebsmittel_id, stundenplandev_id, anmerkung, insertamum, insertvon) VALUES(".
|
||||
$this->db_add_param($this->betriebsmittel_id).','.
|
||||
$this->db_add_param($this->stundenplandev_id).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_stundenplan_betriebsmittel SET
|
||||
anmerkung=".$this->db_add_param($this->anmerkung)."
|
||||
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($this->stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten:'.$qry.$this->db_last_error();;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Betriebsmittel-Stundenplan Zuordnung
|
||||
* @param $stundenplan_betriebsmittel_id
|
||||
* @return boolean
|
||||
*/
|
||||
function loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_stundenplan_betriebsmittel.*,
|
||||
tbl_betriebsmittel.beschreibung as bm_beschreibung
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->stundenplan_betriebsmittel_id = $row->stundenplan_betriebsmittel_id;
|
||||
$this->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$this->stundenplandev_id = $row->stundenplandev_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->beschreibung = $row->bm_beschreibung;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -185,13 +185,13 @@ class filter extends basis_db
|
||||
$html.=' >';
|
||||
$this->loadValues($filter->sql, $filter->valuename, $filter->showvalue);
|
||||
foreach ($this->values as $value)
|
||||
$html.="\n\t\t\t\t".'<option class="form-control" value="'.$value->value.'">'.$value->text.'</option>';
|
||||
$html.="\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
$html.="\n\t\t\t</select>";
|
||||
break;
|
||||
case 'datepicker':
|
||||
$html .= '<input type="text" id="' . $filter->kurzbz . '" name="' . $filter->kurzbz . '">';
|
||||
$html .= '<script>';
|
||||
$html .= '$("#' . $filter->kurzbz . '").datepicker();';
|
||||
$html .= '$("#' . $filter->kurzbz . '").datepicker({ dateFormat: \'yy-mm-dd\' });';
|
||||
$html .= '</script>';
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -322,6 +322,18 @@ function loadVariables($user)
|
||||
global $emailadressentrennzeichen;
|
||||
$emailadressentrennzeichen=',';
|
||||
}
|
||||
|
||||
if(!isset($alle_unr_mitladen))
|
||||
{
|
||||
global $alle_unr_mitladen;
|
||||
$alle_unr_mitladen='false';
|
||||
}
|
||||
if(!isset($allow_lehrstunde_drop))
|
||||
{
|
||||
global $allow_lehrstunde_drop;
|
||||
$allow_lehrstunde_drop='false';
|
||||
}
|
||||
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
|
||||
@@ -354,14 +354,14 @@ class gruppe extends basis_db
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->updatevon)>16)
|
||||
if(mb_strlen($this->updatevon)>32)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->insertvon)>16)
|
||||
if(mb_strlen($this->insertvon)>32)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -568,4 +568,4 @@ class gruppe extends basis_db
|
||||
return $gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/log.class.php');
|
||||
require_once(dirname(__FILE__).'/../config/global.config.inc.php');
|
||||
|
||||
class lehreinheit extends basis_db
|
||||
{
|
||||
@@ -492,7 +493,7 @@ class lehreinheit extends basis_db
|
||||
foreach ($this->mitarbeiter_uid as $lkt)
|
||||
$sql_lkt.="OR mitarbeiter_uid=".$this->db_add_param($lkt).' ';
|
||||
$sql_lkt=mb_substr($sql_lkt,3);
|
||||
$sql_lkt="(($sql_lkt) AND mitarbeiter_uid!='_DummyLektor')";
|
||||
$sql_lkt="(($sql_lkt) AND mitarbeiter_uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id FROM $stpl_table
|
||||
@@ -554,7 +555,7 @@ class lehreinheit extends basis_db
|
||||
foreach ($this->mitarbeiter_uid as $lkt)
|
||||
$sql_lkt.="OR uid='$lkt' ";
|
||||
$sql_lkt=mb_substr($sql_lkt,3);
|
||||
$sql_lkt="(($sql_lkt) AND uid!='_DummyLektor')";
|
||||
$sql_lkt="(($sql_lkt) AND uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
|
||||
FROM lehre.vw_reservierung
|
||||
WHERE datum=".$this->db_add_param($datum)." AND stunde=".$this->db_add_param($stunde)."
|
||||
|
||||
@@ -232,14 +232,16 @@ class lehrstunde extends basis_db
|
||||
* @param gruppe_kurzbz
|
||||
*
|
||||
*/
|
||||
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null, $lva=NULL)
|
||||
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null, $lva=NULL, $alle_unr_mitladen=false)
|
||||
{
|
||||
$num_rows_einheit=0;
|
||||
// Parameter Checken
|
||||
// Bezeichnung der Stundenplan-Tabelle und des Keys
|
||||
$stpl_id=$stpl_view.TABLE_ID;
|
||||
$stpl_view_ohneschema=VIEW_BEGIN.$stpl_view;
|
||||
$stpl_view='lehre.'.VIEW_BEGIN.$stpl_view;
|
||||
|
||||
|
||||
// Datum im Format YYYY-MM-TT ?
|
||||
if (!preg_match("/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/",$datum_von) )
|
||||
{
|
||||
@@ -338,9 +340,13 @@ class lehrstunde extends basis_db
|
||||
|
||||
// Stundenplandaten ermitteln
|
||||
// Abfrage generieren
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
|
||||
if ($type!='idList')
|
||||
{
|
||||
if($alle_unr_mitladen)
|
||||
$sql_query_stdplan='SELECT '.$stpl_id.', datum, stunde, unr FROM '.$stpl_view;
|
||||
else
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
$sql_query_lva="";
|
||||
$sql_query=" WHERE datum>=".$this->db_add_param($datum_von)." AND datum<".$this->db_add_param($datum_bis);
|
||||
if ($type == 'lva')
|
||||
@@ -372,7 +378,7 @@ class lehrstunde extends basis_db
|
||||
if ($type=='student')
|
||||
$sql_query.=' AND gruppe_kurzbz IS NULL';
|
||||
$sql_query.=' )';
|
||||
|
||||
|
||||
for ($i=0;$i<$num_rows_einheit;$i++)
|
||||
{
|
||||
$row=$this->db_fetch_object($result_einheit,$i);
|
||||
@@ -382,16 +388,37 @@ class lehrstunde extends basis_db
|
||||
}
|
||||
$sql_query_orderby=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid';
|
||||
$sql_query_stdplan.=$sql_query . $sql_query_lva . $sql_query_orderby;
|
||||
|
||||
// Wenn aktiviert, werden alle Stunden mit der gleichen UNR geladen die zur selben Zeit stattfinden
|
||||
if($alle_unr_mitladen)
|
||||
{
|
||||
$sql_query_stdplan="
|
||||
WITH lvplan(id, datum, stunde, unr) as
|
||||
(
|
||||
$sql_query_stdplan
|
||||
)
|
||||
SELECT
|
||||
$stpl_view_ohneschema.*
|
||||
FROM
|
||||
".$stpl_view.", lvplan
|
||||
WHERE
|
||||
$stpl_view_ohneschema.datum=lvplan.datum
|
||||
AND $stpl_view_ohneschema.stunde=lvplan.stunde
|
||||
AND $stpl_view_ohneschema.unr=lvplan.unr
|
||||
ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid
|
||||
";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
$sql_query='';
|
||||
foreach ($idList as $id)
|
||||
$sql_query.=" OR ".$stpl_id."=".$this->db_add_param($id);
|
||||
$sql_query=mb_substr($sql_query,3);
|
||||
$sql_query_stdplan.=' WHERE'.$sql_query;
|
||||
}
|
||||
|
||||
//die($sql_query_stdplan);
|
||||
//Datenbankabfrage
|
||||
if (!$this->db_query($sql_query_stdplan))
|
||||
{
|
||||
@@ -436,8 +463,9 @@ class lehrstunde extends basis_db
|
||||
$stunde->updatevon=$row->updatevon;
|
||||
$stunde->reservierung=false;
|
||||
$this->lehrstunden[$i]=$stunde;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Reservierungsdaten ermitteln
|
||||
if ($type!='idList' && $type!='fachbereich')
|
||||
{
|
||||
@@ -572,8 +600,8 @@ class lehrstunde extends basis_db
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id AS id, lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde FROM $stpl_table
|
||||
WHERE datum=".$this->db_add_param($this->datum)." AND stunde=".$this->db_add_param($this->stunde)." AND (ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." ";
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.=" OR (uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') ";
|
||||
if (!in_array($this->lektor_uid,unserialize(KOLLISIONSFREIE_USER)))
|
||||
$sql_query.=" OR (uid=".$this->db_add_param($this->lektor_uid)." AND uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
|
||||
//Wenn eine Kollisionspruefung auf Studentenebene durchgefuehrt wird, werden die LVB nicht gecheckt
|
||||
if($kollision_student=='false')
|
||||
@@ -605,13 +633,15 @@ class lehrstunde extends basis_db
|
||||
if ($anz==0)
|
||||
{
|
||||
// Zeitsperren pruefen
|
||||
if($ignore_zeitsperre=='false' && $this->lektor_uid!='_DummyLektor' && $this->kollision_zeitsperre())
|
||||
if($ignore_zeitsperre=='false' && !in_array($this->lektor_uid,unserialize(KOLLISIONSFREIE_USER)) && $this->kollision_zeitsperre())
|
||||
return true;
|
||||
|
||||
// Reservierungen pruefen
|
||||
if ($ignore_reservierung=='false' && $this->kollision_reservierung())
|
||||
return true;
|
||||
|
||||
if($this->kollision_ressource())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -622,6 +652,36 @@ class lehrstunde extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Kollision mit den zugeteilten Ressourcen vorhanden ist
|
||||
*
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision_ressource()
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_betriebsmittel.beschreibung, tbl_stundenplandev.ort_kurzbz
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE
|
||||
tbl_stundenplandev.datum=".$this->db_add_param($this->datum)."
|
||||
AND tbl_stundenplandev.stunde=".$this->db_add_param($this->stunde)."
|
||||
AND betriebsmittel_id IN(SELECT betriebsmittel_id FROM lehre.tbl_stundenplan_betriebsmittel WHERE stundenplandev_id=".$this->db_add_param($this->stundenplan_id).")";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->errormsg='Kollision (Ressource)'.$row->beschreibung.'|'.$row->ort_kurzbz;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Kollision mit den Zeitsperren vorhanden ist
|
||||
*
|
||||
@@ -668,8 +728,8 @@ class lehrstunde extends basis_db
|
||||
stunde=".$this->db_add_param($this->stunde)." AND
|
||||
(ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." OR ";
|
||||
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.="(uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') OR ";
|
||||
if (!in_array($this->lektor_uid, unserialize(KOLLISIONSFREIE_USER)))
|
||||
$sql_query.="(uid=".$this->db_add_param($this->lektor_uid)." AND uid not in(".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER)).")) OR ";
|
||||
|
||||
$sql_query.="(studiengang_kz=".$this->db_add_param($this->studiengang_kz)." AND semester=".$this->db_add_param($this->sem);
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
|
||||
@@ -268,6 +268,13 @@ class variable extends basis_db
|
||||
|
||||
if (!isset($this->variable->max_kollision))
|
||||
$this->variable->max_kollision='0';
|
||||
|
||||
if (!isset($this->variable->alle_unr_mitladen))
|
||||
$this->variable->alle_unr_mitladen='false';
|
||||
|
||||
if (!isset($this->variable->allow_lehrstunde_drop))
|
||||
$this->variable->allow_lehrstunde_drop='false';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+139
-72
@@ -42,6 +42,7 @@ require_once(dirname(__FILE__).'/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/globals.inc.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
require_once(dirname(__FILE__).'/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/betriebsmittel.class.php');
|
||||
|
||||
class wochenplan extends basis_db
|
||||
{
|
||||
@@ -374,7 +375,7 @@ class wochenplan extends basis_db
|
||||
* @param datum Datum eines Tages in der angeforderten Woche
|
||||
* @return true oder false
|
||||
*/
|
||||
public function load_week($datum, $stpl_view='stundenplan')
|
||||
public function load_week($datum, $stpl_view='stundenplan', $alle_unr_mitladen=false)
|
||||
{
|
||||
// Pruefung der Attribute
|
||||
if (!isset($this->type))
|
||||
@@ -398,7 +399,7 @@ class wochenplan extends basis_db
|
||||
|
||||
// Stundenplandaten ermittlen
|
||||
$this->wochenplan=new lehrstunde();
|
||||
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz,$this->lva);
|
||||
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz,$this->lva, $alle_unr_mitladen);
|
||||
if ($anz<0)
|
||||
{
|
||||
$this->errormsg=$this->wochenplan->errormsg;
|
||||
@@ -612,7 +613,7 @@ class wochenplan extends basis_db
|
||||
echo '"><img class="lvplanbutton" src="../../../skin/images/moreright_lvplan.png" title="'.$p->t('lvplan/vierWochenVor').'"></a>';
|
||||
echo '</p>';
|
||||
//Kalenderjump mit Hoverbox
|
||||
jahreskalenderjump_hoverbox($this->link);
|
||||
$this->jahreskalenderjump_hoverbox($this->link);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -845,7 +846,7 @@ class wochenplan extends basis_db
|
||||
$uEinheiten=array();
|
||||
for($n=0;$n<count($unr);$n++)
|
||||
{
|
||||
$unrIndex=searchForId($unr[$n], $uEinheiten);
|
||||
$unrIndex=$this->searchForId($unr[$n], $uEinheiten);
|
||||
if($unrIndex===FALSE)
|
||||
{
|
||||
/*
|
||||
@@ -1108,6 +1109,7 @@ class wochenplan extends basis_db
|
||||
// Kontext Menue
|
||||
echo '<popupset>
|
||||
<menupopup id="stplPopupMenue">
|
||||
<menuitem label="Ressourcen zuordnen" oncommand="TimeTableWeekMarkiere(document.popupNode);BetriebsmittelZuordnen(document.popupNode);" />
|
||||
<menuitem label="Raumvorschlag" oncommand="StplSearchRoom(document.popupNode);" />
|
||||
<menuitem label="Entfernen" oncommand="TimeTableWeekMarkiere(document.popupNode);TimetableDeleteEntries()" />
|
||||
</menupopup>
|
||||
@@ -1207,7 +1209,7 @@ class wochenplan extends basis_db
|
||||
$tooltip .= $bezeichnung;
|
||||
}
|
||||
}
|
||||
echo '<vbox style="border:1px solid black; background-color:'.$bgcolor.'"';
|
||||
echo '<vbox class="stplweek_vbox" style="border:1px solid black; background-color:'.$bgcolor.'"';
|
||||
if($tooltip!='')
|
||||
{
|
||||
echo ' tooltiptext="'.$this->convert_html_chars($tooltip).'"';
|
||||
@@ -1221,7 +1223,7 @@ class wochenplan extends basis_db
|
||||
stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'"
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
pers_uid="'.$this->pers_uid.'" stpltype="'.$this->type.'">';
|
||||
|
||||
|
||||
if (isset($this->std_plan[$i][$j][0]->lehrfach))
|
||||
{
|
||||
// Daten aufbereiten
|
||||
@@ -1229,6 +1231,7 @@ class wochenplan extends basis_db
|
||||
unset($lvb);
|
||||
//$lvb=array();
|
||||
$kollision=-1;
|
||||
unset($kollisionsmeldungen);
|
||||
if (isset($a_unr))
|
||||
unset($a_unr);
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
@@ -1279,9 +1282,16 @@ class wochenplan extends basis_db
|
||||
}
|
||||
$qry.="ORDER BY datum, stunde, student_uid LIMIT 1;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
if($this->db_num_rows()>0)
|
||||
if($stud_result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($stud_result)>0)
|
||||
{
|
||||
$kollision++;
|
||||
$stud_row = $this->db_fetch_object($stud_result);
|
||||
foreach($a_unr as $kollision_unr)
|
||||
$kollisionsmeldungen[$kollision_unr][]=' Studentenkollision '.$stud_row->student_uid;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
@@ -1295,26 +1305,29 @@ class wochenplan extends basis_db
|
||||
$a=0;
|
||||
foreach ($a_unr as $unr)
|
||||
{
|
||||
array_unique($a_lvb[$unr]);
|
||||
$lvb_unr_arr[$a]=$unr;
|
||||
$lvb[$a++]=$a_lvb[$unr];
|
||||
}
|
||||
|
||||
for ($a=0;$a<count($lvb)-1;$a++)
|
||||
for ($b=0;$b<count($lvb[$a]);$b++)
|
||||
for ($c=$a+1;$c<count($lvb);$c++)
|
||||
for ($d=0;$d<count($lvb[$c]);$d++)
|
||||
{
|
||||
$s1=mb_substr($lvb[$a][$b],0,1);
|
||||
$s2=mb_substr($lvb[$c][$d],0,1);
|
||||
$v1=trim(mb_substr($lvb[$a][$b],1,1));
|
||||
$v2=trim(mb_substr($lvb[$c][$d],1,1));
|
||||
$g1=trim(mb_substr($lvb[$a][$b],2,1));
|
||||
$g2=trim(mb_substr($lvb[$c][$d],2,1));
|
||||
if ($s1==$s2 || !$s1 || $s1=='' || $s1=='0' || !$s2 || $s2=='' || $s2=='0')
|
||||
if ($v1==$v2 || !$v1 || $v1=='' || $v1=='0' || !$v2 || $v2=='' || $v2=='0')
|
||||
if ($g1==$g2 || !$g1 || $g1=='' || $g1=='0' || !$g2 || $g2=='' || $g2=='0')
|
||||
$kollision++;
|
||||
}
|
||||
for ($a=0;$a<count($lvb)-1;$a++)
|
||||
for ($b=0;$b<count($lvb[$a]);$b++)
|
||||
for ($c=$a+1;$c<count($lvb);$c++)
|
||||
for ($d=0;$d<count($lvb[$c]);$d++)
|
||||
{
|
||||
$s1=mb_substr($lvb[$a][$b],0,1);
|
||||
$s2=mb_substr($lvb[$c][$d],0,1);
|
||||
$v1=trim(mb_substr($lvb[$a][$b],1,1));
|
||||
$v2=trim(mb_substr($lvb[$c][$d],1,1));
|
||||
$g1=trim(mb_substr($lvb[$a][$b],2,1));
|
||||
$g2=trim(mb_substr($lvb[$c][$d],2,1));
|
||||
if ($s1==$s2 || !$s1 || $s1=='' || $s1=='0' || !$s2 || $s2=='' || $s2=='0')
|
||||
if ($v1==$v2 || !$v1 || $v1=='' || $v1=='0' || !$v2 || $v2=='' || $v2=='0')
|
||||
if ($g1==$g2 || !$g1 || $g1=='' || $g1=='0' || !$g2 || $g2=='' || $g2=='0')
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lvb_unr_arr[$a]][]=' Gruppe '.trim($lvb[$a][$b]).' / '.trim($lvb[$c][$d]);
|
||||
$kollisionsmeldungen[$lvb_unr_arr[$c]][]=' Gruppe '.trim($lvb[$a][$b]).' / '.trim($lvb[$c][$d]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1337,11 +1350,19 @@ class wochenplan extends basis_db
|
||||
unset($updateamum);
|
||||
if (isset($updatevon))
|
||||
unset($updatevon);
|
||||
$farbe='';
|
||||
$tooltip_anmerkung=array();
|
||||
$paramList='';
|
||||
$z=0;
|
||||
$reservierung=false;
|
||||
$stundenplan_ids=array();
|
||||
|
||||
if(isset($raumcheck))
|
||||
unset($raumcheck);
|
||||
|
||||
if(isset($lktcheck))
|
||||
unset($lktcheck);
|
||||
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
if ($lehrstunde->unr==$unr)
|
||||
@@ -1374,17 +1395,34 @@ class wochenplan extends basis_db
|
||||
$reservierung=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$paramList.='&stundenplan_id'.$z++.'='.$lehrstunde->stundenplan_id;
|
||||
if(isset($lehrstunde->farbe))
|
||||
$stundenplan_ids[]=$lehrstunde->stundenplan_id;
|
||||
}
|
||||
if(isset($lehrstunde->farbe) && $farbe=='')
|
||||
$farbe=$lehrstunde->farbe;
|
||||
$titel=htmlspecialchars($lehrstunde->titel);
|
||||
$anmerkung=htmlspecialchars($lehrstunde->anmerkung);
|
||||
$tooltip_anmerkung[]=$titel.' '.$anmerkung;
|
||||
}
|
||||
|
||||
if(isset($raumcheck[$lehrstunde->ort]) && $raumcheck[$lehrstunde->ort]!=$lehrstunde->unr)
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lehrstunde->unr][]=" Ort ".$lehrstunde->ort;
|
||||
$kollisionsmeldungen[$raumcheck[$lehrstunde->ort]][]=" Ort ".$lehrstunde->ort;
|
||||
}
|
||||
else
|
||||
$raumcheck[$lehrstunde->ort]=$lehrstunde->unr;
|
||||
|
||||
if(isset($lktcheck[$lehrstunde->lektor]) && $lktcheck[$lehrstunde->lektor]!=$lehrstunde->unr)
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lehrstunde->unr][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor];
|
||||
$kollisionsmeldungen[$lktcheck[$lehrstunde->lektor]][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor];
|
||||
}
|
||||
else
|
||||
$lktcheck[$lehrstunde->lektor]=$lehrstunde->unr;
|
||||
}
|
||||
// Lektoren
|
||||
//if ($this->type!='lektor')
|
||||
@@ -1434,7 +1472,8 @@ class wochenplan extends basis_db
|
||||
$updatevonam.=$u.' ';
|
||||
|
||||
// Blinken oder nicht ?
|
||||
if ($kollision)
|
||||
if (isset($kollisionsmeldungen[$unr])
|
||||
|| (isset($kollisionsmeldung) && count($kollisionsmeldungen, COUNT_RECURSIVE)==0 && $kollision>0))
|
||||
{
|
||||
$blink_ein='<html:blink>';// .$kollision;
|
||||
$blink_aus='</html:blink>';
|
||||
@@ -1447,10 +1486,15 @@ class wochenplan extends basis_db
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($stg_kz);
|
||||
|
||||
$tooltip_anmerkung = array_unique($tooltip_anmerkung);
|
||||
$tooltip_gesamt = '('.$updatevonam.') '.implode(',',$tooltip_anmerkung);
|
||||
|
||||
if(isset($kollisionsmeldungen[$unr]))
|
||||
$tooltip_gesamt .= ' Kollision wegen:'.implode(',',array_unique($kollisionsmeldungen[$unr]));
|
||||
|
||||
// Ausgabe
|
||||
echo '<button id="buttonSTPL'.$count.'"
|
||||
tooltiptext="('.$updatevonam.') '.$titel.' - '.$anmerkung.'"
|
||||
tooltiptext="'.$this->convert_html_chars($tooltip_gesamt).'"
|
||||
style="border:1px solid transparent;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';-moz-appearance:none"
|
||||
styleOrig="border:1px solid transparent;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';-moz-appearance:none" ';
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'uid'))
|
||||
@@ -1458,6 +1502,9 @@ class wochenplan extends basis_db
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'u'))
|
||||
echo 'ondraggesture="nsDragAndDrop.startDrag(event,listObserver)" ';
|
||||
//onclick="return onStplSearchRoom(event, event.target);"
|
||||
$button_orte = $this->ort_kurzbz;
|
||||
if($button_orte=='')
|
||||
$button_orte=$ort[0];
|
||||
echo 'ondragdrop="nsDragAndDrop.drop(event,boardObserver)"
|
||||
ondragover="nsDragAndDrop.dragOver(event,boardObserver)"
|
||||
oncommand="TimeTableWeekClick(event)"
|
||||
@@ -1470,7 +1517,7 @@ class wochenplan extends basis_db
|
||||
stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'"
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'" wochentag="'.$i.'"
|
||||
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.$this->ort_kurzbz.'">';
|
||||
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.$button_orte.'">';
|
||||
|
||||
echo '<label align="center">'.$blink_ein;
|
||||
$count++;
|
||||
@@ -1480,6 +1527,20 @@ class wochenplan extends basis_db
|
||||
{
|
||||
echo '<image src="../../skin/images/sticky.png" tooltip="'.$titel.'"/>';
|
||||
}
|
||||
|
||||
// Zugeteilte Ressourcen Anzeigen
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
if($betriebsmittel->getBetriebsmittelStundenplan($stundenplan_ids))
|
||||
{
|
||||
if(count($betriebsmittel->result)>0)
|
||||
{
|
||||
$ressourceinfo='';
|
||||
foreach($betriebsmittel->result as $row)
|
||||
$ressourceinfo.=$row->beschreibung.' ';
|
||||
echo '<image src="../../skin/images/group.png" tooltip="'.$this->convert_html_chars($ressourceinfo).'"/>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '<html:br />';
|
||||
echo $lvb;
|
||||
if ($this->type!='lektor')
|
||||
@@ -1526,6 +1587,7 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '<description class="stplweek_tagesinfo">'.date("D",$datum).'-'.$j.'</description>';
|
||||
echo '</vbox>'.$this->crlf;
|
||||
}
|
||||
echo "</row>";
|
||||
@@ -1611,6 +1673,8 @@ class wochenplan extends basis_db
|
||||
$gruppe[]=$row->gruppe_kurzbz;
|
||||
else
|
||||
$gruppe[]='';
|
||||
if(!isset($lehrverband[$i]))
|
||||
$lehrverband[$i]= new stdClass();
|
||||
$lehrverband[$i]->stg_kz=$row->studiengang_kz;
|
||||
$lehrverband[$i]->sem=$row->semester;
|
||||
$lehrverband[$i]->ver=$row->verband;
|
||||
@@ -1930,7 +1994,7 @@ class wochenplan extends basis_db
|
||||
$lkt.=" OR mitarbeiter_uid=".$this->db_add_param($l);
|
||||
$lkt=mb_substr($lkt,3);
|
||||
//Dummy Lektor kollidiert nicht
|
||||
$lkt='(('.$lkt.") AND mitarbeiter_uid!='_DummyLektor')";
|
||||
$lkt='(('.$lkt.') AND mitarbeiter_uid not in ('.$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER)).'))';
|
||||
// Gruppen
|
||||
$gruppen='';
|
||||
if (isset($gruppe))
|
||||
@@ -2499,48 +2563,51 @@ class wochenplan extends basis_db
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function jahreskalenderjump_hoverbox($link) //Mit Hoverbox Effekt
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$crlf=crlf();
|
||||
$datum=time();
|
||||
$woche=kalenderwoche($datum);
|
||||
$wochenmontag=montag($datum);
|
||||
|
||||
echo '<table align="center"><tr valign="top"><td>
|
||||
<div class="hoverbox">
|
||||
<div class="preview">
|
||||
<img src="../../../skin/images/down_lvplan.png" border="0"/>
|
||||
<div class="hoverbox_inhalt">
|
||||
<table class="hoverbox"><tr>'.$crlf;
|
||||
for ($anz=1;$anz<25;$anz++)
|
||||
protected function searchForId($id, $array)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <td style="padding: 3px;" align="center"><A HREF="'.$linknew.'"><nobr>KW '.$woche.'</nobr><br>'.date('d.m', $wochenmontag).'</A></td>'.$crlf;
|
||||
if ($anz%8==0)
|
||||
echo ' </tr><tr align="center">'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
$wochenmontag+=60*60*24*7;
|
||||
}
|
||||
echo ' </tr></table></div></div></div></td></tr></table>'.$crlf;
|
||||
}
|
||||
|
||||
function searchForId($id, $array)
|
||||
{
|
||||
foreach ($array as $key => $val)
|
||||
{
|
||||
if ($val['unr'] == $id)
|
||||
foreach ($array as $key => $val)
|
||||
{
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if ($val['unr'] == $id)
|
||||
{
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt einen HTML-Dialog mit den Kalenderwochen aus
|
||||
* @param $link
|
||||
*/
|
||||
protected function jahreskalenderjump_hoverbox($link)
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$crlf=crlf();
|
||||
$datum=time();
|
||||
$woche=kalenderwoche($datum);
|
||||
$wochenmontag=montag($datum);
|
||||
|
||||
echo '<table align="center"><tr valign="top"><td>
|
||||
<div class="hoverbox">
|
||||
<div class="preview">
|
||||
<img src="../../../skin/images/down_lvplan.png" border="0"/>
|
||||
<div class="hoverbox_inhalt">
|
||||
<table class="hoverbox"><tr>'.$crlf;
|
||||
for ($anz=1;$anz<25;$anz++)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <td style="padding: 3px;" align="center"><A HREF="'.$linknew.'"><nobr>KW '.$woche.'</nobr><br>'.date('d.m', $wochenmontag).'</A></td>'.$crlf;
|
||||
if ($anz%8==0)
|
||||
echo ' </tr><tr align="center">'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
$wochenmontag+=60*60*24*7;
|
||||
}
|
||||
echo ' </tr></table></div></div></div></td></tr></table>'.$crlf;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -50,6 +50,14 @@
|
||||
<!ENTITY menu-prefs-ignore_kollision.label "ignore_kollision">
|
||||
<!ENTITY menu-prefs-ignore_kollision.accesskey "k">
|
||||
|
||||
<!ENTITY menu-prefs-alle_unr_mitladen.key "a">
|
||||
<!ENTITY menu-prefs-alle_unr_mitladen.label "Alle Einträge laden">
|
||||
<!ENTITY menu-prefs-alle_unr_mitladen.accesskey "a">
|
||||
|
||||
<!ENTITY menu-prefs-allow_lehrstunde_drop.key "l">
|
||||
<!ENTITY menu-prefs-allow_lehrstunde_drop.label "Drop auf Lehrstunde">
|
||||
<!ENTITY menu-prefs-allow_lehrstunde_drop.accesskey "l">
|
||||
|
||||
<!ENTITY menu-prefs-kollision_student.key "s">
|
||||
<!ENTITY menu-prefs-kollision_student.label "kollision_student">
|
||||
<!ENTITY menu-prefs-kollision_student.accesskey "s">
|
||||
|
||||
@@ -42,9 +42,9 @@ if($von)
|
||||
$db = new basis_db();
|
||||
$data = array();
|
||||
|
||||
if(!$studiengang)
|
||||
/*if(!$studiengang)
|
||||
die('Die ID des Studiengangs muss uebergeben werden');
|
||||
|
||||
*/
|
||||
// Daten der Lehreinheiten ermitteln
|
||||
$qry = "SELECT le.lehreinheit_id, le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnung AS lvbez, stg.bezeichnung AS stgbez, "
|
||||
. "sp.ort_kurzbz, datum, beginn, ende "
|
||||
@@ -53,7 +53,10 @@ $qry = "SELECT le.lehreinheit_id, le.lehrveranstaltung_id, lv.lvnr, lv.bezeichnu
|
||||
. "JOIN public.tbl_studiengang stg ON stg.studiengang_kz = lv.studiengang_kz "
|
||||
. "JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id) "
|
||||
. "JOIN lehre.tbl_stunde stu ON stu.stunde = sp.stunde "
|
||||
. "WHERE stg.studiengang_kz = " . $db->db_add_param($studiengang) . " ";
|
||||
. "WHERE 1=1";
|
||||
|
||||
if($studiengang!='')
|
||||
$qry.=" AND stg.studiengang_kz = " . $db->db_add_param($studiengang) . " ";
|
||||
|
||||
// Optionen zu Query hinzufügen
|
||||
if($lehreinheit)
|
||||
@@ -99,14 +102,14 @@ foreach($data as $key => $value)
|
||||
|
||||
// Daten der Studenten ermitteln
|
||||
$qry = "SELECT pe.person_id, vorname, nachname, titelpre, titelpost, note, "
|
||||
. "get_rolle_prestudent(pre.prestudent_id, " . $db->db_add_param($studiensemester) . ") AS laststatus "
|
||||
. "get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") AS laststatus "
|
||||
. "FROM campus.vw_student_lehrveranstaltung stlv "
|
||||
. "JOIN public.tbl_benutzer be ON be.uid = stlv.uid "
|
||||
. "JOIN public.tbl_person pe ON pe.person_id = be.person_id "
|
||||
. "JOIN public.tbl_prestudent pre ON (pre.person_id = pe.person_id AND pre.studiengang_kz = " . $db->db_add_param($studiengang) . ") "
|
||||
. "JOIN public.tbl_student ON be.uid = tbl_student.student_uid "
|
||||
. "LEFT JOIN lehre.tbl_zeugnisnote zn ON (zn.lehrveranstaltung_id = stlv.lehrveranstaltung_id AND zn.student_uid = stlv.uid AND zn.studiensemester_kurzbz = " . $db->db_add_param($studiensemester) . ") "
|
||||
. "WHERE stlv.lehreinheit_id = " . $db->db_add_param($key) . " "
|
||||
. "AND get_rolle_prestudent(pre.prestudent_id, " . $db->db_add_param($studiensemester) . ") NOT IN ('Abbrecher', 'Unterbrecher') "
|
||||
. "AND get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") NOT IN ('Abbrecher', 'Unterbrecher') "
|
||||
. "ORDER BY nachname ASC";
|
||||
|
||||
if($db->db_query($qry))
|
||||
@@ -162,21 +165,24 @@ foreach($data as $lehreinheit_id => $value)
|
||||
|
||||
// Ausgabe der Studenten
|
||||
echo "<studenten>";
|
||||
foreach($value['studenten'] as $student)
|
||||
if(isset($value['studenten']) && is_array($value['studenten']))
|
||||
{
|
||||
// Barcode erstellen
|
||||
$paddedPersonId = str_pad($student->person_id, 12, "0", STR_PAD_LEFT);
|
||||
$barcode = ean13($paddedPersonId);
|
||||
foreach($value['studenten'] as $student)
|
||||
{
|
||||
// Barcode erstellen
|
||||
$paddedPersonId = str_pad($student->person_id, 12, "0", STR_PAD_LEFT);
|
||||
$barcode = ean13($paddedPersonId);
|
||||
|
||||
echo "\n <student>";
|
||||
echo "\n <barcode><![CDATA[".$barcode."]]></barcode>";
|
||||
echo "\n <vorname><![CDATA[".$student->vorname."]]></vorname>";
|
||||
echo "\n <nachname><![CDATA[".$student->nachname."]]></nachname>";
|
||||
echo "\n <titelpre><![CDATA[".$student->titelpre."]]></titelpre>";
|
||||
echo "\n <titelpost><![CDATA[".$student->titelpost."]]></titelpost>";
|
||||
echo "\n <note><![CDATA[".$student->note."]]></note>";
|
||||
echo "\n <status><![CDATA[".$student->laststatus."]]></status>";
|
||||
echo "\n </student>";
|
||||
echo "\n <student>";
|
||||
echo "\n <barcode><![CDATA[".$barcode."]]></barcode>";
|
||||
echo "\n <vorname><![CDATA[".$student->vorname."]]></vorname>";
|
||||
echo "\n <nachname><![CDATA[".$student->nachname."]]></nachname>";
|
||||
echo "\n <titelpre><![CDATA[".$student->titelpre."]]></titelpre>";
|
||||
echo "\n <titelpost><![CDATA[".$student->titelpost."]]></titelpost>";
|
||||
echo "\n <note><![CDATA[".$student->note."]]></note>";
|
||||
echo "\n <status><![CDATA[".$student->laststatus."]]></status>";
|
||||
echo "\n </student>";
|
||||
}
|
||||
}
|
||||
echo "</studenten>";
|
||||
echo "</anwesenheitsliste>";
|
||||
|
||||
@@ -43,7 +43,15 @@ if(isset($_GET['filter']))
|
||||
else
|
||||
$filter = '';
|
||||
|
||||
$datum = new datum();
|
||||
if(isset($_GET['datum']))
|
||||
$datum = $_GET['datum'];
|
||||
else
|
||||
$datum = '';
|
||||
|
||||
if(isset($_GET['stunde']))
|
||||
$stunde = $_GET['stunde'];
|
||||
else
|
||||
$stunde = '';
|
||||
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
|
||||
@@ -86,6 +94,16 @@ elseif($filter!='')
|
||||
|
||||
|
||||
}
|
||||
elseif($datum!='')
|
||||
{
|
||||
$betriebsmittel->getVerplanbar($datum, $stunde);
|
||||
|
||||
if(isset($betriebsmittel->result) && count($betriebsmittel->result)>0)
|
||||
{
|
||||
foreach ($betriebsmittel->result as $row)
|
||||
draw_rdf($row);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function draw_rdf($row)
|
||||
@@ -105,4 +123,4 @@ function draw_rdf($row)
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -117,9 +117,9 @@ else
|
||||
|
||||
$error_msg='';
|
||||
$error_msg.=loadVariables($uid);
|
||||
|
||||
$alle_unr_mitladen=true;
|
||||
$lehrstunden=new lehrstunde();
|
||||
$anz=$lehrstunden->load_lehrstunden($type,$datum,$datum_bis,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$einheit,$db_stpl_table,$idList);
|
||||
$anz=$lehrstunden->load_lehrstunden($type,$datum,$datum_bis,$pers_uid,$ort_kurzbz,$stg_kz,$sem,$ver,$grp,$einheit,$db_stpl_table,$idList,null, null, $alle_unr_mitladen);
|
||||
if ($anz<0)
|
||||
{
|
||||
$errormsg=$lehrstunden->errormsg;
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oestereicher <oesi@technikum-wien.at>
|
||||
*/
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/betriebsmittel.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
|
||||
$datum_obj = new datum();
|
||||
if(isset($_REQUEST['stundenplan_ids']) || isset($_REQUEST['stundenplan_betriebsmittel_id']))
|
||||
{
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/lvplan'))
|
||||
die('Sie haben keine Berechtigung (lvplan)');
|
||||
|
||||
$oRdf = new rdf('STUNDENPLANBETRIEBSMITTEL','http://www.technikum-wien.at/stundenplanbetriebsmittel');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
|
||||
if(isset($_REQUEST['stundenplan_ids']))
|
||||
{
|
||||
$stundenplan_ids=$_REQUEST['stundenplan_ids'];
|
||||
|
||||
if($betriebsmittel->getBetriebsmittelStundenplan($stundenplan_ids))
|
||||
{
|
||||
if(count($betriebsmittel->result)>0)
|
||||
{
|
||||
foreach($betriebsmittel->result as $row)
|
||||
{
|
||||
$i=$oRdf->newObjekt($row->stundenplan_betriebsmittel_id);
|
||||
$oRdf->obj[$i]->setAttribut('stundenplan_betriebsmittel_id',$row->stundenplan_betriebsmittel_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung,true);
|
||||
$oRdf->obj[$i]->setAttribut('betriebsmittel_id',$row->betriebsmittel_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('anmerkung',$row->anmerkung,true);
|
||||
$oRdf->obj[$i]->setAttribut('stunde',$row->stunde,true);
|
||||
|
||||
$oRdf->addSequence($row->stundenplan_betriebsmittel_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_REQUEST['stundenplan_betriebsmittel_id']))
|
||||
{
|
||||
$stundenplan_betriebsmittel_id=$_REQUEST['stundenplan_betriebsmittel_id'];
|
||||
|
||||
if($betriebsmittel->loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id))
|
||||
{
|
||||
$i=$oRdf->newObjekt($betriebsmittel->stundenplan_betriebsmittel_id);
|
||||
$oRdf->obj[$i]->setAttribut('stundenplan_betriebsmittel_id',$betriebsmittel->stundenplan_betriebsmittel_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$betriebsmittel->beschreibung,true);
|
||||
$oRdf->obj[$i]->setAttribut('betriebsmittel_id',$betriebsmittel->betriebsmittel_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('anmerkung',$betriebsmittel->anmerkung,true);
|
||||
|
||||
$oRdf->addSequence($betriebsmittel->stundenplan_betriebsmittel_id);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
die('Falsche Parameteruebergabe');
|
||||
$oRdf->sendRdfText();
|
||||
}
|
||||
elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlformat']=='xml')
|
||||
{
|
||||
$db = new basis_db();
|
||||
$qry = '
|
||||
SELECT
|
||||
tbl_stundenplan.datum,
|
||||
tbl_stundenplan.stunde,
|
||||
tbl_stunde.beginn,
|
||||
tbl_stunde.ende,
|
||||
tbl_stundenplan.ort_kurzbz,
|
||||
tbl_betriebsmittel.beschreibung,
|
||||
tbl_stundenplan_betriebsmittel.anmerkung,
|
||||
tbl_lehrveranstaltung.bezeichnung,
|
||||
tbl_stundenplan.mitarbeiter_uid,
|
||||
tbl_stundenplan.lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplan ON(stundenplandev_id=stundenplan_id)
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
JOIN lehre.tbl_stunde USING(stunde)
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_stundenplan.datum>='.$db->db_add_param($_REQUEST['von']).'
|
||||
AND tbl_stundenplan.datum<='.$db->db_add_param($_REQUEST['bis']).'
|
||||
ORDER BY datum, ort_kurzbz, stunde';
|
||||
|
||||
header("Content-type: application/xhtml+xml");
|
||||
$xml = "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>";
|
||||
echo '<stundenplan_betriebsmittel>';
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$obj = array();
|
||||
$obj['ort_kurzbz']=$row->ort_kurzbz;
|
||||
$obj['stunde']=$row->stunde;
|
||||
$obj['beginn']=$row->beginn;
|
||||
$obj['ende']=$row->ende;
|
||||
$obj['mitarbeiter_uid']=$row->mitarbeiter_uid;
|
||||
$obj['beschreibung']=$row->beschreibung;
|
||||
$obj['anmerkung']=$row->anmerkung;
|
||||
$obj['lvbezeichnung']=$row->bezeichnung;
|
||||
$data[$row->datum][$row->lehreinheit_id][$row->stunde][]=$obj;
|
||||
}
|
||||
}
|
||||
foreach($data as $datum=>$tage)
|
||||
{
|
||||
echo '<tage>';
|
||||
echo '<datum><![CDATA['.$datum_obj->formatDatum($datum,'d.m.Y').']]></datum>';
|
||||
foreach($tage as $datum=>$lehreinheiten)
|
||||
{
|
||||
echo '<lehreinheit>';
|
||||
foreach($lehreinheiten as $lehreinheit_id=>$stunden)
|
||||
{
|
||||
echo '<stunde>';
|
||||
foreach($stunden as $stunde=>$obj)
|
||||
{
|
||||
echo '<item>';
|
||||
echo '<ort_kurzbz><![CDATA['.$obj['ort_kurzbz'].']]></ort_kurzbz>';
|
||||
echo '<stunde><![CDATA['.$obj['stunde'].']]></stunde>';
|
||||
echo '<stunde_beginn><![CDATA['.mb_substr($obj['beginn'],0,5).']]></stunde_beginn>';
|
||||
echo '<stunde_ende><![CDATA['.mb_substr($obj['ende'],0,5).']]></stunde_ende>';
|
||||
echo '<mitarbeiter_uid><![CDATA['.$obj['mitarbeiter_uid'].']]></mitarbeiter_uid>';
|
||||
echo '<beschreibung><![CDATA['.$obj['beschreibung'].']]></beschreibung>';
|
||||
echo '<anmerkung><![CDATA['.$obj['anmerkung'].']]></anmerkung>';
|
||||
echo '<lvbezeichnung><![CDATA['.$obj['lvbezeichnung'].']]></lvbezeichnung>';
|
||||
echo '</item>';
|
||||
}
|
||||
echo '</stunde>';
|
||||
}
|
||||
echo '</lehreinheit>';
|
||||
}
|
||||
echo '</tage>';
|
||||
}
|
||||
echo '</stundenplan_betriebsmittel>';
|
||||
}
|
||||
?>
|
||||
@@ -151,3 +151,14 @@ toolbarbutton.stplweekoverlay-toolbarbutton:hover
|
||||
{
|
||||
border: 1px outset black;
|
||||
}
|
||||
|
||||
.stplweek_vbox:hover .stplweek_tagesinfo
|
||||
{
|
||||
color: #AAAAAA;
|
||||
visibility:visible;
|
||||
}
|
||||
|
||||
.stplweek_tagesinfo
|
||||
{
|
||||
visibility:hidden;
|
||||
}
|
||||
|
||||
+1189
-235
File diff suppressed because it is too large
Load Diff
+41
-2
@@ -2954,6 +2954,44 @@ if(!$result = @$db->db_query("SELECT beschreibung FROM public.tbl_studiensemeste
|
||||
echo ' public.tbl_studiensemester: Spalte beschreibung hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
// Eigene Berechtigung fuer Betriebsmittel Studndenplan
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_stundenplan_betriebsmittel LIMIT 1"))
|
||||
{
|
||||
$qry = "CREATE TABLE lehre.tbl_stundenplan_betriebsmittel
|
||||
(
|
||||
stundenplan_betriebsmittel_id bigint,
|
||||
betriebsmittel_id bigint,
|
||||
stundenplandev_id bigint,
|
||||
anmerkung text,
|
||||
insertamum timestamp,
|
||||
insertvon varchar(32)
|
||||
);
|
||||
|
||||
ALTER TABLE lehre.tbl_stundenplan_betriebsmittel ADD CONSTRAINT pk_stundenplan_betriebsmittel PRIMARY KEY (stundenplan_betriebsmittel_id);
|
||||
|
||||
CREATE SEQUENCE lehre.seq_stundenplan_betriebsmittel_id
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE wawi.tbl_betriebsmittel ADD COLUMN verplanen boolean NOT NULL default false;
|
||||
|
||||
ALTER TABLE lehre.tbl_stundenplan_betriebsmittel ALTER COLUMN stundenplan_betriebsmittel_id SET DEFAULT nextval('lehre.seq_stundenplan_betriebsmittel_id');
|
||||
ALTER TABLE lehre.tbl_stundenplan_betriebsmittel ADD CONSTRAINT fk_stundenplan_betriebsmittel_stundenplandev FOREIGN KEY (stundenplandev_id) REFERENCES lehre.tbl_stundenplandev (stundenplandev_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
||||
ALTER TABLE lehre.tbl_stundenplan_betriebsmittel ADD CONSTRAINT fk_stundenplan_betriebsmittel_betriebsmittel FOREIGN KEY (betriebsmittel_id) REFERENCES wawi.tbl_betriebsmittel (betriebsmittel_id) ON UPDATE CASCADE ON DELETE CASCADE;
|
||||
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON lehre.tbl_stundenplan_betriebsmittel TO vilesci;
|
||||
GRANT SELECT, UPDATE ON lehre.seq_stundenplan_betriebsmittel_id TO vilesci;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' system.tbl_berechtigung: Eigene Berechtigung fuer persoenliche Daten bei den Mitarbeitern mitarbeiter/persoenlich hinzugefuegt!<br>';
|
||||
|
||||
}
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -3087,6 +3125,7 @@ $tabellen=array(
|
||||
"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_stundenplan_betriebsmittel" => array("stundenplan_betriebsmittel_id","betriebsmittel_id","stundenplandev_id","anmerkung","insertamum","insertvon"),
|
||||
"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"),
|
||||
@@ -3162,7 +3201,7 @@ $tabellen=array(
|
||||
"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", "onlinebewerbung"),
|
||||
"public.tbl_studiengangstyp" => array("typ","bezeichnung","beschreibung"),
|
||||
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id"),
|
||||
"public.tbl_studiensemester" => array("studiensemester_kurzbz","bezeichnung","start","ende","studienjahr_kurzbz","ext_id","beschreibung"),
|
||||
"public.tbl_tag" => array("tag"),
|
||||
"public.tbl_variable" => array("name","uid","wert"),
|
||||
"public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"),
|
||||
@@ -3190,7 +3229,7 @@ $tabellen=array(
|
||||
"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" => 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","verplanen"),
|
||||
"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"),
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
$hoehe=isset($_REQUEST['hoehe'])?$_REQUEST['hoehe']:'';
|
||||
$breite=isset($_REQUEST['breite'])?$_REQUEST['breite']:'';
|
||||
$tiefe=isset($_REQUEST['tiefe'])?$_REQUEST['tiefe']:'';
|
||||
$verplanen=isset($_REQUEST['verplanen'])?$_REQUEST['verplanen']:false;
|
||||
|
||||
$jahr_monat=trim(isset($_REQUEST['jahr_monat']) ? $_REQUEST['jahr_monat']:'');
|
||||
$inventur_jahr=trim(isset($_REQUEST['inventur_jahr']) ? $_REQUEST['inventur_jahr']:'');
|
||||
@@ -236,6 +237,7 @@
|
||||
$hoehe = $oBetriebsmittel->hoehe;
|
||||
$breite = $oBetriebsmittel->breite;
|
||||
$tiefe = $oBetriebsmittel->tiefe;
|
||||
$verplanen = $oBetriebsmittel->verplanen;
|
||||
|
||||
$bestellung_id_old=$bestellung_id;
|
||||
$bestelldetail_id_old=$bestelldetail_id;
|
||||
@@ -829,6 +831,10 @@ if($betriebsmittel_id!='' || $anzahl_lock)
|
||||
<td>
|
||||
<input id="tiefe" name="tiefe" size="4" maxlength="8" value="<?php echo $tiefe;?>">
|
||||
</td>
|
||||
<td> <label for="tiefe">Verplanen</label> </td>
|
||||
<td>
|
||||
<input type="checkbox" id="verplanen" name="verplanen" <?php echo ($verplanen?'checked=checked':'');?>>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -904,6 +910,7 @@ $anschaffungswert_array=(isset($_REQUEST['anschaffungswert_array'])?$_REQUEST['a
|
||||
$hoehe_array=(isset($_REQUEST['hoehe_array'])?$_REQUEST['hoehe_array']:array());
|
||||
$breite_array=(isset($_REQUEST['breite_array'])?$_REQUEST['breite_array']:array());
|
||||
$tiefe_array=(isset($_REQUEST['tiefe_array'])?$_REQUEST['tiefe_array']:array());
|
||||
$verplanen_array=(isset($_REQUEST['verplanen_array'])?$_REQUEST['verplanen_array']:array());
|
||||
|
||||
for ($pos=0;$pos<$anzahl;$pos++)
|
||||
{
|
||||
@@ -933,6 +940,7 @@ for ($pos=0;$pos<$anzahl;$pos++)
|
||||
$hoehe_array[$pos]=isset($hoehe_array[$pos]) && $work=='save' ?trim($hoehe_array[$pos]):$hoehe;
|
||||
$breite_array[$pos]=isset($breite_array[$pos]) && $work=='save' ?trim($breite_array[$pos]):$breite;
|
||||
$tiefe_array[$pos]=isset($tiefe_array[$pos]) && $work=='save' ?trim($tiefe_array[$pos]):$tiefe;
|
||||
//$verplanen_array[$pos]=isset($verplanen_array[$pos]) && $work=='save' ?trim($verplanen_array[$pos]):$verplanen;
|
||||
|
||||
if ($work=='save')
|
||||
{
|
||||
@@ -1012,6 +1020,11 @@ for ($pos=0;$pos<$anzahl;$pos++)
|
||||
$oBetriebsmittel->tiefe = number_format(str_replace(',','.',$tiefe_array[$pos]),2,'.','');
|
||||
else
|
||||
$oBetriebsmittel->tiefe = '';
|
||||
|
||||
if(!isset($verplanen_array[$pos]))
|
||||
$oBetriebsmittel->verplanen = false;
|
||||
else
|
||||
$oBetriebsmittel->verplanen = true;
|
||||
|
||||
if ($oBetriebsmittel->save())
|
||||
{
|
||||
@@ -1582,6 +1595,10 @@ for ($pos=0;$pos<$anzahl;$pos++)
|
||||
<td>
|
||||
<input id="tiefe_array<?php echo $pos; ?>" name="tiefe_array[]" size="4" maxlength="8" value="<?php echo $tiefe_array[$pos];?>">
|
||||
</td>
|
||||
<td> <label for="tiefe">Verplanbar</label> </td>
|
||||
<td>
|
||||
<input type="checkbox" id="verplanen_array<?php echo $pos; ?>" name="verplanen_array[]" <?php echo (isset($verplanen_array[$pos]) && $verplanen_array[$pos]?'checked=checked':'');?>>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
@@ -123,6 +123,7 @@ $studiengang->getAll("typ, kurzbz");
|
||||
<td>Studiengang</td>
|
||||
<td>
|
||||
<select name="stg_kz">
|
||||
<option value=''>-- Alle --</option>
|
||||
<?php foreach($studiengang->result as $value) echo "<option value='$value->studiengang_kz'>$value->kuerzel ($value->bezeichnung)</option>\n"; ?>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user