From 8095e080de2feb1023b50d9ccb93336ac9e09a45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 7 Feb 2008 12:03:24 +0000 Subject: [PATCH] --- content/lvplanung/lehrveranstaltungDBDML.php | 15 +++++--- .../lvplanung/lehrveranstaltungoverlay.js.php | 5 ++- include/lehrstunde.class.php | 38 +++++++++---------- system/check_studentlehrverband.php | 4 +- 4 files changed, 34 insertions(+), 28 deletions(-) diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php index e2bef62f6..a5f530e70 100644 --- a/content/lvplanung/lehrveranstaltungDBDML.php +++ b/content/lvplanung/lehrveranstaltungDBDML.php @@ -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'"; diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index 30f786db6..5f04c8e4e 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -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 { diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 0652d63cc..679ef963d 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -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.'
'; + //(echo $sql_query.'
'; 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 } } -?> +?> diff --git a/system/check_studentlehrverband.php b/system/check_studentlehrverband.php index 467095816..b476fd817 100644 --- a/system/check_studentlehrverband.php +++ b/system/check_studentlehrverband.php @@ -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);