- Incomming Verwaltung

- Status kann jetzt editiert werden
- Studienerfolg zeigt nun keine negativen Noten mehr an und berücksichtigt das Attribut zeugnis
- im Lektor Tab werden nun auch die inaktiven Studiengaenge richtig dargestellt
This commit is contained in:
Andreas Österreicher
2007-08-17 13:43:57 +00:00
parent abbcbd366f
commit 8e0967b9f6
16 changed files with 625 additions and 64 deletions
+9
View File
@@ -10,6 +10,7 @@ Auflistung nach Priorit&auml;t (h&ouml;chste oben).<br>
<h2>&Auml;nderungen</h2>
<br>
<h2>Fehler</h2>
<li>Beim Starten kommt manchmal folgende Fehlermeldung in der Errorconsole: Error: can't decode principals (failure code 8007000e)</li>
<hr>
<h2>Statistik</h2>
Als Hauptmen&uuml;
@@ -42,6 +43,14 @@ content/statistik/lvplanung.php muss noch erstellt werden)</li>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Studienerfolg soll keine 5er anzeigen<br>
17.08.2007 oesi<br><br></li>
<li>Lektor Tab zeigt kurzbz bei inaktiven Studiengaengen nicht an<br>
17.08.2007 oesi <br><br></li>
<li>Editieren des Status bei Doppelklick<br>
17.08.2007 oesi<br><br></li>
<li>Verwaltung fuer Incoming<br>
17.08.2007 oesi<br><br></li>
<li> Anzahl: Anzahl stimmt nicht immer? <br>
16.08.2007 oesi<br><br></li>
<li>Betriebsmittel Overlay auch bei den Mitarbeitern Anzeigen<br>
+42 -3
View File
@@ -486,7 +486,8 @@ if(!$error)
//Datensatz selbst angelegt wurde
if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['rolle_kurzbz']) &&
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']))
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
{
if($_POST['rolle_kurzbz']=='Student')
{
@@ -496,11 +497,11 @@ if(!$error)
else
{
$rolle = new prestudent($conn, null, true);
if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz']))
if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
{
if($rechte->isBerechtigt('admin',0) || $rolle->insertvon == $user)
{
if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz']))
if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
{
$return = true;
}
@@ -529,6 +530,44 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='saverolle')
{
//Prestudentrolle speichern
if(!$error)
{
if(isset($_POST['prestudent_id']))
{
$rolle = new prestudent($conn);
if(!$rolle->load_rolle($_POST['prestudent_id'], $_POST['rolle_kurzbz'], $_POST['studiensemester_old'], $_POST['ausbildungssemester_old']))
{
$errormsg = 'Rolle konnte nicht geladen werden';
$return = false;
}
else
{
$rolle->ausbildungssemester = $_POST['ausbildungssemester'];
$rolle->ausbildungssemester_old = $_POST['ausbildungssemester_old'];
$rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$rolle->studiensemester_old = $_POST['studiensemester_old'];
$rolle->datum = $_POST['datum'];
$rolle->new = false;
if($rolle->save_rolle())
$return = true;
else
{
$return = false;
$errormsg = $rolle->errormsg;
}
}
}
else
{
$return = false;
$errormsg = 'Prestudent_id muss angegeben werden';
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='BewerberZuStudent')
{
// macht aus einem Bewerber einen Studenten
+3 -1
View File
@@ -225,7 +225,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<vbox id="student-prestudent" style="overflow:auto; margin:0px;" flex="1">
<popupset>
<popup id="student-prestudent-rolle-tree-popup">
<menuitem label="Entfernen" oncommand="StudentPrestudentRolleDelete();" id="student-prestudent-rolle-tree-popup-delete" hidden="false"/>
<menuitem label="Bearbeiten" oncommand="StudentRolleBearbeiten();" id="student-prestudent-rolle-tree-popup-edit" hidden="false"/>
<menuitem label="Entfernen" oncommand="StudentPrestudentRolleDelete();" id="student-prestudent-rolle-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<vbox hidden="true">
@@ -439,6 +440,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100px" enableColumnDrag="true"
flags="dont-build-content"
context="student-prestudent-rolle-tree-popup"
ondblclick="StudentRolleBearbeiten()"
>
<treecols>
<treecol id="student-prestudent-tree-rolle-rolle_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
+82 -1
View File
@@ -1303,7 +1303,10 @@ function StudentPrestudentRolleDelete()
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);
var col = tree.columns ? tree.columns["student-prestudent-tree-rolle-ausbildungssemester"] : "student-prestudent-tree-rolle-ausbildungssemester";
var ausbildungssemester=tree.view.getCellText(tree.currentIndex,col);
if(confirm('Diese Rolle wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
@@ -1314,6 +1317,7 @@ function StudentPrestudentRolleDelete()
req.add('rolle_kurzbz', rolle_kurzbz);
req.add('prestudent_id', prestudent_id);
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('ausbildungssemester', ausbildungssemester);
var response = req.executePOST();
@@ -1334,6 +1338,83 @@ function StudentPrestudentRolleDelete()
}
}
// ****
// * oeffnet den BearbeitenDialog fuer die Prestudentrollen
// ****
function StudentRolleBearbeiten()
{
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);
var col = tree.columns ? tree.columns["student-prestudent-tree-rolle-ausbildungssemester"] : "student-prestudent-tree-rolle-ausbildungssemester";
var ausbildungssemester=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT?>content/student/studentrolledialog.xul.php?prestudent_id='+prestudent_id+'&rolle_kurzbz='+rolle_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester,"","chrome, status=no, width=500, height=300, centerscreen, resizable");
}
// ****
// * Speichert die Daten aus dem BearbeitenDialog
// ****
function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_old)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
prestudent_id = dialog.getElementById('student-rolle-textbox-prestudent_id').value;
rolle_kurzbz = dialog.getElementById('student-rolle-textbox-rolle_kurzbz').value;
studiensemester_kurzbz = dialog.getElementById('student-rolle-menulist-studiensemester').value;
ausbildungssemester = dialog.getElementById('student-rolle-menulist-ausbildungssemester').value;
datum = dialog.getElementById('student-rolle-datum-datum').value;
if(!CheckDatum(datum))
{
alert('Datum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'saverolle');
req.add('rolle_kurzbz', rolle_kurzbz);
req.add('prestudent_id', prestudent_id);
req.add('studiensemester_kurzbz', studiensemester_kurzbz);
req.add('studiensemester_old', studiensemester_old);
req.add('ausbildungssemester_old', ausbildungssemester_old);
req.add('ausbildungssemester', ausbildungssemester);
req.add('datum', datum);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
StudentDetailRolleTreeDatasource.Refresh(false);
SetStatusBarText('Daten wurden geloescht');
return true;
}
}
// ****
// * Anmeldungsdatum fuer den RT wird auf das Aktuelle Datum gesetzt
// ****
+84
View File
@@ -0,0 +1,84 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
var studiensemester_old;
var ausbildungssemester_old;
// ****
// * Laedt die Rolle
// ****
function StudentRolleInit(prestudent_id, rolle_kurzbz, studiensemester_kurzbz, ausbildungssemester)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(prestudent_id!='')
{
studiensemester_old=studiensemester_kurzbz;
ausbildungssemester_old=ausbildungssemester;
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&rolle_kurzbz='+rolle_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+gettimestamp();
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/prestudentrolle/" + prestudent_id+"/"+rolle_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
//RDF parsen
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
neu = false;
}
else
{
//Defaultwerte bei Neuem Datensatz
}
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-rolle-textbox-rolle_kurzbz').value=rolle_kurzbz;
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
document.getElementById('student-rolle-datum-datum').value=datum;
}
// ****
// * Speichern der Rolle
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
// * kommt.
// ****
function StudentRolleSpeichern()
{
if(window.opener.StudentRolleSpeichern(document, studiensemester_old, ausbildungssemester_old))
window.close();
}
+121
View File
@@ -0,0 +1,121 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
include('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
echo '<?xml-stylesheet href="../datepicker/datepicker.css" type="text/css"?>';
if(isset($_GET['prestudent_id']))
$prestudent_id=$_GET['prestudent_id'];
else
$prestudent_id='';
if(isset($_GET['rolle_kurzbz']))
$rolle_kurzbz=$_GET['rolle_kurzbz'];
else
$rolle_kurzbz='';
if(isset($_GET['studiensemester_kurzbz']))
$studiensemester_kurzbz=$_GET['studiensemester_kurzbz'];
else
$studiensemester_kurzbz='';
if(isset($_GET['ausbildungssemester']))
$ausbildungssemester=$_GET['ausbildungssemester'];
else
$ausbildungssemester='';
?>
<window id="student-rolle-dialog" title="Neu"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="StudentRolleInit(<?php echo "'$prestudent_id','$rolle_kurzbz','$studiensemester_kurzbz','$ausbildungssemester'";?>)"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/student/studentrolledialog.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<vbox>
<textbox id="student-rolle-textbox-prestudent_id" value="" hidden="true" />
<groupbox id="student-rolle-groupbox" flex="1">
<caption label="Details"/>
<grid id="student-rolle-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Rolle"/>
<textbox disabled="true" id="student-rolle-textbox-rolle_kurzbz" />
</row>
<row>
<label value="Studiensemester" control="student-rolle-menulist-studiensemester"/>
<menulist id="student-rolle-menulist-studiensemester"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="1"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Ausbildungssemester" control="student-rolle-menulist-ausbildungssemester"/>
<menulist id="student-rolle-menulist-ausbildungssemester" >
<menupopup>
<menuitem value="1" label="1"/>
<menuitem value="2" label="2"/>
<menuitem value="3" label="3"/>
<menuitem value="4" label="4"/>
<menuitem value="5" label="5"/>
<menuitem value="6" label="6"/>
<menuitem value="7" label="7"/>
<menuitem value="8" label="8"/>
<menuitem value="9" label="9"/>
<menuitem value="10" label="10"/>
</menupopup>
</menulist>
</row>
<row>
<label value="Datum" control="student-rolle-datum-datum"/>
<box class='Datum' id="student-rolle-datum-datum" />
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="student-rolel-button-speichern" oncommand="StudentRolleSpeichern()" label="Speichern" />
</hbox>
</groupbox>
</vbox>
</window>