diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index cc74de8a5..285c65f4f 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -12,16 +12,10 @@ Auflistung nach Priorität (höchste oben).
Nach dem sortieren einiger Trees ist danach ein anderer Datensatz
markiert als vorher
Im Filter aufgenommene Bewerber kommen auch abgewiesene vor.
- Rolle sollte vom Anleger wieder gelöscht werden können.
Fehler
-Dokumente
-
- - LVA Liste fuer Geschäftsstelle fehlt noch.
- - Bei "Interessent Neu" wird der Studiengang nicht übernommen.
-
-
+
Listen
- Anzahl: Anzahl stimmt nicht immer?
@@ -79,6 +73,15 @@ allen auf einmal setzbar
Erledigte Anforderungen
+ - Bei "Interessent Neu" wird der Studiengang nicht übernommen.
+ 25.06.2007 oesi
+
+ - Rolle sollte vom Anleger wieder gelöscht werden können.
+ 25.06.2007 oesi
+
+ - LVA Liste fuer Geschäftsstelle fehlt noch.
+ 20.06.2007 oesi
+
- Import: Studiensemester ist auswählbar. Vorgewählt ist
das nächste.
19.06.2007 oesi
diff --git a/content/student/interessentenoverlay.xul.php b/content/student/interessentenoverlay.xul.php
index 599086ecb..ac2b0f2ed 100644
--- a/content/student/interessentenoverlay.xul.php
+++ b/content/student/interessentenoverlay.xul.php
@@ -76,61 +76,61 @@ echo '
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/content/student/interessentoverlay.js.php b/content/student/interessentoverlay.js.php
index 786cfc952..c1bd1a0d9 100644
--- a/content/student/interessentoverlay.js.php
+++ b/content/student/interessentoverlay.js.php
@@ -231,7 +231,11 @@ function InteressentTreeRefresh()
// ****
function InteressentNeu()
{
- window.open('vilesci/personen/import/interessentenimport.php','Interessent anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
+ var verband_tree=document.getElementById('tree-verband');
+ var col = verband_tree.columns ? verband_tree.columns["stg_kz"] : "stg_kz";
+ var stg_kz=verband_tree.view.getCellText(verband_tree.currentIndex,col);
+
+ window.open('vilesci/personen/import/interessentenimport.php?studiengang_kz='+stg_kz,'Interessent anlegen', 'height=768,width=1024,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
}
// ****
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index 5ca137d7c..16d2f6618 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -435,6 +435,48 @@ if(!$error)
}
}
}
+ elseif(isset($_POST['type']) && $_POST['type']=='deleterolle')
+ {
+ //Loescht eine Prestudentrolle
+ //Kann nur geloescht werden wenn die Berechtigung ADMIN ist oder der
+ //Datensatz selbst angelegt wurde
+
+ if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['rolle_kurzbz']) &&
+ isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
+ {
+ $rolle = new prestudent($conn, null, true);
+ if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz']))
+ {
+ if($rechte->isBerechtigt('admin',0) || $rolle->insertvon == $user)
+ {
+ if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz']))
+ {
+ $return = true;
+ }
+ else
+ {
+ $return = false;
+ $errormsg = $rolle->errormsg;
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle';
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = $rolle->errormsg;
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Fehlerhafte Parameteruebergabe';
+ }
+ }
elseif(isset($_POST['type']) && $_POST['type']=='BewerberZuStudent')
{
// macht aus einem Bewerber einen Studenten
diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php
index 3af600021..8fa3c5f0b 100644
--- a/content/student/studentdetailoverlay.xul.php
+++ b/content/student/studentdetailoverlay.xul.php
@@ -222,7 +222,11 @@ echo '';
-
+
+
+
@@ -433,6 +437,7 @@ echo '';
datasources="rdf:null" ref="http://www.technikum-wien.at/prestudentrolle/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"
flags="dont-build-content"
+ context="student-prestudent-rolle-tree-popup"
>
';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/prestudentrolle/rdf#datum" />
+
+
@@ -462,6 +471,7 @@ echo '';
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 6ad1860c9..3298fb5fc 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -44,6 +44,7 @@ var StudentLvGesamtNotenTreeDatasource; //Datasource des Noten Trees
var StudentLvGesamtNotenSelectLehrveranstaltungID=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 StudentDetailRolleTreeDatasource=null; //Datasource fuer denn PrestudentRolleTree
// ********** Observer und Listener ************* //
@@ -87,6 +88,24 @@ var StudentTreeListener =
}
};
+// ****
+// * Observer fuer PrestudentRolleTree
+// * startet Rebuild nachdem das Refresh
+// * der datasource fertig ist
+// ****
+var StudentDetailRolleTreeSinkObserver =
+{
+ onBeginLoad : function(pSink) {},
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('student-prestudent-tree-rolle').builder.rebuild();
+ }
+};
+
// ****
// * Observer fuer Konto Tree
// * startet Rebuild nachdem das Refresh
@@ -889,9 +908,12 @@ function StudentAuswahl()
rollentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
- var datasource = rdfService.GetDataSource(url);
- rollentree.database.AddDataSource(datasource);
-
+ StudentDetailRolleTreeDatasource = rdfService.GetDataSource(url);
+ StudentDetailRolleTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ StudentDetailRolleTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ rollentree.database.AddDataSource(StudentDetailRolleTreeDatasource);
+ StudentDetailRolleTreeDatasource.addXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
+
// *** Konto ***
kontotree = document.getElementById('student-konto-tree');
filter = document.getElementById('student-konto-button-filter').value;
@@ -1215,6 +1237,53 @@ function StudentPrestudentSave()
}
}
+function StudentPrestudentRolleDelete()
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ var tree = document.getElementById('student-prestudent-tree-rolle');
+
+ if (tree.currentIndex==-1) return;
+
+ //Ausgewaehlte Nr holen
+ var col = tree.columns ? tree.columns["student-prestudent-tree-rolle-rolle_kurzbz"] : "student-prestudent-tree-rolle-rolle_kurzbz";
+ var rolle_kurzbz=tree.view.getCellText(tree.currentIndex,col);
+
+ var col = tree.columns ? tree.columns["student-prestudent-tree-rolle-studiensemester_kurzbz"] : "student-prestudent-tree-rolle-studiensemester_kurzbz";
+ var studiensemester_kurzbz=tree.view.getCellText(tree.currentIndex,col);
+
+ var col = tree.columns ? tree.columns["student-prestudent-tree-rolle-prestudent_id"] : "student-prestudent-tree-rolle-prestudent_id";
+ var prestudent_id=tree.view.getCellText(tree.currentIndex,col);
+
+ if(confirm('Diese Rolle wirklich loeschen?'))
+ {
+ var url = 'content/student/studentDBDML.php';
+ var req = new phpRequest(url,'','');
+
+ req.add('type', 'deleterolle');
+
+ req.add('rolle_kurzbz', rolle_kurzbz);
+ req.add('prestudent_id', prestudent_id);
+ req.add('studiensemester_kurzbz', studiensemester_kurzbz);
+
+ var response = req.executePOST();
+
+ var val = new ParseReturnValue(response)
+
+ if (!val.dbdml_return)
+ {
+ if(val.dbdml_errormsg=='')
+ alert(response)
+ else
+ alert(val.dbdml_errormsg)
+ }
+ else
+ {
+ StudentDetailRolleTreeDatasource.Refresh(false);
+ SetStatusBarText('Daten wurden geloescht');
+ }
+ }
+}
+
// ****
// * Anmeldungsdatum fuer den RT wird auf das Aktuelle Datum gesetzt
// ****
@@ -2431,7 +2500,7 @@ function StudentNotenTreeSelectID()
var lehrveranstaltung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
- if(lehrveranstaltung_id == StudentNotenSelectLehrveranstaltugnID)
+ if(lehrveranstaltung_id == StudentNotenSelectLehrveranstaltungID)
{
//Zeile markieren
tree.view.selection.select(i);
@@ -2467,7 +2536,7 @@ function StudentLvGesamtNotenTreeSelectID()
var lehrveranstaltung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
- if(lehrveranstaltung_id == StudentLvGesamtNotenSelectLehrveranstaltugnID)
+ if(lehrveranstaltung_id == StudentLvGesamtNotenSelectLehrveranstaltungID)
{
//Zeile markieren
tree.view.selection.select(i);
@@ -2677,7 +2746,7 @@ function StudentPruefungTreeSelectID()
var pruefung_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
- if(pruefung_id == StudentPruefungSelectLehrveranstaltugnID)
+ if(pruefung_id == StudentPruefungSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
@@ -2825,21 +2894,10 @@ function StudentPruefungLVAChange()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
LEDropDown.database.AddDataSource(datasource);
-}
-
-// ****
-// * Wenn die Lehrvernastaltung der Pruefung geaendert wird, dann wird die Liste der Lehreinheiten neu geladen
-// ****
-function StudentPruefungLEChange()
-{
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- var leid = document.getElementById('student-pruefung-menulist-lehreinheit').value;
-
- //Lehreinheiten Drop Down laden
+ //Mitarbeiter Drop Down laden
var MADropDown = document.getElementById('student-pruefung-menulist-mitarbeiter');
- url='rdf/mitarbeiter.rdf.php?lehreinheit_id='+leid+"&"+gettimestamp();
+ url='rdf/mitarbeiter.rdf.php?lehrveranstaltung_id='+lvid+"&optional=true&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = MADropDown.database.GetDataSources();
@@ -2933,8 +2991,7 @@ function StudentPruefungAuswahl()
if (tree.currentIndex==-1) return;
StudentPruefungDetailDisableFields(false);
- document.getElementById('student-pruefung-checkbox-neu').checked=false;
-
+
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id";
var pruefung_id=tree.view.getCellText(tree.currentIndex,col);
@@ -2960,7 +3017,7 @@ function StudentPruefungAuswahl()
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
-
+ studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
var verband_tree=document.getElementById('tree-verband');
@@ -2971,7 +3028,7 @@ function StudentPruefungAuswahl()
//Lehrveranstaltung Drop Down laden
var LVDropDown = document.getElementById('student-pruefung-menulist-lehrveranstaltung');
- url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&sem="+sem+"&"+gettimestamp();
+ url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LVDropDown.database.GetDataSources();
@@ -2984,15 +3041,15 @@ function StudentPruefungAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LVDropDown.database.AddDataSource(datasource);
-
- debug('Lehrveranstaltung geladen:'+url);
-
- var stsem = getStudiensemester();
+
+ LVDropDown.builder.rebuild();
//Lehreinheiten Drop Down laden
var LEDropDown = document.getElementById('student-pruefung-menulist-lehreinheit');
- url='rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp();
+ url='rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+studiensemester_kurzbz+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LEDropDown.database.GetDataSources();
@@ -3005,13 +3062,15 @@ function StudentPruefungAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
LEDropDown.database.AddDataSource(datasource);
- debug('Lehreinheit geladen');
+ LEDropDown.builder.rebuild();
- //Lehreinheiten Drop Down laden
+ //Mitarbeiter Drop Down laden
var MADropDown = document.getElementById('student-pruefung-menulist-mitarbeiter');
- url='rdf/mitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
+ url='rdf/mitarbeiter.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&optional=true&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = MADropDown.database.GetDataSources();
@@ -3024,9 +3083,12 @@ function StudentPruefungAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSourceBlocking(url);
+ datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
MADropDown.database.AddDataSource(datasource);
- debug('Mitarbeiter geladen');
-
+
+ MADropDown.builder.rebuild();
+
document.getElementById('student-pruefung-menulist-lehrveranstaltung').value=lehrveranstaltung_id;
document.getElementById('student-pruefung-menulist-lehreinheit').value=lehreinheit_id;
document.getElementById('student-pruefung-menulist-mitarbeiter').value=mitarbeiter_uid;
@@ -3034,4 +3096,6 @@ function StudentPruefungAuswahl()
document.getElementById('student-pruefung-menulist-note').value=note;
document.getElementById('student-pruefung-textbox-datum').value=datum;
document.getElementById('student-pruefung-textbox-anmerkung').value=anmerkung;
+ document.getElementById('student-pruefung-checkbox-neu').checked=false;
+ document.getElementById('student-pruefung-textbox-pruefung_id').value=pruefung_id;
}
\ No newline at end of file
diff --git a/content/student/studentpruefungoverlay.xul.php b/content/student/studentpruefungoverlay.xul.php
index 37dc26fbf..d181e407f 100644
--- a/content/student/studentpruefungoverlay.xul.php
+++ b/content/student/studentpruefungoverlay.xul.php
@@ -142,7 +142,7 @@ echo '';
@@ -152,8 +152,7 @@ echo '';