- Senatsnews können nur mehr "Admin 0" Berechtigte eintragen

- Bewerber->Student Erweiterungen
This commit is contained in:
Andreas Österreicher
2007-05-10 13:15:13 +00:00
parent 8f964e4d82
commit 14fa86fded
7 changed files with 193 additions and 31 deletions
+1
View File
@@ -69,6 +69,7 @@
$short = $stg_obj->kuerzel;
$short_long = $stg_obj->kurzbzlang;
$course_id = $_GET['course_id'];
$term_id = $_GET['term_id'];
}
if(isset($_GET['fachbereich_kurzbz']))
+7
View File
@@ -250,8 +250,15 @@
<tr>
<td>Titel:</td>
<td><input type="text" class="TextBox" name="txtTitle" size="30"<?php if(isset($news_id) && $news_id != "") echo ' value="'.$news->betreff.'"'; ?>></td>
<?php
if($rechte->isBerechtigt('admin','0'))
{
?>
<td>Senat:</td>
<td><input type="checkbox" name="chksenat"<?php if(isset($news_id) && $news_id!="" && $news->fachbereich_kurzbz=='Senat') echo ' checked'?>></td>
<?php
}
?>
</tr>
</table>
</td>
+1 -1
View File
@@ -26,7 +26,7 @@
<td>
<div id="GlobalMenu">
[ <a class='Item' href="index.html" target="_top">HOME</a>
| <a class='Item' href="private/menu.php" target="menu">Meine CIS</a>
| <a class='Item' href="private/menu.php" target="menu">Mein CIS</a>
| <a class='Item' href="private/lehre/menu.php" target="menu">Lehrveranstaltungen</a>
]
</div>
+112 -15
View File
@@ -403,24 +403,121 @@ if(!$error)
{
//Pruefen ob die Rolle Bewerber existiert
$hlp = new prestudent($conn);
$hlp->getPrestudentRolle($_POST['prestudent_id'], 'Bewerber');
$hlp->getPrestudentRolle($_POST['prestudent_id'], 'Bewerber',null,'datum DESC, insertamum DESC');
if(count($hlp->result)>0)
{
//pruefen ob die Kaution bezahlt wurde
//??
//Matrikelnummer und UID generieren
$matrikelnr = generateMatrikelnummer($conn, $prestd->studiengang_kz, $hlp->result[0]->studiensemester_kurzbz);
$uid = generateUID($conn, $matrikelnr);
$return = false;
$errormsg = "Matrikelnummer: $matrikelnr, UID: $uid";
//Benutzerdatensatz anlegen
//Studentendatensatz anlegen
//Prestudentrolle hinzugfuegen
//Eintrag tbl_studentlehrverband??
//pruefen ob schon eine Studentenrolle Existiert
$hlp1 = new prestudent($conn);
$hlp1->getPrestudentRolle($_POST['prestudent_id'], 'Student', $hlp->result[0]->studiensemester_kurzbz);
if(count($hlp1)>0)
{
$return = false;
$errormsg = 'Diese Person ist bereits Student';
}
else
{
//pruefen ob die Kaution bezahlt wurde
//??
pg_query($conn, 'BEGIN;');
//Matrikelnummer und UID generieren
$matrikelnr = generateMatrikelnummer($conn, $prestd->studiengang_kz, $hlp->result[0]->studiensemester_kurzbz);
$uid = generateUID($conn, $matrikelnr);
$return = false;
$errormsg = "Matrikelnummer: $matrikelnr, UID: $uid";
//Benutzerdatensatz anlegen
$benutzer = new benutzer($conn);
$benutzer->uid = $uid;
$benutzer->person_id = $prestd->person_id;
$benutzer->aktiv = true;
$qry_alias = "SELECT * FROM public.tbl_benutzer WHERE alias='$prestd->vorname.$prestd->nachname'";
$result_alias = pg_query($conn, $qry_alias);
if(pg_num_rows($result_alias)==0)
$benutzer->alias = $prestd->vorname.'.'.$prestd->nachname;
else
$benutzer->alias = '';
$benutzer->insertamum = date('Y-m-d H:i:s');
$benutzer->insertvon = $user;
if($benutzer->save(true, false))
{
//Studentendatensatz anlegen
$student = new student($conn);
$student->uid = $uid;
$student->matrikelnr = $matrikelnr;
$student->prestudent_id = $prestd->prestudent_id;
$student->studiengang_kz = $prestd->studiengang_kz;
$student->semester = $hlp->result[0]->ausbildungssemester;
$student->verband = ' ';
$student->gruppe = ' ';
$student->insertamum = date('Y-m-d H:i:s');
$student->insertvon = $user;
if($student->save(true, false))
{
//Prestudentrolle hinzugfuegen
$rolle = new prestudent($conn);
$rolle->prestudent_id = $prestd->prestudent_id;
$rolle->rolle_kurzbz = 'Student';
$rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz;
$rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester;
$rolle->datum = date('Y-m-d');
$rolle->insertamum = date('Y-m-d H:i:s');
$rolle->insertvon = $user;
$rolle->new = true;
if($rolle->save_rolle())
{
//StudentLehrverband anlegen
$studentlehrverband = new student($conn);
$studentlehrverband->uid = $uid;
$studentlehrverband->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz;
$studentlehrverband->studiengang_kz = $prestd->studiengang_kz;
$studentlehrverband->semester = $hlp->result[0]->ausbildungssemester;
$studentlehrverband->verband = ' ';
$studentlehrverband->gruppe = ' ';
$studentlehrverband->insertamum = date('Y-m-d H:i:s');
$studentlehrverband->insertvon = $user;
if($studentlehrverband->save_studentlehrverband(true))
{
$return = true;
pg_query($conn, 'COMMIT;');
}
else
{
$errormsg = 'Fehler beim Speichern des Studentlehrverbandes: '.$studentlehrverband->errormsg;
$return = false;
pg_query($conn, 'ROLLBACK;');
}
}
else
{
$errormsg = 'Fehler beim Speichern des Rolle: '.$rolle->errormsg;
$return = false;
pg_query($conn, 'ROLLBACK;');
}
}
else
{
$errormsg = 'Fehler beim Speichern des Studenten: '.$student->errormsg;
$return = false;
pg_query($conn, 'ROLLBACK;');
}
}
else
{
$errormsg = 'Fehler beim Speichern des Benutzers: '.$benutzer->errormsg;
$return = false;
pg_query($conn, 'ROLLBACK;');
}
}
}
else
{
+11 -5
View File
@@ -126,17 +126,23 @@ class benutzer extends person
// * ansonsten der Datensatz mit $uid upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ******************************************************************
function save()
function save($new=null, $saveperson=true)
{
//Personen Datensatz speichern
if(!person::save())
return false;
if($saveperson)
{
//Personen Datensatz speichern
if(!person::save())
return false;
}
if($new==null)
$new = $this->new;
//Variablen auf Gueltigkeit pruefen
if(!benutzer::validate())
return false;
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
if($new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
{
$qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
"'".addslashes($this->uid)."',".
+2 -2
View File
@@ -338,7 +338,7 @@ class prestudent extends person
// ********
// * Laedt die Rolle(n) eines Prestudenten
// ********
function getPrestudentRolle($prestudent_id, $rolle_kurzbz=null, $studiensemester_kurzbz=null)
function getPrestudentRolle($prestudent_id, $rolle_kurzbz=null, $studiensemester_kurzbz=null, $order="datum, insertamum")
{
if(!is_numeric($prestudent_id))
{
@@ -351,7 +351,7 @@ class prestudent extends person
$qry.= " AND rolle_kurzbz='".addslashes($rolle_kurzbz)."'";
if($studiensemester_kurzbz!=null)
$qry.= " AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
$qry.= " ORDER BY datum, insertamum";
$qry.= ' ORDER BY '.$order;
if($result = pg_query($this->conn, $qry))
{
+59 -8
View File
@@ -161,25 +161,32 @@ class student extends benutzer
// * angelegt, ansonsten der Datensatz mit $person_id upgedated
// * @return true wenn erfolgreich, false im Fehlerfall
// ************************************************************
function save()
function save($new=null, $savebenutzer=true)
{
//Variablen checken
if(!$this->validate())
return false;
pg_query($this->conn,'BEGIN;');
//Basisdaten speichern
if(!benutzer::save())
if($new==null)
$new = $this->new;
if($savebenutzer)
{
pg_query($this->conn,'ROLLBACK;');
return false;
//Basisdaten speichern
if(!benutzer::save())
{
pg_query($this->conn,'ROLLBACK;');
return false;
}
}
if($this->new)
if($new)
{
//Neuen Datensatz anlegen
$qry = "INSERT INTO public.tbl_student(student_uid, matrikelnr, updateamum, updatevon, prestudent_id,
studiengang_kz, semester, ext_id, verband, gruppe)
studiengang_kz, semester, ext_id, verband, gruppe, insertamum, insertvon)
VALUES('".addslashes($this->uid)."',".
$this->addslashes($this->matrikelnr).",".
$this->addslashes($this->updateamum).','.
@@ -189,7 +196,9 @@ class student extends benutzer
$this->semester.','.
($this->ext_id_student!=''?$this->ext_id_student:'null').','.
($this->verband!=''?"'".addslashes($this->verband)."'":' ').','.
($this->gruppe!=''?"'".addslashes($this->gruppe)."'":' ').');';
($this->gruppe!=''?"'".addslashes($this->gruppe)."'":' ').','.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).');';
}
else
{
@@ -304,6 +313,48 @@ class student extends benutzer
}
return $result;
}
function save_studentlehrverband($new=null)
{
if($new==null)
$new = $this->new;
if($new)
{
$qry = "INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon)
VALUES(".$this->addslashes($this->uid).','.
$this->addslashes($this->studiensemester_kurzbz).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->semester).','.
$this->addslashes(($this->verband==''?' ':$this->verband)).','.
$this->addslashes(($this->gruppe==''?' ':$this->gruppe)).','.
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).');';
}
else
{
$qry = "UPDATE public.tbl_studentlehrverband SET".
" studiengang_kz=".$this->addslashes($this->studiengang_kz).",".
" semester=".$this->addslashes($this->semester).",".
" verband=".$this->addslashes(($this->verband==''?' ':$this->verband)).",".
" gruppe=".$this->addslashes(($this->gruppe==''?' ':$this->gruppe)).",".
" updateamum=".$this->addslashes($this->updateamum).",".
" updatevon=".$this->addslashes($this->updatevon).
"WHERE student_uid='".addslashes($this->uid)."' AND studiensemester_kurzbz='".addslashes($this->studiensemester_kurzbz)."'";
}
if(pg_query($this->conn, $qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Studentlehrverband zuordnung';
return false;
}
}
}
?>