Adapted JS method LeMitarbeiterAuswahl() to perform Vertragsdetails-GUI

This commit is contained in:
Cris
2019-10-02 17:21:10 +02:00
committed by hainberg
parent 544fd4d976
commit f939535444
+115 -12
View File
@@ -1222,7 +1222,7 @@ function LeMitarbeiterDisableFields(val)
// ****
// * Bei Auswaehlen eines Mitarbeiters werden zu zugehoerigen
// * Details geladen und angezeigt
// * Details sowie ggf. die Vertragsdetails geladen und angezeigt
// ****
function LeMitarbeiterAuswahl()
{
@@ -1308,6 +1308,7 @@ function LeMitarbeiterAuswahl()
faktor = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#faktor" ));
anmerkung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#anmerkung" ));
bismelden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismelden" ));
vertrag_id = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#vertrag_id" ));
//Felder aktivieren
LeMitarbeiterDisableFields(false);
@@ -1328,7 +1329,107 @@ function LeMitarbeiterAuswahl()
else
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false;
LeMitarbeiterGesamtkosten();
var gesamtkosten = LeMitarbeiterGesamtkosten();
// Prüfe ob Vertragsdetails angezeigt werden
var vertragsdetails_anzeigen = <?php echo (defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN) ? true : false ?>;
// Wenn Vertragsdetails angezeigt werden
if (vertragsdetails_anzeigen) {
// Reset attributes
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-vertragsstatus').setAttribute("style", "font-weight: normal");
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-vertrag-stornieren').setAttribute("tooltiptext",
"Stornieren erst ab Status 'Angenommen' möglich.")
// Wenn es einen Vertrag zum Lehrauftrag gibt
if (vertrag_id != null && vertrag_id != '')
{
// Url zum RDF
var url = "<?php echo APP_ROOT; ?>rdf/vertrag.rdf.php?"+gettimestamp();
//
////RDF laden
var req = new phpRequest(url, '', '');
req.add('vertrag_id', vertrag_id);
var response = req.execute();
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// XML in Datasource parsen
var dsource = parseRDFString(response, 'http://www.technikum-wien.at/vertrag/liste');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/vertrag/" + vertrag_id);
var predicateNS = "http://www.technikum-wien.at/vertrag/rdf";
//Daten holen
betrag = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betrag" ));
vertragsdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsdatum" ));
vertragsstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsstunden" ));
vertragsstunden_studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsstunden_studiensemester_kurzbz" ));
// Letzten (aktuellsten) Vertragsstatus laden
var url_letzterStatus = '<?php echo APP_ROOT ?>content/lvplanung/lehrveranstaltungDBDML.php';
var req_letzterStatus = new phpRequest(url_letzterStatus,'','');
req_letzterStatus.add('type', 'getLastVertragsstatus');
req_letzterStatus.add('vertrag_id', vertrag_id);
var response_letzterStatus = req_letzterStatus.executePOST();
var val_letzterStatus = new ParseReturnValue(response_letzterStatus);
if (!val_letzterStatus.dbdml_return)
{
if(val_letzterStatus.dbdml_errormsg=='')
alert(response_letzterStatus);
else
alert(val_letzterStatus.dbdml_errormsg);
}
else
{
var letzterStatus = val_letzterStatus.dbdml_data;
}
// Vertragsstatus setzen
// * wenn Gesamtkosten im Lehrauftrag nicht gleich Betrag im Vertrag ist: Status 'geändert' hardcoden
if(gesamtkosten != parseFloat(betrag))
{
vertragsstatus = 'Geändert';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-vertragsstatus').setAttribute("style", "font-weight: bold")
}
// * ansonsten Vertragsstatus zeigen
else
{
vertragsstatus = letzterStatus;
}
// Uppercase status
vertragsstatus = vertragsstatus.charAt(0).toUpperCase() + vertragsstatus.slice(1)
// Stornierung
// * nur wenn Vertragsstatus 'akzeptiert' ist zulassen und tooltip ausblenden
if(letzterStatus == 'akzeptiert')
{
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-vertrag-stornieren').disabled = false;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-vertrag-stornieren').setAttribute("tooltiptext", "");
}
}
// Wenn kein Vertrag vorhanden
else {
vertragsstatus = 'Noch kein Vertrag';
vertragsstunden = '-';
vertragsstunden_studiensemester_kurzbz = '-';
}
// Felder befüllen
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-vertragsstatus').value = vertragsstatus;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-vertragsstunden').value = vertragsstunden;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-vertragsstunden_studiensemester_kurzbz').value = vertragsstunden_studiensemester_kurzbz;
}
}
// ****
@@ -2076,22 +2177,22 @@ function LehrveranstaltungNotenAuswahl()
var col = tree.columns ? tree.columns["lehrveranstaltung-noten-tree-studiensemester_kurzbz"] : "lehrveranstaltung-noten-tree-studiensemester_kurzbz";
var studiensemester_kurzbz=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/zeugnisnote/" + lehrveranstaltung_id+'/'+student_uid+'/'+studiensemester_kurzbz);
var subject = rdfService.GetResource("http://www.technikum-wien.at/zeugnisnote/" + lehrveranstaltung_id+'/'+student_uid+'/'+studiensemester_kurzbz);
var predicateNS = "http://www.technikum-wien.at/zeugnisnote/rdf";
var predicateNS = "http://www.technikum-wien.at/zeugnisnote/rdf";
//Daten holen
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
//Daten holen
note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" ));
punkte = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#punkte" ));
var url = '<?php echo APP_ROOT ?>rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
if(note=='')
note='9';
@@ -2375,6 +2476,8 @@ function LeMitarbeiterGesamtkosten()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-gesamtkosten').setAttribute("style",'color: red');
else
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-label-gesamtkosten').setAttribute("style",'color: black');
return gesamtkosten;
}
/*