mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
FAS:
- Bei Auswahl eines Lektors werden die LVs zu denen er zugeteilt ist angezeigt.
This commit is contained in:
+70
-24
@@ -152,7 +152,7 @@ function auswahlValues()
|
||||
this.lektor_uid=null;
|
||||
}
|
||||
|
||||
function onVerbandSelect(evt)
|
||||
function onVerbandSelect(event)
|
||||
{
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var tree=document.getElementById('tree-verband');
|
||||
@@ -160,10 +160,21 @@ function onVerbandSelect(evt)
|
||||
if(tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
//Wenn nicht auf eine der Zeilen gedrueckt wurde (zb Scrollbar) -> beenden
|
||||
if(evt.target.nodeName!='treechildren')
|
||||
var row = { };
|
||||
var col = { };
|
||||
var child = { };
|
||||
|
||||
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
|
||||
|
||||
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen
|
||||
if (!col.value)
|
||||
return false;
|
||||
|
||||
//Wenn eine andere row markiert ist als angeklickt wurde -> beenden.
|
||||
//Dies kommt vor wenn ein Subtree geoeffnet wird
|
||||
if(row.value!=tree.currentIndex)
|
||||
return;
|
||||
|
||||
|
||||
var col;
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
var stg_kz=tree.view.getCellText(tree.currentIndex,col);
|
||||
@@ -246,6 +257,7 @@ function onVerbandSelect(evt)
|
||||
treeLV.database.AddDataSource(LvTreeDatasource);
|
||||
LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver);
|
||||
treeLV.builder.addListener(LvTreeListener);
|
||||
document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=true;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
@@ -268,31 +280,65 @@ function onOrtSelect()
|
||||
contentFrame.setAttribute('src', url);
|
||||
}
|
||||
|
||||
function onLektorSelect()
|
||||
function onLektorSelect(event)
|
||||
{
|
||||
/*
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var treeLektor=document.getElementById('tree-lektor');
|
||||
if(treeLektor.currentIndex==-1)
|
||||
var tree=document.getElementById('tree-lektor');
|
||||
//Wenn nichts markiert wurde -> beenden
|
||||
if(tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
var row = { };
|
||||
var col = { };
|
||||
var child = { };
|
||||
|
||||
var uid=treeLektor.view.getCellText(treeLektor.currentIndex,"uid");
|
||||
if(uid=='')
|
||||
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
|
||||
|
||||
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen
|
||||
if (!col.value)
|
||||
return false;
|
||||
|
||||
//Wenn eine andere row markiert ist als angeklickt wurde -> beenden.
|
||||
//Dies kommt vor wenn ein Subtree geoeffnet wird
|
||||
if(row.value!=tree.currentIndex)
|
||||
return;
|
||||
//var treeVerband=document.getElementById('tree-verband');
|
||||
//var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz");
|
||||
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
||||
var datum=parseInt(daten.getAttribute("datum"));
|
||||
|
||||
var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum;
|
||||
var url = "<?php echo APP_ROOT; ?>content/timetable-week.xul.php";
|
||||
url+=attributes;
|
||||
if (url)
|
||||
contentFrame.setAttribute('src', url);
|
||||
// LVAs
|
||||
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid);
|
||||
*/
|
||||
col = tree.columns ? tree.columns["uid"] : "uid";
|
||||
var uid=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
var stg_idx = tree.view.getParentIndex(tree.currentIndex);
|
||||
var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
||||
var stg_kz=tree.view.getCellText(stg_idx,col);
|
||||
|
||||
document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz);
|
||||
document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid);
|
||||
|
||||
// Lehrveranstaltung des Lektors laden
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
try
|
||||
{
|
||||
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp();
|
||||
var treeLV=document.getElementById('lehrveranstaltung-tree');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeLV.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
treeLV.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
LvTreeDatasource = rdfService.GetDataSource(url);
|
||||
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeLV.database.AddDataSource(LvTreeDatasource);
|
||||
LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver);
|
||||
treeLV.builder.addListener(LvTreeListener);
|
||||
document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug(e);
|
||||
}
|
||||
}
|
||||
|
||||
function loadURL(event)
|
||||
|
||||
@@ -98,7 +98,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
|
||||
</template>
|
||||
</tree>
|
||||
|
||||
<tree id="tree-lektor" onmouseup="onLektorSelect();"
|
||||
<tree id="tree-lektor" onmouseup="onLektorSelect(event);"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,mitarbeiterDDObserver);"
|
||||
|
||||
@@ -161,7 +161,6 @@ if(!$error)
|
||||
|
||||
$lem->semesterstunden = '0';
|
||||
$lem->planstunden = '0';
|
||||
$lem->faktor = '1';
|
||||
$lem->anmerkung = '';
|
||||
$lem->bismelden = true;
|
||||
$lem->updateamum = date('Y-m-d H:i:s');
|
||||
@@ -170,7 +169,7 @@ if(!$error)
|
||||
$lem->insertvon = $user;
|
||||
$lem->new=true;
|
||||
|
||||
|
||||
//Stundensatz aus tbl_mitarbeiter holen
|
||||
$qry = "SELECT stundensatz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($_POST['mitarbeiter_uid'])."'";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
@@ -194,7 +193,32 @@ if(!$error)
|
||||
$return=false;
|
||||
$errormsg='Fehler bei einer Datenbankabfrage:'.pg_errormessage($conn);
|
||||
}
|
||||
|
||||
|
||||
//Faktor aus tbl_lehrveranstaltung holen
|
||||
$qry = "SELECT planfaktor FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id) WHERE lehreinheit_id='".$_POST['lehreinheit_id']."';";
|
||||
if($result = pg_query($conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
if($row->planfaktor!='')
|
||||
$lem->faktor = $row->planfaktor;
|
||||
else
|
||||
$lem->faktor = '0';
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Lehrveranstaltung wurde nicht gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Fehler in einer Datenbankabfrage:'.pg_errormessage($conn);
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
if($lem->save())
|
||||
|
||||
@@ -170,6 +170,17 @@ function LvDetailMitarbeiterTreeKeyPress(event)
|
||||
LeMitarbeiterDel();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt den Lehrauftrag fuer
|
||||
// * einen Mitarbeiter
|
||||
// ****
|
||||
function LvCreateLehrauftrag()
|
||||
{
|
||||
stg = document.getElementById('LehrveranstaltungEditor').getAttribute('stg_kz');
|
||||
uid = document.getElementById('LehrveranstaltungEditor').getAttribute('uid');
|
||||
alert('stg:'+stg+' uid:'+uid);
|
||||
}
|
||||
|
||||
// ****************** FUNKTIONEN ************************** //
|
||||
|
||||
// ****
|
||||
|
||||
@@ -44,14 +44,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungdetailo
|
||||
<!-- ************************ -->
|
||||
<!-- * Lehrveranstaltung * -->
|
||||
<!-- ************************ -->
|
||||
<vbox id="LehrveranstaltungEditor" flex="1">
|
||||
<vbox id="LehrveranstaltungEditor" flex="1" uid="" stg_kz="">
|
||||
<toolbox>
|
||||
<toolbar id="nav-toolbar">
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-neu" label="Neue Lehreinheit" oncommand="LeNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neue Lehreinheit anlegen" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-del" label="Löschen" oncommand="LeDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Lehreinheiten löschen"/>
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-refresh" label="Neu laden" oncommand="LvTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-lehrauftrag" label="Lehrauftrag" oncommand="LvCreateLehrauftrag()" disabled="false" image="../skin/images/person.gif" tooltiptext="Lehrauftrag ausdrucken" hidden="true"/>
|
||||
<!--<toolbarbutton id="lehrveranstaltung-toolbar-refresh" label="Load" oncommand="debugload()" disabled="false"/>-->
|
||||
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
|
||||
@@ -199,9 +199,14 @@ class lehreinheit
|
||||
}
|
||||
|
||||
|
||||
function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz, $uid='')
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz' ORDER BY lehreinheit_id";
|
||||
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz' ";
|
||||
|
||||
if($uid!='')
|
||||
$qry .= " AND lehreinheit_id IN ( SELECT lehreinheit_id FROM lehre.tbl_lehreinheitmitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."')";
|
||||
|
||||
$qry.= "ORDER BY lehreinheit_id";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
|
||||
@@ -439,5 +439,66 @@ class lehrveranstaltung
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// ****************************************************
|
||||
// * Laedt die Lehrveranstaltung zu der ein Mitarbeiter
|
||||
// * in einem Studiensemester zugeordnet ist
|
||||
// * @param studiengang_kz, uid, studiensemester_kurzbz
|
||||
// * @return true wenn ok, false wenn Fehler
|
||||
// ****************************************************
|
||||
function loadLVAfromMitarbeiter($studiengang_kz, $uid, $studiensemester_kurzbz)
|
||||
{
|
||||
if(!is_numeric($studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE ";
|
||||
if($studiengang_kz!=0)
|
||||
$qry.="tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND ";
|
||||
|
||||
$qry.= "tbl_lehrveranstaltung.lehrveranstaltung_id = tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheitmitarbeiter.lehreinheit_id = tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($studiensemester_kurzbz)."' AND
|
||||
tbl_lehreinheitmitarbeiter.mitarbeiter_uid='".addslashes($uid)."';";
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$lv_obj = new lehrveranstaltung($this->conn, null, null);
|
||||
|
||||
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
|
||||
$lv_obj->studiengang_kz=$row->studiengang_kz;
|
||||
$lv_obj->bezeichnung=$row->bezeichnung;
|
||||
$lv_obj->kurzbz=$row->kurzbz;
|
||||
$lv_obj->semester=$row->semester;
|
||||
$lv_obj->ects=$row->ects;
|
||||
$lv_obj->semesterstunden=$row->semesterstunden;
|
||||
$lv_obj->anmerkung=$row->anmerkung;
|
||||
$lv_obj->lehre=($row->lehre=='t'?true:false);
|
||||
$lv_obj->lehreverzeichnis=$row->lehreverzeichnis;
|
||||
$lv_obj->aktiv=($row->aktiv=='t'?true:false);
|
||||
$lv_obj->ext_id=$row->ext_id;
|
||||
$lv_obj->insertamum=$row->insertamum;
|
||||
$lv_obj->insertvon=$row->insertvon;
|
||||
$lv_obj->planfaktor=$row->planfaktor;
|
||||
$lv_obj->planlektoren=$row->planlektoren;
|
||||
$lv_obj->planpersonalkosten=$row->planpersonalkosten;
|
||||
$lv_obj->plankostenprolektor=$row->plankostenprolektor;
|
||||
$lv_obj->updateamum=$row->updateamum;
|
||||
$lv_obj->updatevon=$row->updatevon;
|
||||
$lv_obj->sprache=$row->sprache;
|
||||
|
||||
$this->lehrveranstaltungen[] = $lv_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen aus der Datenbank';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -60,13 +60,20 @@ $grp=(isset($_GET['grp'])?$_GET['grp']:'');
|
||||
$ver=(isset($_GET['ver'])?$_GET['ver']:'');
|
||||
$sem=(isset($_GET['sem'])?$_GET['sem']:'');
|
||||
$stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:'');
|
||||
$lektor=(isset($_GET['lektor'])?$_GET['lektor']:'');
|
||||
|
||||
$uid=(isset($_GET['uid'])?$_GET['uid']:'');
|
||||
|
||||
loadVariables($conn, $user);
|
||||
|
||||
// LVAs holen
|
||||
$lvaDAO=new lehrveranstaltung($conn, null, true);
|
||||
$lvaDAO->load_lva($stg_kz, $sem);
|
||||
if($uid!='')
|
||||
{
|
||||
$lvaDAO->loadLVAfromMitarbeiter($stg_kz, $uid, $semester_aktuell);
|
||||
}
|
||||
else
|
||||
{
|
||||
$lvaDAO->load_lva($stg_kz, $sem);
|
||||
}
|
||||
|
||||
$rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
|
||||
|
||||
@@ -119,7 +126,7 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
|
||||
//zugehoerige LE holen
|
||||
$le = new lehreinheit($conn, null, true);
|
||||
|
||||
if(!$le->load_lehreinheiten($row_lva->lehrveranstaltung_id, $semester_aktuell))
|
||||
if(!$le->load_lehreinheiten($row_lva->lehrveranstaltung_id, $semester_aktuell, $uid))
|
||||
echo "Fehler: $le->errormsg";
|
||||
|
||||
foreach ($le->lehreinheiten as $row_le)
|
||||
|
||||
Reference in New Issue
Block a user