This commit is contained in:
Andreas Österreicher
2008-02-07 12:03:24 +00:00
parent 1cc4fc6755
commit 8095e080de
4 changed files with 34 additions and 28 deletions
+9 -6
View File
@@ -58,6 +58,8 @@ $errormsg = 'unknown';
$data = '';
$error = false;
loadVariables($conn, $user);
//Berechtigungen laden
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
@@ -72,17 +74,18 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$r
function kollision($lehreinheit_id, $mitarbeiter_uid, $mitarbeiter_uid_old)
{
global $conn;
loadVariables($conn, $user);
global $conn, $db_stpl_table;
//Lehrstunden laden
$lehrstunden=new lehrstunde($conn);
$lehrstunde=new lehrstunde($conn);
$lehrstunden->load_lehrstunden_le($lehreinheit_id,$mitarbeiter_uid_old);
foreach ($lehrstunden->lehrstunden as $ls)
{
$lehrstunde->load($ls->stundenplan_id);
$lehrstunde->lektor_uid=$mitarbeiter_uid;
if ($lehrstunde->kollision)
if ($lehrstunde->kollision($db_stpl_table))
return true;
}
return false;
@@ -93,7 +96,7 @@ if(!$error)
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
{
loadVariables($conn, $user);
//loadVariables($conn, $user);
//Lehreinheitmitarbeiter Zuteilung
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz
@@ -156,12 +159,12 @@ if(!$error)
$lem->updatevon = $user;
$lem->new=false;
if($ignore_kollision=='false' && $lem->mitarbeiter_uid!=$lem->mitarbeiter_uid_old)
{
//check kollision
if(!kollision($lem->lehreinheit_id, $lem->mitarbeiter_uid, $lem->mitarbeiter_uid_old))
{
{
//Update im Stundenplan
$stpl_table='lehre.'.TABLE_BEGIN.$db_stpl_table;
$qry = "UPDATE $stpl_table SET mitarbeiter_uid='$lem->mitarbeiter_uid' WHERE lehreinheit_id='$lem->lehreinheit_id' AND mitarbeiter_uid='$lem->mitarbeiter_uid_old'";
@@ -928,7 +928,10 @@ function LeMitarbeiterSave()
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
if(val.dbdml_errormsg=='')
alert(response);
else
alert(val.dbdml_errormsg)
}
else
{
+19 -19
View File
@@ -517,7 +517,7 @@ class lehrstunde
* @return boolean true=ok, false=fehler
*************************************************************************/
function kollision($stpl_table='stundenplandev')
{
{
$ignore_reservation=false;
// Parameter Checken
// Bezeichnung der Stundenplan-Tabelle und des Keys
@@ -538,7 +538,7 @@ class lehrstunde
$sql_query.=" AND (gruppe_kurzbz='$this->gruppe_kurzbz')";
$sql_query.=")) AND unr!=$this->unr";
//echo $sql_query.'<br>';
//(echo $sql_query.'<br>';
if (! $erg_stpl=pg_query($this->conn, $sql_query))
{
$this->errormsg=$sql_query.pg_last_error($this->conn);
@@ -546,12 +546,12 @@ class lehrstunde
}
$anz=pg_numrows($erg_stpl);
//Check
if ($anz==0)
{
// Zeitsperren pruefen
if ($this->lektor_uid!='_DummyLektor')
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
if ($anz==0)
{
// Zeitsperren pruefen
if ($this->lektor_uid!='_DummyLektor')
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
$sql_query="SELECT zeitsperre_id,zeitsperretyp_kurzbz,mitarbeiter_uid AS lektor,vondatum,vonstunde,bisdatum,bisstunde
FROM campus.tbl_zeitsperre
WHERE mitarbeiter_uid='$this->lektor_uid'
@@ -570,13 +570,13 @@ class lehrstunde
$row=pg_fetch_object($erg_zs);
$this->errormsg="Kollision (Zeitsperre): $row->zeitsperre_id|$row->lektor|$row->zeitsperretyp_kurzbz - $row->vondatum/$row->vonstunde|$row->bisdatum/$row->bisstunde";
return true;
}
}
// Reservierungen pruefen?
if (!$ignore_reservation)
{
}
}
// Reservierungen pruefen?
if (!$ignore_reservation)
{
// Datenbank abfragen ( studiengang_kz, titel, beschreibung )
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
FROM lehre.vw_reservierung
WHERE datum='$this->datum' AND stunde=$this->stunde AND (ort_kurzbz='$this->ort_kurzbz' OR ";
if ($this->lektor_uid!='_DummyLektor')
@@ -597,8 +597,8 @@ class lehrstunde
}
$anz_res=pg_numrows($erg_res);
//Check
if ($anz_res==0)
{
if ($anz_res==0)
{
return false;
}
else
@@ -606,9 +606,9 @@ class lehrstunde
$row=pg_fetch_object($erg_res);
$this->errormsg="Kollision (Reservierung): $row->id|$row->lektor|$row->ort_kurzbz|$row->stg_kurzbz-$row->semester$row->verband$row->gruppe$row->gruppe_kurzbz - $row->datum/$row->stunde";
return true;
}
}
}
return false;
return false;
}
else
{
@@ -619,4 +619,4 @@ class lehrstunde
}
}
?>
?>
+2 -2
View File
@@ -130,7 +130,7 @@ if($result = pg_query($conn, $qry))
{
$student->new = true;
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = 'auto';
$student->insertvon = 'chkstudentlvb';
}
$student->uid = $row->student_uid;
@@ -140,7 +140,7 @@ if($result = pg_query($conn, $qry))
$student->verband = ($prestd->rolle_kurzbz=='Unterbrecher'?'B':'A');
$student->gruppe = ' ';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'auto';
$student->updatevon = 'chkstudentlvb';
//Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
$lehrverband = new lehrverband($conn);