mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
FAS:
- Beim Neu Anlegen einer LE wird das Lehrfach automatisch ausgewaehlt - Druecken auf Scrollbar beim Verband loest nun kein neues laden aus - Bei Lektorzuordnung wird nun automatisch der Stundensatz des Lektors eingetragen
This commit is contained in:
@@ -330,16 +330,8 @@ var LeLektorDDObserver=
|
||||
|
||||
req.add('type','lehreinheit_mitarbeiter_add');
|
||||
|
||||
req.add('do', 'create');
|
||||
req.add('lehreinheit_id', lehreinheit_id);
|
||||
req.add('mitarbeiter_uid', uid);
|
||||
req.add('lehrfunktion_kurzbz', 'lektor');
|
||||
req.add('semesterstunden', '0');
|
||||
req.add('planstunden', '0');
|
||||
req.add('stundensatz', '0');
|
||||
req.add('faktor', '1');
|
||||
req.add('anmerkung', '');
|
||||
req.add('bismelden', 'true');
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
@@ -152,13 +152,18 @@ function auswahlValues()
|
||||
this.lektor_uid=null;
|
||||
}
|
||||
|
||||
function onVerbandSelect()
|
||||
function onVerbandSelect(evt)
|
||||
{
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var tree=document.getElementById('tree-verband');
|
||||
//Wenn nichts markiert wurde -> beenden
|
||||
if(tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Wenn nicht auf eine der Zeilen gedrueckt wurde (zb Scrollbar) -> beenden
|
||||
if(evt.target.nodeName!='treechildren')
|
||||
return;
|
||||
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
var stg_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
@@ -25,7 +25,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
|
||||
<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"/>
|
||||
|
||||
<tree id="tree-verband" onmouseup="onVerbandSelect();"
|
||||
<tree id="tree-verband" onmouseup="onVerbandSelect(event);"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,lvbgrpDDObserver);"
|
||||
|
||||
@@ -67,7 +67,7 @@ if(!$rechte->isBerechtigt('admin'))
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
|
||||
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
|
||||
{
|
||||
//Lehreinheitmitarbeiter Zuteilung
|
||||
//wenn do=update dann wird aktualisiert
|
||||
@@ -147,6 +147,75 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
|
||||
{
|
||||
//neue Lehreinheitmitarbeiterzuteilung anlegen
|
||||
|
||||
if(isset($_POST['lehreinheit_id']) && isset($_POST['mitarbeiter_uid']))
|
||||
{
|
||||
$lem = new lehreinheitmitarbeiter($conn, null, null, true);
|
||||
|
||||
$lem->lehreinheit_id = $_POST['lehreinheit_id'];
|
||||
$lem->lehrfunktion_kurzbz = 'lektor';
|
||||
$lem->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
|
||||
|
||||
$lem->semesterstunden = '0';
|
||||
$lem->planstunden = '0';
|
||||
$lem->faktor = '1';
|
||||
$lem->anmerkung = '';
|
||||
$lem->bismelden = true;
|
||||
$lem->updateamum = date('Y-m-d H:i:s');
|
||||
$lem->updatevon = $user;
|
||||
$lem->insertamum = date('Y-m-d H:i:s');
|
||||
$lem->insertvon = $user;
|
||||
$lem->new=true;
|
||||
|
||||
|
||||
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($_POST['mitarbeiter_uid'])."'";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->stundensatz!='')
|
||||
$lem->stundensatz = $row->stundensatz;
|
||||
else
|
||||
$lem->stundensatz = '0';
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$return=false;
|
||||
$errormsg='Mitarbeiter '.addslashes($_POST['mitarbeiter_uid']).' wurde nicht gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error=true;
|
||||
$return=false;
|
||||
$errormsg='Fehler bei einer Datenbankabfrage:'.pg_errormessage($conn);
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($lem->save())
|
||||
{
|
||||
$return = true;
|
||||
$error = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $lem->errormsg;
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_del')
|
||||
{
|
||||
//Lehreinheitmitarbeiterzuteilung loeschen
|
||||
|
||||
@@ -215,11 +215,11 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.cs
|
||||
<treecols>
|
||||
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#bezeichnung" />
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#bezeichnung" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id" label="ID" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheitgruppe_id" />
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitgruppe/rdf#lehreinheitgruppe_id" />
|
||||
</treecols>
|
||||
<template>
|
||||
<rule>
|
||||
@@ -262,19 +262,19 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.cs
|
||||
<treecols>
|
||||
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-nachname" label="Nachname" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname" onclick="LehreinheitenTreeSort()"/>
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#nachname"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-vorname" label="Vorname" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" onclick="LehreinheitenTreeSort()"/>
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid" label="UID" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" onclick="LehreinheitenTreeSort()"/>
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" onclick="LehreinheitenTreeSort()"/>
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
<template>
|
||||
|
||||
@@ -28,7 +28,10 @@ $conn = pg_pconnect(CONN_STRING);
|
||||
$user = get_uid();
|
||||
loadVariables($conn, $user);
|
||||
?>
|
||||
// *********** Globale Variablen *****************//
|
||||
|
||||
var LeDetailLehrfach_id; //Lehrfach_id die nach dem Laden markiert werden soll
|
||||
var LeDetailLehrfach_label; //Bezeichnung des Lehrfachs das markiert werden soll
|
||||
var LeDetailGruppeDatasource; //Datasource fuer Gruppen DropDown
|
||||
var LeDetailLektorDatasource; //Datasource fuer Lektren DropDown
|
||||
var LvSelectLehreinheit_id; //Lehreinheit_id die nach dem Rebuild des Trees markiert werden soll
|
||||
@@ -36,6 +39,7 @@ var leDetailLektorUid; // UID der Lektorzuordnung die nach dem Rebuild markiert
|
||||
var leDetailLektorLehreinheit_id; // Lehreinheit_id der Lektorzuordnung die nach dem Rebuild markiert werden soll
|
||||
|
||||
// ********** Observer und Listener ************* //
|
||||
|
||||
// ****
|
||||
// * Observer fuer LV Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
@@ -83,7 +87,53 @@ var LvLektorTreeListener =
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// ****
|
||||
// * Observer fuer Lehrfachdropdown
|
||||
// ****
|
||||
var LeDetailLehrfachSinkObserver =
|
||||
{
|
||||
onBeginLoad: function(aSink) { },
|
||||
onInterrupt: function(aSink) { },
|
||||
onResume: function(aSink) { },
|
||||
onEndLoad: function(aSink) {
|
||||
//Das richtige Lehrfach markieren
|
||||
if(LeDetailLehrfach_id!='') //Wenn die Lehrfach_id bekannt ist, dann einfach markieren
|
||||
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=LeDetailLehrfach_id;
|
||||
else
|
||||
{
|
||||
if(LeDetailLehrfach_label!='') //Wenn Name bekannt ist
|
||||
{
|
||||
|
||||
menulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
|
||||
|
||||
//Alle eintraege aus menulist holen
|
||||
var items = menulist.childNodes[1].childNodes //Anzahl der Zeilen ermitteln
|
||||
found=false;
|
||||
for(i in items)
|
||||
{
|
||||
//Richtigen eintrag suchen
|
||||
if(items[i].label==LeDetailLehrfach_label)
|
||||
{
|
||||
//Eintrag markieren
|
||||
menulist.selectedIndex=i;
|
||||
found=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Wenn nichts gefunden wurde, wird der erste Eintrag markiert
|
||||
if(!found)
|
||||
menulist.selectedIndex=0;
|
||||
}
|
||||
}
|
||||
},
|
||||
onError: function(aSink, aStatus, aErrorMsg) {
|
||||
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
|
||||
}
|
||||
};
|
||||
|
||||
// ***************** KEY Events ************************* //
|
||||
|
||||
// ****
|
||||
// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus
|
||||
// * im Lehrveranstaltungs-tree ist
|
||||
@@ -120,7 +170,8 @@ function LvDetailMitarbeiterTreeKeyPress(event)
|
||||
LeMitarbeiterDel();
|
||||
}
|
||||
|
||||
// ****************** FUNCTIONS ************************** //
|
||||
// ****************** FUNKTIONEN ************************** //
|
||||
|
||||
// ****
|
||||
// * Asynchroner (Nicht blockierender) Refresh des LV Trees
|
||||
// ****
|
||||
@@ -157,13 +208,12 @@ function LeNeu()
|
||||
LeDetailReset();
|
||||
|
||||
//Detail Tab als aktiv setzen
|
||||
document.getElementById('lehrveranstaltung-tab-detail').selected=true;
|
||||
document.getElementById('lehrveranstaltung-tabpanels-main').selectedIndex=0;
|
||||
document.getElementById('lehrveranstaltung-tabs').selectedItem = document.getElementById('lehrveranstaltung-tab-detail');
|
||||
|
||||
//Lektor-Tab und GruppenTree ausblenden
|
||||
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=true;
|
||||
document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=true;
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').hidden=true;
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').collapsed=true;
|
||||
|
||||
//Lehrveranstaltungs_id holen
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id";
|
||||
@@ -172,8 +222,10 @@ function LeNeu()
|
||||
//Lehrfach drop down setzen
|
||||
|
||||
//ID in globale Variable speichern
|
||||
LvDetailLehrfach_id='';
|
||||
|
||||
LeDetailLehrfach_id='';
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-bezeichnung"] : "lehrveranstaltung-treecol-bezeichnung";
|
||||
LeDetailLehrfach_label=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
@@ -322,24 +374,6 @@ function LeDelete()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Observer fuer lehrfachdropdown
|
||||
// ****
|
||||
var LeDetailLehrfachSinkObserver =
|
||||
{
|
||||
onBeginLoad: function(aSink) { },
|
||||
onInterrupt: function(aSink) { },
|
||||
onResume: function(aSink) { },
|
||||
onEndLoad: function(aSink) {
|
||||
//Das richtige Lehrfach markieren
|
||||
if(LeDetailLehrfach_id!='')
|
||||
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=LeDetailLehrfach_id;
|
||||
},
|
||||
onError: function(aSink, aStatus, aErrorMsg) {
|
||||
alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.');
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Leert alle Eingabe- und Auswahlfelder
|
||||
// ****
|
||||
@@ -497,19 +531,7 @@ function LeAuswahl()
|
||||
|
||||
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=false;
|
||||
document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=false;
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').hidden=false;
|
||||
|
||||
//Hack damit der DetailTab als erstes angezeigt wird (sonst wird nach aus- und wieder einblenden
|
||||
//der LektorenTab vor dem DetailTab angezeigt)
|
||||
document.getElementById('lehrveranstaltung-tab-detail').hidden=true;
|
||||
document.getElementById('lehrveranstaltung-tab-detail').hidden=false;
|
||||
|
||||
//Wenn jemand neu drueckt und dann ohne speichern auf eine Lehreinheit wechselt, dann
|
||||
//sind beide tabs aktiv. darum wird der lektor-tab auf inaktiv gesetzt
|
||||
if(document.getElementById('lehrveranstaltung-tab-detail').selected &&
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').selected)
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').selected=false;
|
||||
//endHack
|
||||
document.getElementById('lehrveranstaltung-tab-lektor').collapsed=false;
|
||||
|
||||
if (tree.currentIndex==-1) return;
|
||||
try
|
||||
@@ -584,7 +606,7 @@ function LeAuswahl()
|
||||
|
||||
//ID in globale Variable speichern
|
||||
LeDetailLehrfach_id=lehrfach;
|
||||
|
||||
|
||||
lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
@@ -596,7 +618,7 @@ function LeAuswahl()
|
||||
}
|
||||
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
lehrfachmenulist.builder.refresh();
|
||||
lehrfachmenulist.builder.rebuild();
|
||||
|
||||
//Url zusammenbauen
|
||||
var url = '<?php echo APP_ROOT;?>rdf/lehrfach.rdf.php?lehrveranstaltung_id='+lehrveranstaltung+'&'+gettimestamp();
|
||||
@@ -604,11 +626,11 @@ function LeAuswahl()
|
||||
//RDF holen
|
||||
var newDs = rdfService.GetDataSource(url);
|
||||
lehrfachmenulist.database.AddDataSource(newDs);
|
||||
|
||||
|
||||
//SinkObserver hinzufuegen
|
||||
var sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
sink.addXMLSinkObserver(LeDetailLehrfachSinkObserver);
|
||||
|
||||
|
||||
//Daten den Feldern zuweisen
|
||||
|
||||
document.getElementById('lehrveranstaltung-detail-textbox-unr').value=unr;
|
||||
@@ -707,8 +729,7 @@ function LeMitarbeiterSave()
|
||||
//Request absetzen
|
||||
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
||||
|
||||
req.add('type','lehreinheit_mitarbeiter_add');
|
||||
req.add('do','update');
|
||||
req.add('type','lehreinheit_mitarbeiter_save');
|
||||
lehreinheit_id = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id').value;
|
||||
mitarbeiter_uid = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid').value;
|
||||
req.add('lehreinheit_id',lehreinheit_id);
|
||||
|
||||
@@ -173,7 +173,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungdetailo
|
||||
<!-- ************ -->
|
||||
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
|
||||
<tabbox id="lehrveranstaltung-tabbox" flex="3" orient="vertical">
|
||||
<tabs orient="horizontal">
|
||||
<tabs orient="horizontal" id="lehrveranstaltung-tabs">
|
||||
<tab id="lehrveranstaltung-tab-detail" label="Details" />
|
||||
<tab id="lehrveranstaltung-tab-lektor" label="Lektorenzuteilung" />
|
||||
</tabs>
|
||||
|
||||
Reference in New Issue
Block a user