mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
This commit is contained in:
@@ -0,0 +1,205 @@
|
||||
// aktueller Student, der angezeigt wird
|
||||
var currentStudent;
|
||||
|
||||
function studentAuswahl() {
|
||||
var tree = document.getElementById('treeStudenten');
|
||||
var items = tree.selectedItems;
|
||||
|
||||
//alert(tree.view.getCellText(tree.currentIndex,"uid"));
|
||||
// Datasource holen
|
||||
var dsource;
|
||||
// Trick 17 (sonst gibt's ein Permission denied)
|
||||
try {
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
} catch(e) {
|
||||
alert(e);
|
||||
return;
|
||||
}
|
||||
var sources=tree.database.GetDataSources();
|
||||
if (sources.hasMoreElements()){
|
||||
dsource=sources.getNext();
|
||||
}
|
||||
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/tempus/studenten/" + tree.view.getCellText(tree.currentIndex,"uid"));
|
||||
|
||||
// zum debuggen; zeigt predicates an, die in resource zu finden sind
|
||||
/*
|
||||
var targets = dsource.ArcLabelsOut(subject);
|
||||
while (targets.hasMoreElements()){
|
||||
var predicate = targets.getNext();
|
||||
if (predicate instanceof Components.interfaces.nsIRDFResource){
|
||||
var target = dsource.GetTarget(subject, predicate, true);
|
||||
|
||||
if (target instanceof Components.interfaces.nsIRDFResource){
|
||||
alert("Resource is: " + target.Value);
|
||||
}
|
||||
else if (target instanceof Components.interfaces.nsIRDFLiteral){
|
||||
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//
|
||||
var predicateNS = "http://www.technikum-wien.at/tempus/studenten/rdf";
|
||||
//var predicate = rdfService.GetResource( predicateNS + "#vornamen" );
|
||||
//var target = dsource.GetTarget(subject, predicate, true);
|
||||
var student = new Student();
|
||||
|
||||
student.uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
|
||||
student.titel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel" ));
|
||||
student.vornamen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vornamen" ));
|
||||
student.nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nachname" ));
|
||||
student.geburtsdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsdatum" ));
|
||||
student.geburtsort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtsort" ));
|
||||
student.geburtszeit = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#geburtszeit" ));
|
||||
student.homepage = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#homepage" ));
|
||||
student.email = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#email" ));
|
||||
student.matrikelnummer = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#matrikelnummer" ));
|
||||
student.semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
|
||||
student.verband = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verband" ));
|
||||
student.gruppe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gruppe" ));
|
||||
student.studiengang_kz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiengang_kz" ));
|
||||
student.stg_bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stg_bezeichnung" ));
|
||||
student.aktiv = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aktiv" ));
|
||||
|
||||
student.show();
|
||||
currentStudent = student;
|
||||
|
||||
/*
|
||||
if (dsource.hasArcOut(subject, predicate)) {
|
||||
if (target instanceof Components.interfaces.nsIRDFLiteral) {
|
||||
alert("Literal is: " + target.Value + " predi="+ predicate.Value+ "subject="+subject.Value);
|
||||
student.vornamen = target.Value;
|
||||
student.show();
|
||||
}
|
||||
} */
|
||||
document.getElementById('std-label-anzahl').value="Anzahl: "+tree.view.rowCount;
|
||||
}
|
||||
|
||||
function getTargetHelper(dsource,subj,predi) {
|
||||
if (dsource.hasArcOut(subj, predi)) {
|
||||
var target = dsource.GetTarget(subj, predi, true);
|
||||
if (target instanceof Components.interfaces.nsIRDFLiteral) {
|
||||
return target.Value;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Student Value Object
|
||||
*/
|
||||
function Student() {
|
||||
this.uid=null;
|
||||
this.matrikelnummer=null;
|
||||
this.titel=null;
|
||||
this.vornamen=null;
|
||||
this.nachname=null;
|
||||
this.geburtsdatum=null;
|
||||
this.geburtsort=null;
|
||||
this.geburtszeit=null;
|
||||
this.homepage=null;
|
||||
this.email=null;
|
||||
this.semester=null;
|
||||
this.verband=null;
|
||||
this.gruppe=null;
|
||||
this.stg_bezeichnung=null;
|
||||
this.studiengang_kz=null;
|
||||
this.aktiv=null;
|
||||
// flag, welches angibt, ob Daten verändert wurden
|
||||
this.dataChanged=false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Daten aus Formular holen und evt. speichern
|
||||
*/
|
||||
Student.prototype.updateData = function() {
|
||||
if (document.getElementById('gridStudentenUID').value!=this.uid) {
|
||||
this.uid = document.getElementById('gridStudentenUID').value;
|
||||
this.dataChanged = true;
|
||||
};
|
||||
if (document.getElementById('gridStudentenTitel').value!=this.titel) {
|
||||
this.titel = document.getElementById('gridStudentenTitel').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenVornamen').value!=this.vornamen) {
|
||||
this.vornamen = document.getElementById('gridStudentenVornamen').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenNachname').value!=this.nachname) {
|
||||
this.nachname = document.getElementById('gridStudentenNachname').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenMatrikelnummer').value!=this.matrikelnummer) {
|
||||
this.matrikelnummer = document.getElementById('gridStudentenMatrikelnummer').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
//alert(document.getElementById('gridStudentenMatrikelnummer').value);
|
||||
if (document.getElementById('gridStudentenGeburtsdatum').value!=this.geburtsdatum) {
|
||||
// todo validation
|
||||
this.geburtsdatum = document.getElementById('gridStudentenGeburtsdatum').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenGeburtsort').value!=this.geburtsort) {
|
||||
this.geburtsort = document.getElementById('gridStudentenGeburtsort').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenGeburtszeit').value!=this.geburtszeit) {
|
||||
// todo validation
|
||||
this.geburtszeit = document.getElementById('gridStudentenGeburtszeit').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenHomepage').value!=this.homepage) {
|
||||
this.homepage = document.getElementById('gridStudentenHomepage').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenEmail').value!=this.email) {
|
||||
this.email = document.getElementById('gridStudentenEmail').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenSemester').value!=this.semester) {
|
||||
this.semester = document.getElementById('gridStudentenSemester').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenVerband').value!=this.verband) {
|
||||
this.verband = document.getElementById('gridStudentenVerband').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (document.getElementById('gridStudentenGruppe').value!=this.gruppe) {
|
||||
this.gruppe = document.getElementById('gridStudentenGruppe').value;
|
||||
this.dataChanged = true;
|
||||
}
|
||||
if (!((document.getElementById('gridStudentenAktiv').checked && this.aktiv=='True') ||
|
||||
(!document.getElementById('gridStudentenAktiv').checked && this.aktiv=='False'))) {
|
||||
this.aktiv = document.getElementById('gridStudentenAktiv').checked?'True':'False';
|
||||
this.dataChanged = true;
|
||||
}
|
||||
alert(this.dataChanged?'dataChanged':'nix changed');
|
||||
}
|
||||
|
||||
/**
|
||||
* Student anzeigen
|
||||
*/
|
||||
Student.prototype.show = function() {
|
||||
document.getElementById('gridStudentenUID').value = this.uid;
|
||||
document.getElementById('gridStudentenTitel').value = this.titel;
|
||||
document.getElementById('gridStudentenVornamen').value = this.vornamen;
|
||||
document.getElementById('gridStudentenNachname').value = this.nachname;
|
||||
document.getElementById('gridStudentenMatrikelnummer').value = this.matrikelnummer;
|
||||
document.getElementById('gridStudentenGeburtsdatum').value = this.geburtsdatum;
|
||||
document.getElementById('gridStudentenGeburtsort').value = this.geburtsort;
|
||||
document.getElementById('gridStudentenGeburtszeit').value = this.geburtszeit;
|
||||
document.getElementById('gridStudentenHomepage').value = this.homepage;
|
||||
document.getElementById('gridStudentenEmail').value = this.email;
|
||||
document.getElementById('gridStudentenSemester').value = this.semester;
|
||||
document.getElementById('gridStudentenVerband').value = this.verband;
|
||||
document.getElementById('gridStudentenGruppe').value = this.gruppe;
|
||||
document.getElementById('gridStudentenStgBezeichnung').value = this.stg_bezeichnung;
|
||||
document.getElementById('gridStudentenAktiv').checked = (this.aktiv=='True'?true:false);
|
||||
}
|
||||
Reference in New Issue
Block a user