Tempus: Bei Stundenplandetails kann jetzt auch der Lektor geaendert werden

This commit is contained in:
Andreas Österreicher
2008-02-06 16:24:26 +00:00
parent ba98ec65c6
commit e35765d081
9 changed files with 221 additions and 21 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ $error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter') && !$rechte->isBerechtigt('assistenz'))
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('mitarbeiter') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('lv-plan'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
+2 -1
View File
@@ -32,9 +32,10 @@ loadVariables($conn, $user);
// ****
// * Laedt die zu bearbeitenden Daten
// ****
function StplDetailsInit(datum)
function StplDetailsInit(datum, mitarbeiter_uid)
{
document.getElementById('stpl-details-dialog-box-datum').value=datum;
document.getElementById('stpl-details-dialog-menulist-lektor').value=mitarbeiter_uid;
}
// ****
+15 -1
View File
@@ -62,7 +62,7 @@ $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); ?>')"
onload="StplDetailsInit('<?php echo $datum_obj->convertISODate($stundenplan->datum); ?>','<?php echo $stundenplan->mitarbeiter_uid; ?>')"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/lvplanung/stpl-details-dialog.js.php" />
@@ -204,6 +204,20 @@ $studiengang->load($stundenplan->studiengang_kz);
</menupopup>
</menulist>
</row>
<row>
<label value="Lektor" control="stpl-details-dialog-menulist-lektor"/>
<menulist id="stpl-details-dialog-menulist-lektor"
datasources="<?php echo APP_ROOT.'rdf/mitarbeiter.rdf.php?stg_kz='.$stundenplan->studiengang_kz.'&amp;lektor=true'.
' '.APP_ROOT.'rdf/mitarbeiter.rdf.php?mitarbeiter_uid='.$stundenplan->mitarbeiter_uid;?>"
ref="http://www.technikum-wien.at/mitarbeiter/_alle" flex="1">
<template>
<menupopup>
<menuitem uri="rdf:*" label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname"
value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Datum" control="stpl-details-dialog-box-datum"/>
<hbox>
@@ -242,6 +242,7 @@ function STPLDetailSave(dialog)
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 mitarbeiter_uid = dialog.getElementById('stpl-details-dialog-menulist-lektor').value;
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
var req = new phpRequest(url,'','');
@@ -260,6 +261,7 @@ function STPLDetailSave(dialog)
req.add('anmerkung', anmerkung);
req.add('stundenplan_id', id);
req.add('fix', fix);
req.add('mitarbeiter_uid', mitarbeiter_uid);
var response = req.executePOST();
+156
View File
@@ -0,0 +1,156 @@
<?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>.
*/
/**
* Exportiert eine Liste der Absolventen in ein Excel File.
* Das betreffende Studiensemester wird uebergeben.
*/
require_once('../../vilesci/config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/Excel/excel.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/studiensemester.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
//Parameter holen
$studiensemester_kurzbz = isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:'';
if($studiensemester_kurzbz!='')
{
// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();
// sending HTTP headers
$workbook->send("Absolventenstatistik". "_".$studiensemester_kurzbz.".xls");
// Creating a worksheet
$worksheet =& $workbook->addWorksheet("Absolventenstatistik");
$format_bold =& $workbook->addFormat();
$format_bold->setBold();
$stg_arr=array();
$studiengang = new studiengang($conn);
$studiengang->getAll('typ, kurzbzlang', false);
foreach ($studiengang->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
$spalte=0;
$zeile=0;
$worksheet->write($zeile,$spalte,'Absolventenstatistik '.$studiensemester_kurzbz.' erstellt am '.date("d.m.Y"), $format_bold);
$spalte=0;
$zeile++;
$worksheet->write($zeile,$spalte,'UID',$format_bold);
$maxlength[$spalte]=3;
$worksheet->write($zeile,++$spalte,'NACHNAME',$format_bold);
$maxlength[$spalte]=8;
$worksheet->write($zeile,++$spalte,'VORNAME',$format_bold);
$maxlength[$spalte]=7;
$worksheet->write($zeile,++$spalte,'STG',$format_bold);
$maxlength[$spalte]=3;
$worksheet->write($zeile,++$spalte,'GESCHLECHT',$format_bold);
$maxlength[$spalte]=10;
// Daten holen
$qry = "SELECT
uid, vorname, nachname, studiengang_kz, geschlecht
FROM
campus.vw_student
WHERE
public.get_rolle_prestudent (prestudent_id, '$studiensemester_kurzbz')='Absolvent'
ORDER BY studiengang_kz, nachname, vorname";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
$zeile++;
$spalte=0;
$worksheet->write($zeile,$spalte,$row->uid);
if(strlen($row->uid)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row->uid);
$worksheet->write($zeile,++$spalte, $row->nachname);
if(strlen($row->nachname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row->nachname);
$worksheet->write($zeile,++$spalte, $row->vorname);
if(strlen($row->vorname)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row->vorname);
$worksheet->write($zeile,++$spalte, $stg_arr[$row->studiengang_kz]);
if(strlen($stg_arr[$row->studiengang_kz])>$maxlength[$spalte])
$maxlength[$spalte]=strlen($stg_arr[$row->studiengang_kz]);
$worksheet->write($zeile,++$spalte, $row->geschlecht);
if(strlen($row->geschlecht)>$maxlength[$spalte])
$maxlength[$spalte]=strlen($row->geschlecht);
}
}
//Die Breite der Spalten setzen
foreach($maxlength as $i=>$breite)
$worksheet->setColumn($i, $i, $breite+2);
$workbook->close();
}
else
{
echo '
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Absolventen</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
</head>
<body class="Background_main">
<h2>Absolventenstatistik</h2>
';
echo '<form method="GET" action="'.$_SERVER['PHP_SELF'].'">';
echo 'Studiensemester: <SELECT name="studiensemester_kurzbz">';
$stsem = new studiensemester($conn);
$stsem_akt = $stsem->getaktorNext();
$stsem->getAll();
foreach ($stsem->studiensemester as $row)
{
if($row->studiensemester_kurzbz==$stsem_akt)
$selected='selected';
else
$selected='';
echo "<OPTION value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</OPTION>";
}
echo "</SELECT>";
echo " <input type='submit' value='Erstellen'>";
echo "</form></body></html>";
}
?>
+4 -4
View File
@@ -81,8 +81,8 @@ loadVariables($conn, $user);
$studiengang->getAll('typ, kurzbzlang', false);
foreach ($studiengang->result as $row)
{
//btec, tw und LLLC nicht anzeigen
if($row->studiengang_kz!='0' && $row->studiengang_kz!='203' && $row->studiengang_kz!='10001')
//btec, tw, LLLC und eak nicht anzeigen
if($row->studiengang_kz!='0' && $row->studiengang_kz!='203' && $row->studiengang_kz!='10001' && $row->studiengang_kz!='10002')
{
if(isset($stg_arr_2[$row->studiengang_kz]))
$worksheet->write(0,$i,$stg_arr_2[$row->studiengang_kz], $format_bold);
@@ -93,7 +93,7 @@ loadVariables($conn, $user);
$i++;
}
}
// Daten holen
$qry = "SELECT *, tbl_person.person_id
FROM
@@ -103,7 +103,7 @@ loadVariables($conn, $user);
tbl_prestudent.person_id=tbl_person.person_id AND
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
rolle_kurzbz in('Interessent','Bewerber','Student','Abbrecher','Unterbrecher','Diplomand','Incoming', 'Praktikant') AND
studiengang_kz not in(0, 203, 10001)
studiengang_kz not in(0, 203, 10001, 10002)
ORDER BY nachname, vorname, tbl_prestudentrolle.datum, tbl_prestudentrolle.insertamum, tbl_prestudentrolle.ext_id";
//'Outgoing',
+1 -1
View File
@@ -121,7 +121,7 @@ echo '<?xml-stylesheet href="datepicker/datepicker.css" type="text/css"?>';
</menupopup>
</menu>
<?php
if($rechte->isBerechtigt('admin'))
if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('lv-plan'))
{
?>
<menu id="menu-prefs-stpltable" label="&menu-prefs-stpltable.label;" accesskey="&menu-prefs-stpltable.accesskey;">
+2 -1
View File
@@ -47,7 +47,7 @@ $error = false;
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('lv-plan'))
{
$return = false;
$errormsg = 'Keine Berechtigung';
@@ -207,6 +207,7 @@ if(!$error)
$stundenplan->titel = $_POST['titel'];
$stundenplan->anmerkung = $_POST['anmerkung'];
$stundenplan->fix = ($_POST['fix']=='true'?true:false);
$stundenplan->mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$stundenplan->updateamum = date('Y-m-d H:i:s');
$stundenplan->updatevon = get_uid();
+38 -12
View File
@@ -40,7 +40,12 @@ if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
if (isset($_GET['lektor']))
$lektor=$_GET['lektor'];
{
if($_GET['lektor']=='true')
$lektor=true;
else
$lektor=false;
}
else
$lektor=null;
@@ -68,6 +73,11 @@ if(isset($_GET['filter']))
$filter = $_GET['filter'];
else
$filter=null;
if(isset($_GET['mitarbeiter_uid']))
$mitarbeiter_uid=$_GET['mitarbeiter_uid'];
else
$mitarbeiter_uid=null;
if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_id']))
{
@@ -111,7 +121,7 @@ function draw_row($mitarbeiter)
';
}
if($lehrveranstaltung_id==null && $filter==null)
if($lehrveranstaltung_id==null && $filter==null && $mitarbeiter_uid==null)
{
$ma=$mitarbeiter->getMitarbeiter($lektor,$fixangestellt,$stg_kz,$fachbereich_id);
@@ -208,20 +218,36 @@ else
';
}
if($filter==null)
if($mitarbeiter_uid!=null)
{
$mitarbeiter->getMitarbeiterFromLehrveranstaltung($lehrveranstaltung_id);
$mitarbeiter->load($mitarbeiter_uid);
echo "
<RDF:li>
<RDF:Seq about=\"".$rdf_url."_alle\" >
<RDF:li>";
draw_row($mitarbeiter);
echo "
</RDF:li>
</RDF:Seq>
</RDF:li>";
}
else
{
$mitarbeiter->getMitarbeiterFilter($filter);
}
foreach ($mitarbeiter->result as $row)
{
echo '<RDF:li>';
draw_row($row);
echo '</RDF:li>';
if($filter==null)
{
$mitarbeiter->getMitarbeiterFromLehrveranstaltung($lehrveranstaltung_id);
}
else
{
$mitarbeiter->getMitarbeiterFilter($filter);
}
foreach ($mitarbeiter->result as $row)
{
echo '<RDF:li>';
draw_row($row);
echo '</RDF:li>';
}
}
}