This commit is contained in:
Andreas Österreicher
2008-01-09 16:46:46 +00:00
parent 87af68d2e9
commit a30093ec7e
8 changed files with 406 additions and 9 deletions
+6 -2
View File
@@ -128,7 +128,7 @@
</tr>
<!-- Weiterbildung -->
<tr>
<td class="tdwrap"><a href="private/info/weiterbildung/aktuelles/aktuelles.html" target="content" class="MenuItem" onClick="js_toggle_container('Weiterbildung');"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Weiterbildung</a>
<td class="tdwrap"><a href="private/info/weiterbildung/info.html" target="content" class="MenuItem" onClick="js_toggle_container('Weiterbildung');"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Weiterbildung</a>
<table class="tabcontent" id="Weiterbildung" style="display: none">
<!--<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
@@ -136,7 +136,11 @@
</tr>-->
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a class="Item" href="private/info/weiterbildung/aktuelles/aktuelles.html" target="content" style="font-weight: bold;"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Aktuelles</a></td>
<td class="tdwrap"><a class="Item" href="private/info/weiterbildung/info.html" target="content" style="font-weight: bold;"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Aktuell</a></td>
</tr>
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a class="Item" href="private/info/weiterbildung/aktuelles/aktuelles.html" target="content" style="font-weight: bold;"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Programm 2007/08</a></td>
</tr>
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
@@ -0,0 +1,49 @@
<?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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// ****
// * Laedt die zu bearbeitenden Daten
// ****
function StplDetailsInit(datum)
{
document.getElementById('stpl-details-dialog-box-datum').value=datum;
}
// ****
// * Speichern der Daten
// ****
function StplDetailsSpeichern()
{
if(window.opener.STPLDetailSave(document))
window.close();
else
this.focus();
}
@@ -0,0 +1,221 @@
<?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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
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");
require_once('../../vilesci/config.inc.php');
require_once('../../include/stundenplan.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/datum.class.php');
if(!$conn = pg_pconnect(CONN_STRING))
die('Fehler beim Connecten zur DB');
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['id']) && is_numeric($_GET['id']))
$id=$_GET['id'];
else
$id='';
$datum_obj = new datum();
loadVariables($conn, get_uid());
$stundenplan = new stundenplan($conn, $db_stpl_table, null, true);
if(!$stundenplan->load($id))
die('Fehler beim Laden der Daten');
$studiengang = new studiengang($conn, null, true);
$studiengang->load($stundenplan->studiengang_kz);
?>
<window id="stpl-details-dialog" title="Details"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="StplDetailsInit('<?php echo $datum_obj->convertISODate($stundenplan->datum); ?>')"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lvplanung/stpl-details-dialog.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<vbox>
<textbox id="stpl-details-dialog-textbox-id" hidden="true"/>
<groupbox id="stpl-details-dialog-groupbox" flex="1">
<caption label="Details"/>
<grid id="stpl-details-dialog-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Studiengang"/>
<label value="<?php echo $studiengang->kuerzel; ?>" id="stpl-details-dialog-label-studiengang"/>
</row>
<row>
<label value="Semester" />
<label value="<?php echo $stundenplan->semester; ?>" id="stpl-details-dialog-label-semester"/>
</row>
<row>
<label value="Verband" />
<hbox>
<textbox id="stpl-details-dialog-textbox-verband" value="<?php echo $stundenplan->verband; ?>" maxlength="1" size="1"/>
</hbox>
</row>
<row>
<label value="Gruppe" />
<hbox>
<textbox id="stpl-details-dialog-textbox-gruppe" value="<?php echo $stundenplan->gruppe; ?>" maxlength="1" size="1"/>
</hbox>
</row>
<row>
<label value="Spezialgruppe" control="stpl-details-dialog-menulist-gruppe_kurzbz"/>
<menulist id="stpl-details-dialog-menulist-gruppe_kurzbz"
flex="1">
<menupopup>
<?php
echo "<menuitem value='' label='-- keine Auswahl --'/>\n";
$qry = "SELECT gruppe_kurzbz
FROM public.tbl_gruppe
WHERE studiengang_kz='$stundenplan->studiengang_kz' AND semester='$stundenplan->semester'
UNION
SELECT gruppe_kurzbz
FROM lehre.tbl_lehreinheitgruppe
WHERE lehreinheit_id='$stundenplan->lehreinheit_id'";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($row->gruppe_kurzbz!='')
{
if($row->gruppe_kurzbz==$stundenplan->gruppe_kurzbz)
$selected="selected='true'";
else
$selected='';
echo "<menuitem value='$row->gruppe_kurzbz' label='$row->gruppe_kurzbz' $selected/>\n";
}
}
}
?>
</menupopup>
</menulist>
</row>
<row>
<label value="UNr" />
<textbox id="stpl-details-dialog-textbox-unr" value="<?php echo $stundenplan->unr; ?>"/>
</row>
<row>
<label value="Titel" />
<textbox id="stpl-details-dialog-textbox-titel" value="<?php echo $stundenplan->titel; ?>"/>
</row>
<row>
<label value="Anmerkung" />
<textbox id="stpl-details-dialog-textbox-anmerkung" value="<?php echo $stundenplan->anmerkung; ?>"/>
</row>
<row>
<label value="Fix" />
<checkbox id="stpl-details-dialog-checkbox-fix" checked="<?php echo ($stundenplan->fix?'true':'false'); ?>"/>
</row>
<row>
<label value="Ort" control="stpl-details-dialog-menulist-ort_kurzbz"/>
<menulist id="stpl-details-dialog-menulist-ort_kurzbz"
flex="1">
<menupopup>
<?php
$qry = "SELECT ort_kurzbz FROM public.tbl_ort ORDER BY ort_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($row->ort_kurzbz!='')
{
if($row->ort_kurzbz==$stundenplan->ort_kurzbz)
$selected="selected='true'";
else
$selected='';
echo "<menuitem value='$row->ort_kurzbz' label='$row->ort_kurzbz' $selected/>\n";
}
}
}
?>
</menupopup>
</menulist>
</row>
<row>
<label value="Stunde" control="stpl-details-dialog-menulist-stunde"/>
<menulist id="stpl-details-dialog-menulist-stunde"
flex="1">
<menupopup>
<?php
$qry = "SELECT stunde FROM lehre.tbl_stunde ORDER BY stunde";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($row->stunde!='')
{
if($row->stunde==$stundenplan->stunde)
$selected="selected='true'";
else
$selected='';
echo "<menuitem value='$row->stunde' label='$row->stunde' $selected/>\n";
}
}
}
?>
</menupopup>
</menulist>
</row>
<row>
<label value="Datum" control="stpl-details-dialog-box-datum"/>
<hbox>
<box class="Datum" id="stpl-details-dialog-box-datum"/>
</hbox>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="stpl-details-dialog-button-speichern" oncommand="StplDetailsSpeichern()" label="Speichern" />
</hbox>
</groupbox>
</vbox>
</window>
+78 -1
View File
@@ -206,12 +206,89 @@ function onStplDetail(event)
}
// ****
// * oeffnet einen Dialog zum Bearbeiten der StundenplanDetails
// ****
function STPLDetailEdit()
{
alert('comming soon');
tree = document.getElementById('treeStplDetails');
var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
if(tree.currentIndex!=-1)
{
var id = tree.view.getCellText(tree.currentIndex,col);
}
else
{
alert('Bitte zuerst einen Eintrag markieren!');
return false;
}
window.open('<?php echo APP_ROOT; ?>content/lvplanung/stpl-details-dialog.xul.php?id='+id,'Details', 'height=350,width=350,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Speichert die Stundenplan-Detail-Daten
// ****
function STPLDetailSave(dialog)
{
var id = dialog.getElementById('stpl-details-dialog-textbox-id').value;
var unr = dialog.getElementById('stpl-details-dialog-textbox-unr').value;
var verband = dialog.getElementById('stpl-details-dialog-textbox-verband').value;
var gruppe = dialog.getElementById('stpl-details-dialog-textbox-gruppe').value;
var gruppe_kurzbz = dialog.getElementById('stpl-details-dialog-menulist-gruppe_kurzbz').value;
var ort_kurzbz = dialog.getElementById('stpl-details-dialog-menulist-ort_kurzbz').value;
var datum = dialog.getElementById('stpl-details-dialog-box-datum').value;
var stunde = dialog.getElementById('stpl-details-dialog-menulist-stunde').value;
var titel = dialog.getElementById('stpl-details-dialog-textbox-titel').value;
var anmerkung = dialog.getElementById('stpl-details-dialog-textbox-anmerkung').value;
var fix = dialog.getElementById('stpl-details-dialog-checkbox-fix').checked;
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'savestundenplaneintrag');
req.add('stundenplan_id', id);
req.add('unr', unr);
req.add('verband', verband);
req.add('gruppe', gruppe);
req.add('gruppe_kurzbz', gruppe_kurzbz);
req.add('ort_kurzbz', ort_kurzbz);
req.add('datum', datum);
req.add('stunde', stunde);
req.add('titel', titel);
req.add('anmerkung', anmerkung);
req.add('stundenplan_id', id);
req.add('fix', fix);
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
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var treeStplDetails=parent.document.getElementById('treeStplDetails');
//alert('url'+STPLlastDetailUrl);
treeStplDetails.setAttribute('datasources', '');
treeStplDetails.setAttribute('datasources', STPLlastDetailUrl);
return true;
}
}
// ****
// * Loescht den Eintrag der im Detailfenster markiert ist aus der Stundenplantabelle
// ****
function STPLDetailDelete()
{
//alert('url'+STPLlastDetailUrl);
+6 -4
View File
@@ -93,8 +93,8 @@ if(isset($_GET['abschlusspruefung_id']))
if(isset($_GET['typ']))
$params.='&typ='.$_GET['typ'];
if(isset($_GET['all']))
$params.='&all='.$_GET['all'];
if(isset($_GET["lvid"]))
$params.='&all='.$_GET['all'];
if(isset($_GET["lvid"]))
$params.='&lvid='.$_GET["lvid"];
if($xsl=='AccountInfo')
@@ -126,10 +126,12 @@ if($xsl=='AccountInfo')
if(pg_num_rows($result_std)==1)
{
$row_std = pg_fetch_object($result_std);
//Mitarbeiterrechte erforderlich
//Rechte pruefen
if($rechte->isBerechtigt('admin', $row_std->studiengang_kz, 'suid') ||
$rechte->isBerechtigt('admin', 0, 'suid') ||
$rechte->isBerechtigt('assistenz', $row_std->studiengang_kz, 'suid'))
$rechte->isBerechtigt('assistenz', $row_std->studiengang_kz, 'suid') ||
$rechte->isBerechtigt('assistenz', 0, 'suid') ||
$rechte->isBerechtigt('support', 0, 'suid'))
{
$isberechtigt=true;
}
+1 -1
View File
@@ -70,7 +70,7 @@ function StudentKontoNeuInit()
col = tree_vb.columns ? tree_vb.columns["stg_kz"] : "stg_kz";
//var stg_kz=tree_vb.view.getCellText(tree_vb.currentIndex,col);
studiengang_kz=tree_vb.view.getCellText(tree_vb.currentIndex,col);
debug('kz:'+studiengang_kz);
//debug('kz:'+studiengang_kz);
person_ids = paramList;
if(anzahl>1)
+5
View File
@@ -191,6 +191,11 @@ if(!$error)
$errormsg = 'ID ist ungueltig';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='savestundenplaneintrag')
{
$errormsg = 'Noch nicht implementiert';
$return = false;
}
else
{
$return = false;
+40 -1
View File
@@ -84,7 +84,46 @@ class stundenplan
// *********************************************************
function load($stundenplan_id)
{
return false;
$qry = "SELECT * FROM lehre.tbl_$this->stpl_table WHERE ".$this->stpl_table."_id='$stundenplan_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$id = $this->stpl_table.'_id';
$this->stundenplan_id = $row->$id;
$this->lehreinheit_id = $row->lehreinheit_id;
$this->unr = $row->unr;
$this->studiengang_kz = $row->studiengang_kz;
$this->semester = $row->semester;
$this->verband = $row->verband;
$this->gruppe = $row->gruppe;
$this->gruppe_kurzbz = $row->gruppe_kurzbz;
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
$this->ort_kurzbz = $row->ort_kurzbz;
$this->datum = $row->datum;
$this->stunde = $row->stunde;
$this->titel = $row->titel;
$this->anmerkung = $row->anmerkung;
$this->fix = ($row->fix=='t'?true:false);
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insetvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Der Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
// *******************************************