mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren_2
This commit is contained in:
@@ -47,6 +47,8 @@ var StudentNotenTreeDatasource; //Datasource des Noten Trees
|
||||
var StudentNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
|
||||
var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
|
||||
var StudentLvGesamtNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
|
||||
var StudentAntragNotenTreeDatasource; //Datasource des Noten Trees
|
||||
var StudentAntragNotenSelectLehrveranstaltungID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll
|
||||
var StudentPruefungTreeDatasource; //Datasource des Pruefung Trees
|
||||
var StudentPruefungSelectID=null; //ID der Pruefung die nach dem Refresh markiert werden soll
|
||||
var StudentAnrechnungTreeDatasource; //Datasource des Anrechnung Trees
|
||||
@@ -56,6 +58,7 @@ var StudentAkteTreeDatasource=null;
|
||||
var doublerebuildkonto='false';
|
||||
var StudentNotenTreeloaded=false;
|
||||
var StudentGesamtNotenTreeloaded=false;
|
||||
var StudentAntragNotenTreeloaded=false;
|
||||
// ********** Observer und Listener ************* //
|
||||
|
||||
// ****
|
||||
@@ -342,6 +345,54 @@ var StudentLvGesamtNotenTreeListener =
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer LvGesamtNoten Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var StudentAntragNotenTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
onResume : function(pSink) {},
|
||||
onError : function(pSink, pStatus, pError) {},
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
StudentAntragNotenTreeloaded=false;
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var dsResources = StudentAntragNotenTreeDatasource.GetAllResources();
|
||||
if (dsResources.hasMoreElements()) {
|
||||
document.getElementById('student-antragnoten-tree').hidden = false;
|
||||
document.getElementById('student-antragnoten-tree-label').hidden = false;
|
||||
document.getElementById('student-note-copy-antrag').hidden = false;
|
||||
document.getElementById('student-note-copy-antrag-spacer').hidden = false;
|
||||
} else {
|
||||
document.getElementById('student-antragnoten-tree').hidden = true;
|
||||
document.getElementById('student-antragnoten-tree-label').hidden = true;
|
||||
document.getElementById('student-note-copy-antrag').hidden = true;
|
||||
document.getElementById('student-note-copy-antrag-spacer').hidden = true;
|
||||
}
|
||||
document.getElementById('student-antragnoten-tree').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird der Eintrag wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var StudentAntragNotenTreeListener =
|
||||
{
|
||||
willRebuild : function(builder) { },
|
||||
didRebuild : function(builder)
|
||||
{
|
||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||
//ohne dem setTimeout
|
||||
StudentAntragNotenTreeloaded=true;
|
||||
window.setTimeout(StudentAntragNotenTreeSelectID,10);
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Observer fuer Pruefung Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
@@ -1604,6 +1655,35 @@ function StudentAuswahl()
|
||||
lvgesamtnotentree.database.AddDataSource(StudentLvGesamtNotenTreeDatasource);
|
||||
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
|
||||
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
|
||||
|
||||
var antragnotentree = document.getElementById('student-antragnoten-tree');
|
||||
|
||||
url='<?php echo APP_ROOT;?>index.ci.php/components/Antrag/Wiederholung/getLvsAsRdf/'+prestudent_id+"?"+gettimestamp();
|
||||
|
||||
try
|
||||
{
|
||||
StudentAntragNotenTreeDatasource.removeXMLSinkObserver(StudentAntragNotenTreeSinkObserver);
|
||||
antragnotentree.builder.removeListener(StudentAntragNotenTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = antragnotentree.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
antragnotentree.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
antragnotentree.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentAntragNotenTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentAntragNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentAntragNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
antragnotentree.database.AddDataSource(StudentAntragNotenTreeDatasource);
|
||||
StudentAntragNotenTreeDatasource.addXMLSinkObserver(StudentAntragNotenTreeSinkObserver);
|
||||
antragnotentree.builder.addListener(StudentAntragNotenTreeListener);
|
||||
}
|
||||
|
||||
// ***** KONTAKTE *****
|
||||
@@ -3469,6 +3549,10 @@ function StudentZeugnisDokumentArchivieren()
|
||||
xml = 'ausbildungsvertrag.xml.php';
|
||||
break;
|
||||
|
||||
case 'AbschlussdokumentLehrgaenge':
|
||||
xml = 'abschlussdokument_lehrgaenge.xml.php';
|
||||
break;
|
||||
|
||||
default:
|
||||
alert('Das Archivieren fuer diesen Dokumenttyp wird derzeit nicht unterstuetzt');
|
||||
return
|
||||
@@ -4396,6 +4480,77 @@ function StudentNotenTreeSelectDifferent()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Selectiert die Noten im AntragNoteTree welche nicht gleich denen
|
||||
// * im ZeugnisNoteTree sind
|
||||
// ****
|
||||
function StudentAntragNotenTreeSelectDifferent()
|
||||
{
|
||||
var zeugnistree = document.getElementById("student-noten-tree");
|
||||
var antragnotentree = document.getElementById("student-antragnoten-tree");
|
||||
//bestehende markierung entfernen
|
||||
antragnotentree.view.selection.clearSelection();
|
||||
|
||||
if(StudentNotenTreeloaded && StudentAntragNotenTreeloaded)
|
||||
{
|
||||
if(antragnotentree.view)
|
||||
var antragitems = antragnotentree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
else
|
||||
return false;
|
||||
|
||||
if(zeugnistree.view)
|
||||
var zeugnisitems = zeugnistree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
else
|
||||
return false;
|
||||
|
||||
for(var i=0;i<antragitems;i++)
|
||||
{
|
||||
//Daten aus AntragNotenTree holen
|
||||
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-lehrveranstaltung_id"] : "student-antragnoten-tree-lehrveranstaltung_id";
|
||||
var antraglehrveranstaltung_id=antragnotentree.view.getCellText(i,col);
|
||||
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-note"] : "student-antragnoten-tree-note";
|
||||
var antragnote=antragnotentree.view.getCellText(i,col);
|
||||
col = antragnotentree.columns ? antragnotentree.columns["student-antragnoten-tree-benotungsdatum-iso"] : "student-antragnoten-tree-benotungsdatum-iso";
|
||||
var antragbenotungsdatum=antragnotentree.view.getCellText(i,col);
|
||||
|
||||
found=false;
|
||||
//Schauen ob die gleiche Zeile im Zeugnisnoten Tree vorkommt
|
||||
for(var j=0;j<zeugnisitems;j++)
|
||||
{
|
||||
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-lehrveranstaltung_id"] : "student-noten-tree-lehrveranstaltung_id";
|
||||
var zeugnislehrveranstaltung_id=zeugnistree.view.getCellText(j,col);
|
||||
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-note"] : "student-noten-tree-note";
|
||||
var zeugnisnote=zeugnistree.view.getCellText(j,col);
|
||||
col = zeugnistree.columns ? zeugnistree.columns["student-noten-tree-benotungsdatum-iso"] : "student-noten-tree-benotungsdatum-iso";
|
||||
var zeugnisbenotungsdatum=zeugnistree.view.getCellText(j,col);
|
||||
|
||||
if(zeugnislehrveranstaltung_id==antraglehrveranstaltung_id && zeugnisnote==antragnote && zeugnisbenotungsdatum==antragbenotungsdatum)
|
||||
{
|
||||
found=true;
|
||||
break;
|
||||
}
|
||||
|
||||
//Wenn das benotungsdatum im Zeugnis
|
||||
//nach dem benotungsdatum des antrags liegt, dann wird die zeile auch nicht markiert.
|
||||
//damit wird verhindert, dass pruefungsnoten die nur von der assistenz eingetragen wurden,
|
||||
//durch den alten eintrag des antrags wieder ueberschrieben werden
|
||||
if(zeugnislehrveranstaltung_id==antraglehrveranstaltung_id
|
||||
&& zeugnisbenotungsdatum>antragbenotungsdatum)
|
||||
{
|
||||
found=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!found)
|
||||
{
|
||||
//Zeile markieren
|
||||
antragnotentree.view.selection.rangedSelect(i,i,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Selectiert den Noten Eintrag nachdem der Tree
|
||||
// * rebuildet wurde.
|
||||
@@ -4406,11 +4561,12 @@ function StudentLvGesamtNotenTreeSelectID()
|
||||
}
|
||||
|
||||
// ***
|
||||
// * Disabled/Enabled die Nodenfelder
|
||||
// * Disabled/Enabled die Notenfelder
|
||||
// ***
|
||||
function StudentNoteDisableFields(val)
|
||||
{
|
||||
document.getElementById('student-note-copy').disabled=val;
|
||||
document.getElementById('student-note-copy-antrag').disabled=val;
|
||||
}
|
||||
|
||||
// ***
|
||||
@@ -4594,6 +4750,68 @@ function StudentNotenMove()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Uebernimmt die Noten der Antraege fuer die Zeugnisnote
|
||||
// ****
|
||||
function StudentNotenMoveFromAntrag()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-antragnoten-tree');
|
||||
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
var numRanges = tree.view.selection.getRangeCount();
|
||||
var paramList= '';
|
||||
var i = 0;
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>index.ci.php/components/Antrag/Wiederholung/moveLvsToZeugnis';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
for (var t = 0; t < numRanges; t++)
|
||||
{
|
||||
tree.view.selection.getRangeAt(t,start,end);
|
||||
for (var v = start.value; v <= end.value; v++)
|
||||
{
|
||||
col = tree.columns ? tree.columns["student-antragnoten-tree-studierendenantrag_lehrveranstaltung_id"] : "student-antragnoten-tree-studierendenantrag_lehrveranstaltung_id";
|
||||
studierendenantrag_lehrveranstaltung_id = tree.view.getCellText(v,col);
|
||||
|
||||
req.add('studierendenantrag_lehrveranstaltung_id_'+i, studierendenantrag_lehrveranstaltung_id);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
req.add('anzahl', i);
|
||||
|
||||
var uid = document.getElementById('student-detail-textbox-uid').value;
|
||||
req.add('student_uid', uid);
|
||||
|
||||
var txt = "?";
|
||||
for(var q in req.parms) {
|
||||
txt = txt+'&'+req.parms[q].name+'='+encodeURIComponent(req.parms[q].value);
|
||||
}
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response);
|
||||
else
|
||||
alert(val.dbdml_errormsg);
|
||||
|
||||
StudentNotenTreeDatasource.Refresh(false); //non blocking
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
StudentNoteDetailDisableFields(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
StudentNotenTreeDatasource.Refresh(false); //non blocking
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
StudentNoteDetailDisableFields(true);
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht die markierte Note
|
||||
// ****
|
||||
@@ -5959,6 +6177,102 @@ function StudentCreateDiplSupplement(event)
|
||||
window.open('<?php echo APP_ROOT; ?>content/pdfExport.php?xml=diplomasupplement.xml.php&output='+output+'&xsl=DiplSupplement&xsl_stg_kz='+stg_kz+'&uid='+paramList,'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');
|
||||
}
|
||||
|
||||
function StudentPrintAntragAbmeldung(event)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return alert('Bitte eine/n Studierende/n auswaehlen');
|
||||
|
||||
//Uids aller markierten Studenten holen
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
var numRanges = tree.view.selection.getRangeCount();
|
||||
var prestudent_id= '';
|
||||
var student_uid= '';
|
||||
|
||||
for (var t = 0; t < numRanges; t++)
|
||||
{
|
||||
tree.view.selection.getRangeAt(t,start,end);
|
||||
for (var v = start.value; v <= end.value; v++)
|
||||
{
|
||||
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
|
||||
var prestudentId=tree.view.getCellText(v,col);
|
||||
prestudent_id += ';'+prestudentId;
|
||||
|
||||
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
|
||||
var uid=tree.view.getCellText(v,col);
|
||||
student_uid += ';'+uid;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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=AntragAbmeldung.xml.php&xsl=AntragAbmeldung&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragAbmeldung', '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 StudentPrintAntragUnterbrechung(event)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-tree');
|
||||
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return alert('Bitte eine/n Studierende/n auswaehlen');
|
||||
|
||||
//Uids aller markierten Studenten holen
|
||||
var start = new Object();
|
||||
var end = new Object();
|
||||
var numRanges = tree.view.selection.getRangeCount();
|
||||
var prestudent_id= '';
|
||||
var student_uid= '';
|
||||
|
||||
for (var t = 0; t < numRanges; t++)
|
||||
{
|
||||
tree.view.selection.getRangeAt(t,start,end);
|
||||
for (var v = start.value; v <= end.value; v++)
|
||||
{
|
||||
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
|
||||
var prestudentId=tree.view.getCellText(v,col);
|
||||
prestudent_id += ';'+prestudentId;
|
||||
|
||||
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
|
||||
var uid=tree.view.getCellText(v,col);
|
||||
student_uid += ';'+uid;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
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=AntragUnterbrechung.xml.php&xsl=AntragUnterbrechung&uid='+student_uid+'&prestudent_id='+prestudent_id+'&output='+output,'AntragUnterbrechung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Erstellt den Ausbildungsvertrag fuer einen oder mehrere Studenten
|
||||
// ****
|
||||
@@ -6387,6 +6701,13 @@ function StudentLVGesamtNotenTreeSort()
|
||||
window.setTimeout(StudentNotenTreeSelectDifferent,20);
|
||||
}
|
||||
|
||||
function StudentAntragNotenTreeSort()
|
||||
{
|
||||
// Nach dem Sortieren der Noten die Unterschiede erneut markieren
|
||||
// da sonst nach dem sortieren falsche Eintraege markiert sind
|
||||
window.setTimeout(StudentAntragNotenTreeSelectDifferent,20);
|
||||
}
|
||||
|
||||
//****
|
||||
//* Exportiert den Bescheid fuer alle markierten Studierenden
|
||||
//****
|
||||
|
||||
Reference in New Issue
Block a user