- Löschen von Reservierungen im Tempus

- Bugfix beim löschen von Noten
- Bugfix bei der Anzeige des Fachbereichkoordinators
- Bilder von Mitarbeitern können jetzt übers FAS gelöscht werden
This commit is contained in:
Andreas Österreicher
2008-03-10 16:44:49 +00:00
parent b4f02fe06c
commit 2bf60337d5
11 changed files with 173 additions and 11 deletions
+11
View File
@@ -419,6 +419,17 @@ Duplizierter Wert, etc.)<br>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Das L&ouml;schen von Noten von LVs zu denen der Student nicht
zugeordnet ist f&uuml;hrt jetzt nicht mehr zu einem einfrieren des
Programms<br>
10.03.2008 oesi<br>
<br>
</li>
<li>Hochgeladene Bilder k&ouml;nnen jetzt auch wieder gel&ouml;scht
werden.<br>
10.03.2008 oesi<br>
<br>
</li>
<li>Neue Filter beim Mitarbeitermodul: "Inaktive Personen mit
Verwendung", "Aktive Personen ohne Verwendung", der "Karenziert" Filter
liefert jetzt nur noch aktive karenzierte Mitarbeiter, Der Filter
+1 -1
View File
@@ -162,7 +162,7 @@ if(isset($_POST['submitbild']))
$person->foto = $content;
$person->new = false;
if($person->save())
echo "<b>Bild wurde erfolgreich gespeichert</b><script language='Javascript'>opener.StudentAuswahl(); window.close();</script><br />";
echo "<b>Bild wurde erfolgreich gespeichert</b><script language='Javascript'>opener.StudentAuswahl(); opener.MitarbeiterAuswahl(); window.close();</script><br />";
else
echo '<b>'.$person->errormsg.'</b><br />';
}
+17
View File
@@ -8,6 +8,7 @@ include('../../include/berechtigung.class.php');
include('../../include/lehreinheit.class.php');
include('../../include/zeitwunsch.class.php');
include('../../include/wochenplan.class.php');
include('../../include/reservierung.class.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
@@ -173,6 +174,15 @@ if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set'
}
$name_stpl_idx='x'.++$j.'stundenplan_id0';
}
//ReservierungsIDs
$i=0;
$name_res_id='reservierung_id'.$i;
while ($i<100 && isset($_GET[$name_res_id]))
{
$res_id[]=$_GET[$name_res_id];
$name_res_id='reservierung_id'.++$i;
}
}
// ****************************************************************************
@@ -232,6 +242,13 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
$lehrstunde->delete($stundenplan_id,$db_stpl_table);
$error_msg.=$lehrstunde->errormsg;
}
$reservierung=new reservierung($conn);
foreach ($res_id as $reservierung_id)
{
$reservierung->delete($reservierung_id);
$error_msg.=$reservierung->errormsg;
}
}
// ******************** Lehrveranstaltung setzen ******************************
elseif ($aktion=='lva_single_set')
@@ -49,6 +49,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<grid align="end" flex="1"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:4px;"
>
<columns >
<column flex="1"/>
@@ -163,11 +164,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<label value="Foto" />
<hbox>
<button id="mitarbeiter-detail-button-image-upload" label="Upload" oncommand="MitarbeiterImageUpload();" disabled="true"/>
<button id="mitarbeiter-detail-button-image-delete" label="Delete" oncommand="MitarbeiterImageDelete();" disabled="true"/>
<spacer flex="1" />
</hbox>
</vbox>
<hbox>
<image src='' id="mitarbeiter-detail-image" width="60" height="60" style="margin-left:5px;"/>
<image src='' id="mitarbeiter-detail-image" style="margin-left:5px;"/> <!-- width="60" height="60" -->
<spacer flex="1"/>
</hbox>
<label value="Anmerkung" control="mitarbeiter-detail-textbox-anmerkung"/>
@@ -411,6 +411,7 @@ function MitarbeiterDetailDisableFields(val)
document.getElementById('mitarbeiter-detail-menulist-familienstand').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anzahlderkinder').disabled=val;
document.getElementById('mitarbeiter-detail-button-image-upload').disabled=val;
document.getElementById('mitarbeiter-detail-button-image-delete').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-anmerkung').disabled=val;
document.getElementById('mitarbeiter-detail-textbox-homepage').disabled=val;
@@ -687,6 +688,45 @@ function MitarbeiterImageUpload()
alert('Es wurde keine Person ausgewaehlt');
}
// ****
// * Loescht das Bild aus der DB
// ****
function MitarbeiterImageDelete()
{
person_id = document.getElementById('mitarbeiter-detail-textbox-person_id').value;
if(person_id!='')
{
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'imagedelete');
req.add('person_id', person_id);
req.add('studiengang_kz', '');
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
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
uid = document.getElementById('mitarbeiter-detail-textbox-uid').value;
MitarbeiterSelectUid=uid;
MitarbeiterTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Bild wurde geloescht');
}
}
else
alert('Es wurde keine Person ausgewaehlt');
}
// ****
// * Speichert die Mitarbeiterdaten
// ****
+19 -2
View File
@@ -185,13 +185,15 @@ var StudentIOTreeListener =
// ****
var StudentNotenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
StudentNotenTreeloaded=false;
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
StudentNotenTreeloaded=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-noten-tree').builder.rebuild();
}
@@ -3081,6 +3083,13 @@ function StudentNoteDetailDisableFields(val)
// ***
function StudentNotenAuswahl()
{
//Beim Refresh des Trees wird das onselect event ausgeloest wenn der
//vorher markierte Eintrag nach dem Refresh nicht mehr in der Liste ist
//daher soll die funktion nur ausgefuehrt werden, wenn der tree
//tatsaechlich fertig geladen wurde
if(!StudentNotenTreeloaded)
return false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
@@ -3096,6 +3105,14 @@ function StudentNotenAuswahl()
var col = tree.columns ? tree.columns["student-noten-tree-studiensemester_kurzbz"] : "student-noten-tree-studiensemester_kurzbz";
var studiensemester_kurzbz=tree.view.getCellText(tree.currentIndex,col);
//Falls einer der Parameter leer ist wird abgebrochen da sonst ein sehr grosses rdf geladen wird
//Sollte eigentlich nie eintreffen, tut es aber trotzdem
if(lehrveranstaltung_id=='' || student_uid=='' || studiensemester_kurzbz=='')
{
debug('unerwarteter Fehler in StudentNotenAuswahl() in studentoverlay.js.php');
return false;
}
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&uid='+student_uid+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&'+gettimestamp();
+50
View File
@@ -159,5 +159,55 @@ class datum
else
return false;
}
/**
* Liefert ein Datum im angegeben Format
* ToDo: Liefert aktuellen Timestamp wenn Sonderzeichen uebergeben werden
* zB '---'
* @param $datum
* @param $format
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
*/
function formatDatum($datum, $format='Y-m-d H:i:s')
{
if(trim($datum)=='')
return '';
$ts='';
//2008-12-31
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
//2008-12-31 12:30:15
if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
//1.12.2008
if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30
if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
//1.12.2008 12:30:15
if(ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
if($ts=='')
{
$ts = strtotime($datum);
}
if($ts!='' && $ts>0)
return date($format, $ts);
return false;
}
}
?>
+2 -2
View File
@@ -403,8 +403,8 @@ class person
' familienstand='.$this->addslashes($this->familienstand).','.
' anzahlkinder='.$this->addslashes($this->anzahlkinder).','.
' aktiv='.($this->aktiv?'true':'false').','.
' insertamum=now(),'.
' insertvon='.$this->addslashes($this->insertvon).','.
//' insertamum='.$this->addslashes($this->insertamum).','.
//' insertvon='.$this->addslashes($this->insertvon).','.
' updateamum=now(),'.
' updatevon='.$this->addslashes($this->updatevon).','.
' geschlecht='.$this->addslashes($this->geschlecht).','.
+24
View File
@@ -212,5 +212,29 @@ class reservierung
return false;
}
}
// ************************************************************
// * Loescht eine Reservierung
// * @param reservierung_id ID der zu leoschenden Reservierung
// * @return true wenn ok, false im Fehlerfall
// ************************************************************
function delete($reservierung_id)
{
if(!is_numeric($reservierung_id))
{
$this->errormsg = 'Reservierung_id muss eine gueltige Zahl sein';
return false;
}
$qry = "DELETE FROM campus.tbl_reservierung WHERE reservierung_id='$reservierung_id'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Reservierung';
return false;
}
}
}
?>
+3 -3
View File
@@ -292,8 +292,8 @@ class wochenplan
$mtag=substr($this->wochenplan->lehrstunden[$i]->datum, 8,2);
$month=substr($this->wochenplan->lehrstunden[$i]->datum, 5,2);
$jahr=substr($this->wochenplan->lehrstunden[$i]->datum, 0,4);
$tag=date("w",mktime(12,0,0,$month,$mtag,$jahr));
if ($tag==0)
$tag=date("w",mktime(12,0,0,$month,$mtag,$jahr));
if ($tag==0)
$tag=7; //Sonntag
//echo $tag.':'.$this->wochenplan->lehrstunden[$i]->datum.'<BR>';
$stunde=$this->wochenplan->lehrstunden[$i]->stunde;
@@ -924,7 +924,7 @@ class wochenplan
echo '<button id="buttonSTPL'.$count++.'"
tooltiptext="'.$titel.' - '.$anmerkung.' ('.$updatevonam.')"
style="border-width:1px;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';"
styleOrig="border-width:1px;background-color:#'.$farbe.';" ';
styleOrig="border-width:1px;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').'" ';
if ($berechtigung->isBerechtigt('lv-plan',$stg_kz,'uid') || $berechtigung->isBerechtigt('lv-plan',0,'uid') || $berechtigung->isBerechtigt('admin',0,'uid') || $berechtigung->isBerechtigt('admin',$stg_kz,'uid'))
echo ' context="stplPopupMenue" ';
if ($berechtigung->isBerechtigt('lv-plan',$stg_kz,'u') || $berechtigung->isBerechtigt('lv-plan',0,'u') || $berechtigung->isBerechtigt('admin',0,'u') || $berechtigung->isBerechtigt('admin',$stg_kz,'u'))
+3 -2
View File
@@ -146,14 +146,15 @@ if(!$result = pg_query($conn, $qry))
SELECT
COALESCE(koordinator, uid) as koordinator
FROM
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion, public.tbl_studiensemester
WHERE
tbl_lehrveranstaltung.lehrveranstaltung_id='$row_lva->lehrveranstaltung_id' AND
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz LIMIT 1 ) ";
tbl_lehreinheit.studiensemester_kurzbz=tbl_studiensemester.studiensemester_kurzbz AND
tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz ORDER BY tbl_studiensemester.ende DESC LIMIT 1 ) ";
$result_fbk = pg_query($conn, $qry_fbk);
$fbk='';