mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Erweiterungen Lehreinheiten-Modul
This commit is contained in:
@@ -79,6 +79,28 @@ elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del')
|
||||
echo $leg->errormsg;
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_add')
|
||||
{
|
||||
if(isset($_POST['lehreinheit_id']) && is_numeric($_POST['lehreinheit_id']))
|
||||
{
|
||||
$leg = new lehreinheitgruppe($conn);
|
||||
$leg->lehreinheit_id = $_POST['lehreinheit_id'];
|
||||
$leg->studiengang_kz = $_POST['studiengang_kz'];
|
||||
$leg->semester = $_POST['semester'];
|
||||
$leg->verband = $_POST['verband'];
|
||||
$leg->gruppe = $_POST['gruppe'];
|
||||
$leg->gruppe_kurzbz = $_POST['gruppe_kurzbz'];
|
||||
|
||||
if($leg->save(true))
|
||||
{
|
||||
echo 'ok';
|
||||
}
|
||||
else
|
||||
echo $leg->errormsg;
|
||||
}
|
||||
else
|
||||
echo "Lehreinheit_id ist ungueltig";
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($_POST['do']=='create' || ($_POST['do']=='update'))
|
||||
|
||||
@@ -14,13 +14,14 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
|
||||
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
>
|
||||
<!-- *************************** LEHREINHEIT DETAILS ************************* -->
|
||||
<!--<script src="chrome://global/content/nsTransferable.js"/>-->
|
||||
<vbox id="lfvt-detail" class="lvaDetail" style="margin:0px;" >
|
||||
<popupset>
|
||||
<popup id="lfvt_detail_gruppe_tree_popup">
|
||||
<menuitem label="Entfernen" oncommand="lfvt_LehreinheitGruppeDel();" />
|
||||
</popup>
|
||||
</popupset>
|
||||
<!-- *************************** LEHREINHEIT DETAILS ************************* -->
|
||||
<vbox id="lfvt-detail" class="lvaDetail" style="margin:0px;" >
|
||||
<hbox style="background:#eeeeee;margin:0px;padding:2px">
|
||||
<label value="Details" style="font-size:12pt;font-weight:bold;margin-top:5px;" flex="1" />
|
||||
<spacer flex="1" />
|
||||
@@ -160,7 +161,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
|
||||
ref="http://www.technikum-wien.at/lehreinheitgruppe/liste"
|
||||
flags="dont-build-content"
|
||||
style="border: 1px solid black;"
|
||||
ondragdrop="lfvt_detail_gruppe_dragdrop(event);"
|
||||
ondragover="return lfvt_detail_gruppe_dragover(event);"
|
||||
contextmenu="lfvt_detail_gruppe_tree_popup"
|
||||
ondragexit="debug('ondragexit');"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="lfvt_detail_tree_lehreinheitgruppe-col-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
|
||||
@@ -188,7 +192,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?
|
||||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<button label="+" id="lfvt_detail_gruppe_button_add" oncommand="lfvt_LehreinheitGruppeAdd()" style="max-width: 30px;" disabled="true"/>
|
||||
<!--<button label="+" id="lfvt_detail_gruppe_button_add" oncommand="lfvt_LehreinheitGruppeAdd()" style="max-width: 30px;" disabled="true"/>-->
|
||||
<!--<button label="-" id="lfvt_detail_gruppe_button_del" oncommand="lfvt_LehreinheitGruppeDel()" style="max-width: 30px;" disabled="true"/>-->
|
||||
</hbox>
|
||||
|
||||
|
||||
+151
-6
@@ -393,11 +393,11 @@ function lvaAuswahl()
|
||||
document.getElementById('lfvt_detail_textbox_lehreinheit_id').value=lehreinheit_id;
|
||||
|
||||
//Lehreinheitmitarbeiter tree setzen
|
||||
url='../rdf/lehreinheitmitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id;
|
||||
url='../rdf/lehreinheitmitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
|
||||
document.getElementById('lfvt_detail_tree_lehreinheitmitarbeiter').setAttribute('datasources',url);
|
||||
|
||||
//Lehreinheitgruppe tree setzen
|
||||
url='../rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id;
|
||||
url='../rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
|
||||
document.getElementById('lfvt_detail_tree_lehreinheitgruppe').setAttribute('datasources',url);
|
||||
}
|
||||
|
||||
@@ -685,17 +685,29 @@ function lfvt_LehreinheitMitarbeiterAuswahl()
|
||||
|
||||
// ************* GRUPPEN ******************** //
|
||||
|
||||
// ****
|
||||
// * Observer fuer GruppenTree (testing)
|
||||
// ****
|
||||
var lfvt_detail_gruppe_observer = {
|
||||
onBeginLoad: function(aSink) { },
|
||||
onInterrupt: function(aSink) { },
|
||||
onResume: function(aSink) { },
|
||||
onEndLoad: function(aSink) {
|
||||
tree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
|
||||
tree.builder.rebuild();
|
||||
},
|
||||
onError: function(aSink, aStatus, aErrorMsg) { }
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Loescht die Zuordnung einer Gruppe zu einer
|
||||
// * Lehreinheit
|
||||
// ****
|
||||
function lfvt_LehreinheitGruppeDel()
|
||||
{
|
||||
alert('del');
|
||||
return false;
|
||||
tree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
|
||||
|
||||
//Falls kein Eintrag gewaehlt wurde, den ersten auswaehlen
|
||||
|
||||
//Nachsehen ob Gruppe markiert wurde
|
||||
var idx;
|
||||
if(tree.currentIndex>=0)
|
||||
idx = tree.currentIndex;
|
||||
@@ -741,4 +753,137 @@ function lfvt_LehreinheitGruppeDel()
|
||||
function lfvt_LehreinheitGruppeAdd()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* (Wenn gedroppt wird)
|
||||
* Speichert die Zuteilung einer Gruppe zu einer Lehreinheit
|
||||
*/
|
||||
function lfvt_detail_gruppe_dragdrop(event)
|
||||
{
|
||||
event.stopPropagation();
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
|
||||
try {
|
||||
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
debug('treeDragDrop: e');
|
||||
}
|
||||
|
||||
var ds = dragservice_ds;
|
||||
var ses = ds.getCurrentSession()
|
||||
var sourceNode = ses.sourceNode
|
||||
var lehreinheit_id = document.getElementById('lfvt_detail_textbox_lehreinheit_id').value;
|
||||
var row = { }
|
||||
var col = { }
|
||||
var child = { }
|
||||
|
||||
if(lehreinheit_id=='')
|
||||
return false;
|
||||
|
||||
//Quelle holen (Gruppe)
|
||||
var flavourset = new FlavourSet();
|
||||
flavourset.appendFlavour("gruppe");
|
||||
|
||||
var transferData = nsTransferable.get(flavourset, getDragData, true);
|
||||
|
||||
quell_gruppe=transferData.first.first.data;
|
||||
var arr = quell_gruppe.split("&");
|
||||
var stg_kz = arr[0];
|
||||
var sem = arr[1];
|
||||
var ver = arr[2];
|
||||
var grp = arr[3];
|
||||
var gruppe = arr[4];
|
||||
//alert("stg: "+stg_kz+" sem: "+sem+" ver: "+ver+" grp: "+grp+" gruppe: "+gruppe+" TO Lehreinheit:"+lehreinheit_id);
|
||||
|
||||
var req = new phpRequest('lfvtCUD.php','','');
|
||||
neu = document.getElementById('lfvt_detail_checkbox_new').checked;
|
||||
|
||||
req.add('type','lehreinheit_gruppe_add');
|
||||
|
||||
req.add('lehreinheit_id', lehreinheit_id);
|
||||
req.add('studiengang_kz', stg_kz);
|
||||
req.add('semester', sem);
|
||||
req.add('verband', ver);
|
||||
req.add('gruppe', grp);
|
||||
req.add('gruppe_kurzbz', gruppe);
|
||||
|
||||
var response = req.executePOST();
|
||||
if (response!='ok')
|
||||
{
|
||||
alert(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
//GruppenTree Refreshen
|
||||
tree = document.getElementById('lfvt_detail_tree_lehreinheitgruppe');
|
||||
tree.builder.addListener(lfvt_detail_gruppe_observer);
|
||||
tree.builder.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
var dragservice_ds;
|
||||
/**
|
||||
* Holt die Daten aus der DragSession
|
||||
*/
|
||||
function getDragData(aFlavourSet)
|
||||
{
|
||||
var ds = dragservice_ds;
|
||||
var ses = ds.getCurrentSession()
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
var supportsArray = Components.classes["@mozilla.org/supports-array;1"]
|
||||
.createInstance(Components.interfaces.nsISupportsArray);
|
||||
|
||||
for (var i = 0; i < ses.numDropItems; ++i)
|
||||
{
|
||||
var trans = nsTransferable.createTransferable();
|
||||
for (var j = 0; j < aFlavourSet.flavours.length; ++j)
|
||||
trans.addDataFlavor(aFlavourSet.flavours[j].contentType);
|
||||
ses.getData(trans, i);
|
||||
supportsArray.AppendElement(trans);
|
||||
}
|
||||
return supportsArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* Drag ueber den Tree
|
||||
*/
|
||||
function lfvt_detail_gruppe_dragover( event )
|
||||
{
|
||||
var validFlavor = false;
|
||||
var dragSession = null;
|
||||
|
||||
var targetNode = event.target
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].
|
||||
getService().QueryInterface(Components.interfaces.nsIDragService);
|
||||
|
||||
if( dragService )
|
||||
{
|
||||
dragSession = dragService.getCurrentSession();
|
||||
|
||||
if( dragSession )
|
||||
{
|
||||
if( dragSession.isDataFlavorSupported("gruppe") )
|
||||
validFlavor = true;
|
||||
else if ( dragSession.isDataFlavorSupported("gruppe") )
|
||||
validFlavor = true;
|
||||
|
||||
if ( validFlavor )
|
||||
{
|
||||
//Style action
|
||||
//targetNode.style.backgroundColor = "red";
|
||||
//targetNode.style.color = "red";
|
||||
//event.originalTarget.style.color = "red";
|
||||
dragSession.canDrop = true;
|
||||
event.stopPropagation();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ function auswahlValues()
|
||||
}
|
||||
|
||||
function onVerbandSelect()
|
||||
{
|
||||
{
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var tree=document.getElementById('tree-verband');
|
||||
var stg_kz=tree.view.getCellText(tree.currentIndex,"stg_kz");
|
||||
@@ -212,4 +212,58 @@ function parseRDFString(str, url)
|
||||
parser.parseString(memoryDS,baseUri,str);
|
||||
|
||||
return memoryDS;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wird zu Beginn einer DragnDrop Session aufgerufen.
|
||||
* Hier werden die Flayvour und die zu uebertragenden Daten
|
||||
* festgelegt.
|
||||
*/
|
||||
function treeVerbandDragGesture(event)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
|
||||
var tree = document.getElementById('tree-verband')
|
||||
var row = { }
|
||||
var col = { }
|
||||
var child = { }
|
||||
debug('treeVerbandDragGesture');
|
||||
//Index der Quell-Row ermitteln
|
||||
tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child)
|
||||
|
||||
//Wenn es keine Row ist sondern ein Header oder Scrollbar dann das DnD abbrechen
|
||||
if (!col.value)
|
||||
return false;
|
||||
|
||||
//Daten holen
|
||||
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
||||
stg_kz=tree.view.getCellText(row.value,col);
|
||||
|
||||
col = tree.columns ? tree.columns["sem"] : "sem";
|
||||
sem=tree.view.getCellText(row.value,col);
|
||||
|
||||
col = tree.columns ? tree.columns["ver"] : "ver";
|
||||
ver=tree.view.getCellText(row.value,col);
|
||||
|
||||
col = tree.columns ? tree.columns["grp"] : "grp";
|
||||
grp=tree.view.getCellText(row.value,col);
|
||||
|
||||
col = tree.columns ? tree.columns["gruppe"] : "gruppe";
|
||||
gruppe=tree.view.getCellText(row.value,col);
|
||||
|
||||
var ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
||||
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
|
||||
|
||||
//Flavour anhaengen
|
||||
trans.addDataFlavor("gruppe");
|
||||
var textWrapper = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
|
||||
|
||||
//Daten anhaengen
|
||||
textWrapper.data = stg_kz+'&'+sem+'&'+ver+'&'+grp+'&'+gruppe;
|
||||
trans.setTransferData("gruppe", textWrapper, textWrapper.data.length*2);
|
||||
var transArray = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
|
||||
transArray.AppendElement(trans);
|
||||
|
||||
// Actually start dragging
|
||||
ds.invokeDragSession(event.target, transArray, null, ds.DRAGDROP_ACTION_COPY + ds.DRAGDROP_ACTION_MOVE);
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
@@ -26,7 +26,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/stpl-semester-overlay.xul.php"?>';
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/dragboard.js"/>
|
||||
|
||||
<tree id="tree-verband" onselect="onVerbandSelect();"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="treeVerbandDragGesture(event);"
|
||||
datasources="../rdf/lehrverbandsgruppe.rdf.php" ref="http://www.technikum-wien.at/lehrverbandsgruppe/alle-verbaende"
|
||||
>
|
||||
<treecols>
|
||||
|
||||
Reference in New Issue
Block a user