From fa851462b6193a5d680bd38ac551d5967ba141fc Mon Sep 17 00:00:00 2001 From: Martin Tatzber Date: Mon, 14 Oct 2013 07:15:30 +0000 Subject: [PATCH] Studiengangsverwaltung --- include/studiengang.class.php | 22 +- vilesci/stammdaten/studiengang_details.php | 248 +++++++++++++----- vilesci/stammdaten/studiengang_uebersicht.php | 11 +- 3 files changed, 203 insertions(+), 78 deletions(-) diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 6dcec89c4..280df113d 100644 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -73,11 +73,12 @@ class studiengang extends basis_db if(!is_null($studiengang_kz)) $this->load($studiengang_kz); - $this->studiengang_typ_arr["b"] = "Bachelor"; + $this->getAllTypes(); +/* $this->studiengang_typ_arr["b"] = "Bachelor"; $this->studiengang_typ_arr["d"] = "Diplom"; $this->studiengang_typ_arr["m"] = "Master"; $this->studiengang_typ_arr["l"] = "LLL"; - $this->studiengang_typ_arr["e"] = "Erhalter"; + $this->studiengang_typ_arr["e"] = "Erhalter"; */ } /** @@ -212,6 +213,23 @@ class studiengang extends basis_db return true; } + /** + * Laedt alle Studientypen in das Attribut studiengang_typ_array + */ + public function getAllTypes() + { + $qry='SELECT * FROM public.tbl_studiengangstyp'; + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $this->studiengang_typ_arr[$row->typ]=$row->typ.' - '.$row->bezeichnung; + } + } + else + $this->errormsg = 'Fehler beim Laden der Studiengangstypen'; + } + /** * Laedt die Studiengaenge die als Array uebergeben werden * @param $stgs Array mit den Kennzahlen diff --git a/vilesci/stammdaten/studiengang_details.php b/vilesci/stammdaten/studiengang_details.php index 1f1e2e9d1..c77a6ded8 100644 --- a/vilesci/stammdaten/studiengang_details.php +++ b/vilesci/stammdaten/studiengang_details.php @@ -41,6 +41,8 @@ require_once('../../include/benutzerberechtigung.class.php'); if(!$rechte->isBerechtigt('basis/studiengang')) die('Sie haben keine Berechtigung fuer diese Seite'); + $date=new datum(); + $reloadstr = ''; // neuladen der liste im oberen frame $htmlstr = ''; $errorstr = ''; @@ -120,6 +122,7 @@ require_once('../../include/benutzerberechtigung.class.php'); $bescheidgz = $_POST['bescheidgz']; $bescheidvom = $_POST['bescheidvom']; $oe_kurzbz = $_POST['oe_kurzbz']; + $oe_parent_kurzbz = $_POST['oe_parent_kurzbz']; $titelbescheidvom = $_POST['titelbescheidvom']; $zusatzinfo_html = $_POST['zusatzinfo_html']; $moodle = isset($_POST['moodle']); @@ -133,50 +136,85 @@ require_once('../../include/benutzerberechtigung.class.php'); $mischform = isset($_POST['mischform']); $ext_id = $_POST['ext_id']; - - $sg_update = new studiengang(); - $sg_update->studiengang_kz = $studiengang_kz; - $sg_update->kurzbz = $kurzbz; - $sg_update->kurzbzlang = $kurzbzlang; - $sg_update->typ = $typ; - $sg_update->bezeichnung = $bezeichnung; - $sg_update->english = $english; - $sg_update->farbe = $farbe; - $sg_update->email = $email; - $sg_update->telefon = $telefon; - $sg_update->max_semester = $max_semester; - $sg_update->max_verband = $max_verband; - $sg_update->max_gruppe = $max_gruppe; - $sg_update->erhalter_kz = $erhalter_kz; - $sg_update->bescheid = $bescheid; - $sg_update->bescheidbgbl1 = $bescheidbgbl1; - $sg_update->bescheidbgbl2 = $bescheidbgbl1; - $sg_update->bescheidgz = $bescheidgz; - $sg_update->bescheidvom = $bescheidvom; - $sg_update->titelbescheidvom = $titelbescheidvom; - $sg_update->zusatzinfo_html = $zusatzinfo_html; - $sg_update->aktiv = $aktiv; - $sg_update->mischform = $mischform; - $sg_update->ext_id = $ext_id; - $sg_update->oe_kurzbz = $oe_kurzbz; - $sg_update->moodle = $moodle; - $sg_update->projektarbeit_note_anzeige = $projektarbeit_note_anzeige; - $sg_update->sprache = $sprache; - $sg_update->testtool_sprachwahl = $testtool_sprachwahl; - $sg_update->studienplaetze = $studienplaetze; - $sg_update->orgform_kurzbz = $orgform_kurzbz; - $sg_update->lgartcode = $lgartcode; - if ($_POST['neu'] == 'true') - $sg_update->new = true; - - if(!$sg_update->save()) + + + $oe_error=false; + if($oe_kurzbz=='') { - $errorstr .= $sg_update->errormsg; + $oe=new organisationseinheit(); + $oe->new=true; + $oe->oe_kurzbz = strtolower($typ.$kurzbz); + $oe->kurzzeichen = strtolower($typ.$kurzbz); + $oe->oe_parent_kurzbz = $oe_parent_kurzbz; + $oe->bezeichnung = $kurzbzlang; + $oe->organisationseinheittyp_kurzbz = 'Studiengang'; + $oe->aktiv = true; + $oe->mailverteiler = false; + + if(!$oe->save()) + { + echo '

Fehler beim Anlegen der Organisationseinheit: '.$oe->errormsg; + $oe_error=true; + } + else + { + echo '

Organisationseinheit '.$oe->oe_kurzbz.' angelegt'; + echo '
kurzbz '.$kurzbz; + echo '
kurzbzlang '.$kurzbzlang; + $oe_kurzbz=$oe->oe_kurzbz; + } } - $reloadstr .= "\n"; + + if(!$oe_error) + { + $sg_update = new studiengang(); + $sg_update->studiengang_kz = $studiengang_kz; + $sg_update->kurzbz = $kurzbz; + $sg_update->kurzbzlang = $kurzbzlang; + $sg_update->typ = $typ; + $sg_update->bezeichnung = $bezeichnung; + $sg_update->english = $english; + $sg_update->farbe = $farbe; + $sg_update->email = $email; + $sg_update->telefon = $telefon; + $sg_update->max_semester = $max_semester; + $sg_update->max_verband = $max_verband; + $sg_update->max_gruppe = $max_gruppe; + $sg_update->erhalter_kz = $erhalter_kz; + $sg_update->bescheid = $bescheid; + $sg_update->bescheidbgbl1 = $bescheidbgbl1; + $sg_update->bescheidbgbl2 = $bescheidbgbl1; + $sg_update->bescheidgz = $bescheidgz; + $sg_update->bescheidvom = $bescheidvom; + $sg_update->titelbescheidvom = $titelbescheidvom; + $sg_update->zusatzinfo_html = $zusatzinfo_html; + $sg_update->aktiv = $aktiv; + $sg_update->mischform = $mischform; + $sg_update->ext_id = $ext_id; + $sg_update->oe_kurzbz = $oe_kurzbz; + $sg_update->moodle = $moodle; + $sg_update->projektarbeit_note_anzeige = $projektarbeit_note_anzeige; + $sg_update->sprache = $sprache; + $sg_update->testtool_sprachwahl = $testtool_sprachwahl; + $sg_update->studienplaetze = $studienplaetze; + $sg_update->orgform_kurzbz = $orgform_kurzbz; + $sg_update->lgartcode = $lgartcode; + + $sg_update->bescheidvom=$date->formatDatum($sg_update->bescheidvom,'Y-m-d'); + $sg_update->titelbescheidvom=$date->formatDatum($sg_update->titelbescheidvom,'Y-m-d'); + + if ($_POST['neu'] == 'true') + $sg_update->new = true; + + if(!$sg_update->save()) + { + $errorstr .= $sg_update->errormsg; + } + } + $reloadstr .= ''; } @@ -221,7 +259,7 @@ require_once('../../include/benutzerberechtigung.class.php'); $orgform_kurzbz = $sg->orgform_kurzbz; $lgartcode = $sg->lgartcode; } - + $erh = new erhalter(); if (!$erh->getAll('kurzbz')) @@ -238,11 +276,16 @@ require_once('../../include/benutzerberechtigung.class.php'); // ertse Spalte start $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= '
Kennzahl
+ + + \n"; @@ -342,7 +385,7 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " "; + $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " "; + $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; $htmlstr .= " \n"; @@ -435,7 +478,8 @@ require_once('../../include/benutzerberechtigung.class.php'); else $selected = ''; - $htmlstr .= " "; + $htmlstr .= ' + '; } } $htmlstr .= " \n"; @@ -480,19 +524,23 @@ require_once('../../include/benutzerberechtigung.class.php'); $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " + + +
Kennzahl
Erhalter"; $htmlstr .= "
Typ"; $htmlstr .= "
Bescheidvom
Titelbescheidvom
Sprache
"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= "
Zusatzinfo
\n"; - $htmlstr .= "
Organisationseinheit
\n"; - $htmlstr .= "
+ + + + + +
Zusatzinfo
+
+ + + \n"; - $htmlstr .= " "; + $htmlstr .= ' + + +
Organisationseinheit
+
+
übergeordnete Organisationseinheit
+
+
+

'; - $htmlstr .= "\n"; - $htmlstr .= "
\n"; $htmlstr .= "
\n"; $htmlstr .= " \n"; $htmlstr .= " "; @@ -528,10 +592,41 @@ require_once('../../include/benutzerberechtigung.class.php'); Studiengang - Details + + + + + diff --git a/vilesci/stammdaten/studiengang_uebersicht.php b/vilesci/stammdaten/studiengang_uebersicht.php index 1a680c29a..d4120c8cd 100644 --- a/vilesci/stammdaten/studiengang_uebersicht.php +++ b/vilesci/stammdaten/studiengang_uebersicht.php @@ -55,10 +55,13 @@ require_once('../../include/benutzerberechtigung.class.php'); die($sg->errormsg); //$htmlstr = "\n"; - $htmlstr = "
\n"; - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr = ''; + $htmlstr .= ' +
KzKurzbzKurzbzLang TypBezeichnungAktivEmail
+ + + + '; $i = 0; foreach ($sg->result as $stg) {
KzKurzbzKurzbzLang TypBezeichnungAktivEmail