From 1962b3b7bfe43b56785d39a977ef5327cd95c43a Mon Sep 17 00:00:00 2001 From: Stefan Puraner Date: Wed, 9 Apr 2014 12:17:02 +0000 Subject: [PATCH] =?UTF-8?q?Umbau=20Pr=C3=BCfungsverwaltung=20zu=20AJAX;=20?= =?UTF-8?q?M=C3=B6glichkeit=20Pr=C3=BCfungen=20f=C3=BCr=20alle=20Lektoren?= =?UTF-8?q?=20anzulegen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/pruefungCis.class.php | 71 ++++++++++++++++++++++++------- include/pruefungstermin.class.php | 10 ++++- 2 files changed, 64 insertions(+), 17 deletions(-) diff --git a/include/pruefungCis.class.php b/include/pruefungCis.class.php index e29b96e54..1eb6a00c4 100644 --- a/include/pruefungCis.class.php +++ b/include/pruefungCis.class.php @@ -167,7 +167,7 @@ class pruefungCis extends basis_db . 'pruefungsfenster_id='.$this->db_add_param($this->pruefungsfenster_id).', ' . 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', ' . 'titel='.$this->db_add_param($this->titel).', ' - . 'beschreibung='.$this->db_add_param($this->titel).', ' + . 'beschreibung='.$this->db_add_param($this->beschreibung).', ' . 'methode='.$this->db_add_param($this->methode).', ' . 'einzeln='.$this->db_add_param($this->einzeln,FHC_BOOLEAN).', ' . 'storniert='.$this->db_add_param($this->storniert,FHC_BOOLEAN).', ' @@ -223,15 +223,18 @@ class pruefungCis extends basis_db } else { - foreach ($this->termine as $termin) - { - if(!$this->updateTerminPruefung($termin->pruefungstermin_id, $this->pruefung_id, $termin->beginn, $termin->ende, $termin->max, $termin->min)) - { - $this->errormsg = 'Fehler beim ändern der Termine.ID'.$termin->pruefungstermin_id; - $this->db_query('ROLLBACK'); - return false; - } - } + if($this->termine !== NULL) + { + foreach ($this->termine as $termin) + { + if(!$this->updateTerminPruefung($termin->pruefungstermin_id, $this->pruefung_id, $termin->beginn, $termin->ende, $termin->max, $termin->min)) + { + $this->errormsg = 'Fehler beim ändern der Termine.ID'.$termin->pruefungstermin_id; + $this->db_query('ROLLBACK'); + return false; + } + } + } foreach ($this->lehrveranstaltungen as $lv) { if(!$this->saveLehrveranstaltungPruefung($lv, $this->pruefung_id)) @@ -299,19 +302,19 @@ class pruefungCis extends basis_db * @param String $studiensemester_kurzbz optional kann das Laden auf ein Studiensemester beschränkt werden * @return boolean true, wenn ok; false, im Fehlerfall */ - public function getPruefungByMitarbeiter($uid, $studiensemester_kurzbz=null) + public function getPruefungByMitarbeiter($uid, $studiensemester_kurzbz=null, $order=null) { $qry = 'SELECT * FROM campus.tbl_pruefung ' . 'WHERE mitarbeiter_uid='.$this->db_add_param($uid); if($studiensemester_kurzbz!=null) { - $qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).';'; + $qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz); } - else + if(!is_null($order)) { - $qry .= ';'; + $qry .= ' ORDER BY '.$order; } - + $qry .= ';'; if(!$this->db_query($qry)) { @@ -638,6 +641,44 @@ class pruefungCis extends basis_db return false; } + public function getAllPruefungen($mitarbeiter_uid = NULL) + { + $qry = 'SELECT * FROM campus.tbl_pruefung'; + + if(!is_null($mitarbeiter_uid)) + { + $qry .= ' WHERE mitarbeiter_uid='.$this->db_add_param($mitarbeiter_uid); + } + + $qry .= ';'; + + if(!$this->db_query($qry)) + { + $this->errormsg = "Prüfungen konnten nicht geladen werden"; + return false; + } + else + { + while($row = $this->db_fetch_object()) + { + $obj = new pruefungCis(); + + $obj->pruefung_id = $row->pruefung_id; + $obj->mitarbeiter_uid = $row->mitarbeiter_uid; + $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $obj->pruefungsfenster_id = $row->pruefungsfenster_id; + $obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz; + $obj->titel = $row->titel; + $obj->beschreibung = $row->beschreibung; + $obj->methode = $row->methode; + $obj->einzeln = $this->db_parse_bool($row->einzeln); + $obj->storniert = $this->db_parse_bool($row->storniert); + $this->result[] = $obj; + } + return true; + } + } + /** * Lädt den Wert des letzten Studenten in der Anmeldereihung * @param type $pruefungstermin_id Id eines Prüfungstermines diff --git a/include/pruefungstermin.class.php b/include/pruefungstermin.class.php index 2c8a60a2b..1f492a8da 100644 --- a/include/pruefungstermin.class.php +++ b/include/pruefungstermin.class.php @@ -101,9 +101,15 @@ class pruefungstermin extends basis_db{ * Lädt alle Prüfungstypen aus der Datenbank * @return Array/Boolean Ein Array mit den Daten, wenn ok; ansonsten false */ - public function getAllPruefungstypen() + public function getAllPruefungstypen($abschluss = null) { - $qry = 'SELECT * FROM lehre.tbl_pruefungstyp;'; + $qry = 'SELECT * FROM lehre.tbl_pruefungstyp'; + + if(!is_null($abschluss)) + { + $qry .= ' WHERE abschluss='.$this->db_add_param($abschluss); + } + $qry .=';'; if($this->db_query($qry)) {