From 0da7637441d46686abb9547572270092f93c039e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 18 Mar 2014 15:27:16 +0000 Subject: [PATCH] =?UTF-8?q?-=20Fehler=20bei=20der=20Generierung=20der=20UI?= =?UTF-8?q?D=20im=20KTU=20Addon=20behoben=20-=20Bewerber=20k=C3=B6nnen=20d?= =?UTF-8?q?irekt=20bei=20der=20Bewerbung=20einen=20Studienplan=20w=C3=A4hl?= =?UTF-8?q?en=20-=20Bei=20der=20Anlage=20von=20neuen=20Interessenten=20kan?= =?UTF-8?q?n=20ein=20Studienplan=20gew=C3=A4hlt=20werden=20-=20Neue=20Conf?= =?UTF-8?q?ig=20Eintr=C3=A4ge=20f=C3=BCr=20die=20Studierendenvorr=C3=BCcku?= =?UTF-8?q?ng:=20=20=20Das=20Semester=20im=20Status=20kann=20jetzt=20?= =?UTF-8?q?=C3=BCber=20das=20max=5Fsemester=20des=20Studienganges=20hinaus?= =?UTF-8?q?laufen=20wobei=20die=20Studentlehrverbandzuteilung=20gleichzeit?= =?UTF-8?q?ig=20begrenzt=20wird.=20Dadurch=20ist=20beim=20Studierenden=20s?= =?UTF-8?q?ichtbar=20dass=20er=20sich=20zB=20im=2030.=20Semester=20befinde?= =?UTF-8?q?t=20ohne=20tats=C3=A4chlich=2030=20Lehrverb=C3=A4nde=20anlegen?= =?UTF-8?q?=20zu=20m=C3=BCssen.=20cis.config-default.inc.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/public/bewerbung.php | 93 ++++++++++++++----- cis/public/registration.php | 2 +- config/cis.config-default.inc.php | 2 + config/global.config-default.inc.php | 16 ++++ system/checksystem.php | 16 ++++ .../personen/import/interessentenimport.php | 89 +++++++++++++++++- vilesci/personen/student_vorrueckung.php | 36 +++++-- 7 files changed, 213 insertions(+), 41 deletions(-) diff --git a/cis/public/bewerbung.php b/cis/public/bewerbung.php index 948064187..aae24f679 100755 --- a/cis/public/bewerbung.php +++ b/cis/public/bewerbung.php @@ -1,5 +1,4 @@ person_id!=$person_id) + die('Ungueltiger Zugriff'); + $dms_id = $akte->dms_id; $dms = new dms(); @@ -102,17 +105,21 @@ if(isset($_POST['btn_bewerbung_abschicken'])) $prestudent_status = new prestudent(); $prestudent_status->load($pr_id); + $alterstatus = new prestudent(); + $alterstatus->getLastStatus($pr_id); + // check ob es status schon gibt - if(!$prestudent_status->load_rolle($pr_id, 'Bewerber', $std_semester, '0')) + if(!$prestudent_status->load_rolle($pr_id, 'Bewerber', $std_semester, '1')) { $prestudent_status->status_kurzbz = 'Bewerber'; $prestudent_status->studiensemester_kurzbz = $std_semester; - $prestudent_status->ausbildungssemester = '0'; + $prestudent_status->ausbildungssemester = '1'; $prestudent_status->datum = date("Y-m-d H:i:s"); $prestudent_status->insertamum = date("Y-m-d H:i:s"); $prestudent_status->insertvon = ''; $prestudent_status->updateamum = date("Y-m-d H:i:s"); $prestudent_status->updatevon = ''; + $prestudent_status->studienplan_id = $alterstatus->studienplan_id; $prestudent_status->new = true; if(!$prestudent_status->save_rolle()) die('Fehler beim anlegen der Rolle'); @@ -192,15 +199,17 @@ if(isset($_POST['btn_kontakt'])) // löschen $kontakt->delete($kontakt_id); } - - $kontakt->person_id = $person->person_id; - $kontakt->kontakt_id = $kontakt_id; - $kontakt->zustellung = true; - $kontakt->kontakttyp = 'email'; - $kontakt->kontakt = $_POST['email']; - $kontakt->new = false; - - $kontakt->save(); + else + { + $kontakt->person_id = $person->person_id; + $kontakt->kontakt_id = $kontakt_id; + $kontakt->zustellung = true; + $kontakt->kontakttyp = 'email'; + $kontakt->kontakt = $_POST['email']; + $kontakt->new = false; + + $kontakt->save(); + } } else { @@ -274,6 +283,16 @@ if(isset($_POST['btn_zgv'])) if(!$prestudent->save()) die('Fehler beim Speichern des Prestudenten aufgetaucht.'); + + // Studienplan Speichern + $prestudent_status = new prestudent(); + + if($prestudent_status->getLastStatus($_POST['prestudent'])) + { + $prestudent_status->new = false; + $prestudent_status->studienplan_id=$_POST['studienplan_id']; + $prestudent_status->save_rolle(); + } } @@ -381,12 +400,10 @@ else } } -?> - - - +?> + - + Bewerbung für einen Studiengang @@ -544,13 +561,13 @@ padding: 5px;
@@ -599,7 +616,7 @@ padding: 5px; ?>
-

+

Persönliche Daten

@@ -716,6 +733,32 @@ $studiengang = new studiengang(); echo "



+ + + + + + + +
Studienplan:
 
Zugangsvoraussetzung:
CAPTCHA Image
- '.$p->t('bewerbung/andereGrafik').' + '.$p->t('bewerbung/andereGrafik').' '.$p->t('bewerbung/captcha').'
';?> soll Reihungstest brücksichtigt werden define('REIHUNGSTEST_CHECK', true); diff --git a/system/checksystem.php b/system/checksystem.php index 806258ab2..695bb64ae 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1223,6 +1223,22 @@ if(!$result = @$db->db_query("SELECT pruefung_id FROM campus.tbl_pruefung LIMIT else echo 'Tabellen fuer Pruefungsverwaltung hinzugefügt'; } + +// Berechtigungen fuer web User erteilen +if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_prestudentstatus' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'")) +{ + if($db->db_num_rows($result)==0) + { + + $qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_prestudentstatus TO web;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudentstatus: '.$db->db_last_error().'
'; + else + echo 'public.tbl_prestudentstatus: Schreibrechte fuer User web erteilt'; + } +} + echo '


'; $tabellen=array( diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php index 2c207f33f..6a0c1d1a5 100644 --- a/vilesci/personen/import/interessentenimport.php +++ b/vilesci/personen/import/interessentenimport.php @@ -35,6 +35,7 @@ require_once('../../../include/benutzer.class.php'); require_once('../../../include/student.class.php'); require_once('../../../include/lehrverband.class.php'); require_once('../../../include/nation.class.php'); +require_once('../../../include/studienplan.class.php'); $db = new basis_db(); $user=get_uid(); @@ -125,13 +126,50 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) echo getOrtDropDown($_GET['plz'], $_GET['gemeinde']); exit; } -?> - + +function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='') +{ + $db = new basis_db(); + + $content= ''; + return $content; +} + +if(isset($_GET['type']) && $_GET['type']=='getstudienplancontent' && isset($_GET['studiengang_kz']) && isset($_GET['orgform_kurzbz'])) +{ + header('Content-Type: text/html; charset=UTF-8'); + + echo getStudienplanDropDown($_GET['studiengang_kz'], $_GET['orgform_kurzbz']); + exit; +} +?> - @@ -410,6 +478,7 @@ $studiensemester_kurzbz = (isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST[ $ausbildungssemester = (isset($_REQUEST['ausbildungssemester'])?$_REQUEST['ausbildungssemester']:'0'); $incoming = (isset($_REQUEST['incoming'])?true:false); $orgform_kurzbz = (isset($_REQUEST['orgform_kurzbz'])?$_REQUEST['orgform_kurzbz']:''); +$studienplan_id = (isset($_REQUEST['studienplan_id'])?$_REQUEST['studienplan_id']:''); //end Parameter $geburtsdatum_error=false; @@ -782,6 +851,7 @@ if(isset($_POST['save'])) $rolle->studiensemester_kurzbz = $studiensemester_kurzbz; $rolle->ausbildungssemester = $ausbildungssemester; $rolle->orgform_kurzbz = $orgform_kurzbz; + $rolle->studienplan_id = $studienplan_id; $rolle->datum = date('Y-m-d'); $rolle->insertamum = date('Y-m-d H:i:s'); $rolle->insertvon = $user; @@ -1020,7 +1090,7 @@ echo ''; echo ''; echo 'Ausbildungsart'; echo 'Anmerkungen'; -echo 'Studiengang *'; $stg_obj = new studiengang(); $stg_obj->getAll('typ, kurzbz'); foreach ($stg_obj->result as $row) @@ -1042,7 +1112,7 @@ for ($i=1;$i<9;$i++) echo ''; echo ''; echo ''; -echo 'OrgForm'; echo ''; $qry = "SELECT orgform_kurzbz, bezeichnung FROM bis.tbl_orgform WHERE rolle ORDER BY bezeichnung"; if($result = $db->db_query($qry)) @@ -1054,6 +1124,15 @@ if($result = $db->db_query($qry)) } echo ''; echo ''; +echo "\n"; +echo 'Studienplan
'; +if($studiengang_kz!='') + echo getStudienplanDropDown($studiengang_kz, $orgform_kurzbz, $studienplan_id); +else + echo 'Bitte zuerst einen Studiengang waehlen'; +echo '
+'; + echo 'Incoming:'; echo ''; diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php index 767483e6f..c88fbd45f 100644 --- a/vilesci/personen/student_vorrueckung.php +++ b/vilesci/personen/student_vorrueckung.php @@ -24,6 +24,7 @@ * Vorrückung aller AKTIVEN Studenten. */ require_once('../../config/vilesci.config.inc.php'); +require_once('../../config/global.config.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/functions.inc.php'); @@ -211,21 +212,36 @@ if (isset($_POST['vorr'])) if($row_status=$db->db_fetch_object($result_status)) { //Studenten im letzten Semester bleiben dort, wenn aktiv - if($row->semester_stlv>=$max[$stg_kz] || $row->semester_stlv==0) + + // Semester fuer Studentlehrverband + if(VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER!='') { - $s=$row->semester_stlv; + if($row->semester_stlv>=VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER) + $s=$row->semester_stlv; + else + $s=$row->semester_stlv+1; } else { - $s=$row->semester_stlv+1; - } - if($row_status->ausbildungssemester>=$max[$stg_kz] || $row_status->status_kurzbz=="Unterbrecher" || $row_status->status_kurzbz=="Incoming") - { - $ausbildungssemester=$row_status->ausbildungssemester; + if($row->semester_stlv>=$max[$stg_kz] || $row->semester_stlv==0) + $s=$row->semester_stlv; + else + $s=$row->semester_stlv+1; } + + if(!VORRUECKUNG_STATUS_MAX_SEMESTER) + $ausbildungssemester=$row_status->ausbildungssemester+1; else { - $ausbildungssemester=$row_status->ausbildungssemester+1; + // Semester fuer Status + if($row_status->ausbildungssemester>=$max[$stg_kz] || $row_status->status_kurzbz=="Unterbrecher" || $row_status->status_kurzbz=="Incoming") + { + $ausbildungssemester=$row_status->ausbildungssemester; + } + else + { + $ausbildungssemester=$row_status->ausbildungssemester+1; + } } //Lehrverbandgruppe anlegen, wenn noch nicht vorhanden $qry_lvb="SELECT * FROM public.tbl_lehrverband @@ -250,7 +266,7 @@ if (isset($_POST['vorr'])) if($db->db_num_rows($db->db_query($qry_chk))<1) { //Eintragen der neuen Gruppe - $sql="INSERT INTO tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon, ext_id) + $sql="INSERT INTO public.tbl_studentlehrverband (student_uid, studiensemester_kurzbz, studiengang_kz, semester, verband, gruppe, updateamum, updatevon, insertamum, insertvon, ext_id) VALUES (".$db->db_add_param($row->student_uid).",".$db->db_add_param($next_ss).",".$db->db_add_param($row->studiengang_kz).", ".$db->db_add_param($s).",".$db->db_add_param($row->verband_stlv).",".$db->db_add_param($row->gruppe_stlv).",NULL,NULL,now(),".$db->db_add_param($user).",NULL);"; } @@ -260,7 +276,7 @@ if (isset($_POST['vorr'])) if($db->db_num_rows($db->db_query($qry_chk))<1) { //Eintragen des neuen Status - $sql.="INSERT INTO tbl_prestudentstatus (prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) + $sql.="INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, insertamum, insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) VALUES (".$db->db_add_param($row->prestudent_id).", ".$db->db_add_param($row_status->status_kurzbz).", ".$db->db_add_param($next_ss).", ".$db->db_add_param($ausbildungssemester).", now(), now(), ".$db->db_add_param($user).", NULL, NULL, NULL, ".$db->db_add_param($row_status->orgform_kurzbz).",".$db->db_add_param($row_status->studienplan_id).");";