- Pruefungs Modul FASo

- Loeschen von Rollen jetzt moeglich
- InteressentenImport wird jetzt Studiengang uebergeben
This commit is contained in:
Andreas Österreicher
2007-06-25 15:14:08 +00:00
parent 4cd9f38afe
commit 41bb750276
16 changed files with 378 additions and 80 deletions
+1 -1
View File
@@ -239,7 +239,7 @@ class log
{
if(!is_numeric($log_id))
{
$this->errormsg = 'Log_id ist ungueltig';
$this->errormsg = 'Log_id ist ungueltig'.$log_id;
return false;
}
pg_query($this->conn, 'BEGIN;');
+41
View File
@@ -469,5 +469,46 @@ class mitarbeiter extends benutzer
return false;
}
}
// *************************************************
// * Laedt alle Mitarbeiter einer Lehrveranstaltung
// * @param lehrveranstaltung_id
// * @return true wenn ok, false wenn Fehler
// *************************************************
function getMitarbeiterFromLehrveranstaltung($lehrveranstaltung_id)
{
if(!is_numeric($lehrveranstaltung_id))
{
$this->errormsg = 'Lehrveranstaltung_id ist ungueltig';
return false;
}
$qry = "SELECT uid, vorname, vornamen, nachname, titelpre, titelpost, kurzbz FROM lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter, lehre.tbl_lehreinheit
WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND mitarbeiter_uid=uid AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new mitarbeiter($this->conn, null, null);
$obj->uid = $row->uid;
$obj->vorname = $row->vorname;
$obj->nachname = $row->nachname;
$obj->titelpre = $row->titelpre;
$obj->titelpost = $row->titelpost;
$obj->kurzbz = $row->kurzbz;
$obj->vornamen = $row->vornamen;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+110 -6
View File
@@ -130,7 +130,7 @@ class prestudent extends person
}
else
{
$this->errormsg = "Fehler beim laden: $qry";
$this->errormsg = "Fehler beim Laden: $qry";
return false;
}
}
@@ -239,7 +239,7 @@ class prestudent extends person
}
else
{
$this->errormsg = 'Fehler beim auslesen der Sequence';
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK;');
return false;
}
@@ -375,7 +375,45 @@ class prestudent extends person
}
else
{
$this->errormsg = 'Fehler beim laden der PrestudentDaten';
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
// ********
// * Laedt die Rolle(n) eines Prestudenten
// ********
function load_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz)
{
if(!is_numeric($prestudent_id))
{
$this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein';
return false;
}
$qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id'".
" AND rolle_kurzbz='".addslashes($rolle_kurzbz)."'".
" AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->prestudent_id = $row->prestudent_id;
$this->rolle_kurzbz = $row->rolle_kurzbz;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->datum = $row->datum;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
@@ -535,13 +573,13 @@ class prestudent extends person
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
@@ -586,6 +624,72 @@ class prestudent extends person
}
}
// ******************************************
// * Loescht eine Rolle
// * @param $prestudent_id
// * $rolle_kurzbz
// * $studiensemester_kurzbz
// * @return true wenn ok, false wenn Fehler
// ******************************************
function delete_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz)
{
if(!is_numeric($prestudent_id))
{
$this->errormsg = 'Prestudent_id ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' AND rolle_kurzbz='".addslashes($rolle_kurzbz)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
if($this->load_rolle($prestudent_id, $rolle_kurzbz, $studiensemester_kurzbz))
{
pg_query($this->conn, 'BEGIN;');
$log = new log($this->conn, null, null);
$log->executetime = date('Y-m-d H:i:s');
$log->beschreibung = 'Loeschen der Rolle '.$rolle_kurzbz.' bei '.$prestudent_id;
$log->mitarbeiter_uid = get_uid();
$log->sql = $qry;
$log->sqlundo = 'INSERT INTO public.tbl_prestudentrolle(prestudent_id, rolle_kurzbz, studiensemester_kurzbz,'.
' ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id) VALUES('.
$this->addslashes($this->prestudent_id).','.
$this->addslashes($this->rolle_kurzbz).','.
$this->addslashes($this->studiensemester_kurzbz).','.
$this->addslashes($this->ausbildungssemester).','.
$this->addslashes($this->datum).','.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).','.
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->ext_id).');';
if($log->save(true))
{
if(pg_query($this->conn, $qry))
{
pg_query($this->conn, 'COMMIT');
return true;
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
}
}
else
{
return false;
}
}
function getLastStatus($prestudent_id)
{
$qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$prestudent_id' ORDER BY datum DESC LIMIT 1";
@@ -612,7 +716,7 @@ class prestudent extends person
}
else
{
$this->errormsg = 'Fehler beim laden der PrestudentDaten';
$this->errormsg = 'Fehler beim Laden der PrestudentDaten';
return false;
}
}
+6 -2
View File
@@ -46,6 +46,7 @@ class pruefung
var $lehrveranstaltung_id;
var $note_bezeichnung;
var $pruefungstyp_beschreibung;
var $studiensemester_kurzbz;
// **************************************************************
// * Konstruktor
@@ -89,7 +90,8 @@ class pruefung
return false;
}
$qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id";
$qry = "SELECT tbl_pruefung.*, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) WHERE pruefung_id=$pruefung_id";
if($res = pg_query($this->conn, $qry))
{
@@ -109,6 +111,7 @@ class pruefung
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
}
}
else
@@ -319,7 +322,7 @@ class pruefung
function getPruefungen($student_uid)
{
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid='".addslashes($student_uid)."'
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
@@ -349,6 +352,7 @@ class pruefung
$obj->updatevon = $row->updatevon;
$obj->lehrveranstaltung_bezeichnung = $row->lehrveranstaltung_bezeichnung;
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->result[] = $obj;
}