- Fehler bei der Generierung der UID im KTU Addon behoben

- Bewerber können direkt bei der Bewerbung einen Studienplan wählen
- Bei der Anlage von neuen Interessenten kann ein Studienplan gewählt werden
- Neue Config Einträge für die Studierendenvorrückung:
  Das Semester im Status kann jetzt über das max_semester des Studienganges hinauslaufen wobei die Studentlehrverbandzuteilung gleichzeitig begrenzt wird. Dadurch ist beim Studierenden sichtbar dass er sich zB im 30. Semester befindet ohne tatsächlich 30 Lehrverbände anlegen zu müssen. cis.config-default.inc.php
This commit is contained in:
Andreas Österreicher
2014-03-18 15:27:16 +00:00
parent 5201eff6b1
commit 0da7637441
7 changed files with 213 additions and 41 deletions
+68 -25
View File
@@ -1,5 +1,4 @@
<?php
/* Copyright (C) 2012 FH Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
@@ -50,6 +49,7 @@ require_once('../../include/dokument.class.php');
require_once('../../include/akte.class.php');
require_once('../../include/mail.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/studienplan.class.php');
$person_id = $_SESSION['bewerbung/personId'];
$akte_id = isset($_GET['akte_id'])?$_GET['akte_id']:'';
@@ -70,6 +70,9 @@ if($method=='delete')
}
else
{
if($akte->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
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
?><!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Bewerbung für einen Studiengang</title>
<link rel="stylesheet" href="../../skin/styles/jquery-ui-1.10.3.custom.css" />
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
@@ -544,13 +561,13 @@ padding: 5px;
<div id="tabs" style="width:auto">
<div id="tabs-0" style="width:100%">
<ul>
<li><a href="#tabs-1">>|1| Allgemein <br> </a></li>
<li><a href="#tabs-2">>|2| Persönliche Daten <br> <?php echo $status_person_text;?></a></li>
<li><a href="#tabs-3">>|3| Zugangsvoraussetzungen<br> <?php echo $status_zgv_text; ?></a></li>
<li><a href="#tabs-4">>|4| Kontaktinformationen <br> <?php echo $status_kontakt_text;?></a></li>
<li><a href="#tabs-5">>|5| Dokumente <br> <?php echo $status_dokumente_text;?></a></li>
<li><a href="#tabs-6">>|6| Zahlungen <br> <?php echo $status_zahlungen_text;?></a></li>
<li><a href="#tabs-7">>|7| Bewerbung abschicken <br> </a></li>
<li><a href="#tabs-1">&gt;|1| Allgemein <br> </a></li>
<li><a href="#tabs-2">&gt;|2| Persönliche Daten <br> <?php echo $status_person_text;?></a></li>
<li><a href="#tabs-3">&gt;|3| Zugangsvoraussetzungen<br> <?php echo $status_zgv_text; ?></a></li>
<li><a href="#tabs-4">&gt;|4| Kontaktinformationen <br> <?php echo $status_kontakt_text;?></a></li>
<li><a href="#tabs-5">&gt;|5| Dokumente <br> <?php echo $status_dokumente_text;?></a></li>
<li><a href="#tabs-6">&gt;|6| Zahlungen <br> <?php echo $status_zahlungen_text;?></a></li>
<li><a href="#tabs-7">&gt;|7| Bewerbung abschicken <br> </a></li>
</ul>
</div>
<div id="tabs-1">
@@ -599,7 +616,7 @@ padding: 5px;
?>
<br>
<button class='btn_weiter' type='button' onclick='activeTab(1);'>Weiter</button></p>
<button class='btn_weiter' type='button' onclick='activeTab(1);'>Weiter</button>
</div>
<div id="tabs-2">
<h2>Persönliche Daten</h2>
@@ -716,6 +733,32 @@ $studiengang = new studiengang();
echo "<br><br><br><br>
<form method='POST' action='".$_SERVER['PHP_SELF']."?active=2'>
<table border='0'>
<tr>
<td>Studienplan:</td>
<td><SELECT name='studienplan_id'>
<OPTION value=''>-- bitte Auswählen --</option>";
$studienplan = new studienplan();
$studienplan->getStudienplaene($prestudent->studiengang_kz);
$prestudentstatus = new prestudent();
$prestudentstatus->getLastStatus($prestudent->prestudent_id);
foreach($studienplan->result as $row_studienplan)
{
if($prestudentstatus->studienplan_id==$row_studienplan->studienplan_id)
$selected='selected';
else
$selected='';
if($row_studienplan->aktiv)
{
echo '<OPTION value="'.$row_studienplan->studienplan_id.'" '.$selected.'>'.$row_studienplan->bezeichnung.'</OPTION>';
}
}
echo " </select></td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td>Zugangsvoraussetzung: </td>
<td><select name='zgv'><option value=''>-- Bitte auswählen --</option>";
+1 -1
View File
@@ -372,7 +372,7 @@ if (isset($_POST['userid']))
echo' </table></tr>
<tr>
<td align="center"><img id="captcha" src="'.APP_ROOT.'include/securimage/securimage_show.php" alt="CAPTCHA Image" style="border:1px solid;" /><br>
<a href="#" onclick="document.getElementById(\'captcha\').src = "'.APP_ROOT.'include/securimage/securimage_show.php?" + Math.random(); return false">'.$p->t('bewerbung/andereGrafik').'</a></td>
<a href="#" onclick="document.getElementById(\'captcha\').src = \''.APP_ROOT.'include/securimage/securimage_show.php?\' + Math.random(); return false">'.$p->t('bewerbung/andereGrafik').'</a></td>
<td>'.$p->t('bewerbung/captcha').'<br><input type="text" name="captcha_code" size="10" maxlength="6" />';?>
<?php
+2
View File
@@ -165,6 +165,8 @@ define('MAIL_INTERNATIONAL','invalid@technikum-wien.at');
//Ansprechpartner fuer Outgoing
define('MAIL_INTERNATIONAL_OUTGOING', 'invalid@technikum-wien.at');
define('ANZAHL_PREINTERESSENT','5');
// ***** MOODLE *****
// Moodle verwenden Ja/Nein
define('MOODLE',true);
+16
View File
@@ -15,6 +15,22 @@ define('LVPLAN_ANMERKUNG_ANZEIGEN',true);
//Gruppieren zeitgleicher Lehreinheiten im LV-Plan
define('LVPLAN_LEHREINHEITEN_GRUPPIEREN',true);
/*
* VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER
* leer: Studentlehrverband Semester wird bei der Vorrueckung normal weitergezaehlt bis zum max_semester des Studienganges
* Zahl: Studentlehrverband Semester wird bei der Vorrueckung maximal bis zur angegebenen Zahl erhoeht und bleibt dann in diesem Semester
* DEFAULT: ''
*/
define('VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER','');
/*
* VORRUECKUNG_STATUS_MAX_SEMESTER
* true: Semester im Status wird bei der Vorrueckung nicht hoeher als max_semester des Studienganges
* false: Semester zaehlt bei der Vorrueckung immer weiter hoch
* DEFAULT: true
*/
define('VORRUECKUNG_STATUS_MAX_SEMESTER',true);
// Bei Statuswechsel auf Bewerber -> soll Reihungstest brücksichtigt werden
define('REIHUNGSTEST_CHECK', true);
+16
View File
@@ -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 '<strong>public.tbl_prestudentstatus: '.$db->db_last_error().'</strong><br>';
else
echo 'public.tbl_prestudentstatus: Schreibrechte fuer User web erteilt';
}
}
echo '<br><br><br>';
$tabellen=array(
@@ -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;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='')
{
$db = new basis_db();
$content= '<SELECT id="studienplan_id" name="studienplan_id">
<OPTION value="">-- keine Auswahl --</OPTION>';
$studienplan = new studienplan();
$studienplan->getStudienplaene($studiengang_kz);
foreach($studienplan->result as $row)
{
if($studienplan_id=='')
$studienplan_id=$row->studienplan_id;
if($studienplan_id==$row->studienplan_id)
$selected='selected';
else
$selected='';
if($row->aktiv)
{
if($orgform_kurzbz=='' || $row->orgform_kurzbz=='' || $row->orgform_kurzbz==$orgform_kurzbz)
$content.="<option value='$row->studienplan_id' $selected>$row->bezeichnung</option>";
}
}
$content.= '</SELECT>';
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;
}
?><!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/styles/tw.css" rel="stylesheet" type="text/css">
<script language="Javascript">
<script type="text/Javascript">
function disablefields(obj)
{
if(obj.value==0)
@@ -326,6 +364,36 @@ function setOrtData()
else alert("Request status:" + anfrage.status);
}
}
function loadStudienplanData()
{
anfrage=null;
//Request erzeugen und die Note speichern
erzeugeAnfrage();
var jetzt = new Date();
var ts = jetzt.getTime();
var studiengang_kz = document.getElementById('studiengang_kz').value;
var orgform_kurzbz = document.getElementById('orgform_kurzbz').value;
var url= '<?php echo $_SERVER['PHP_SELF']."?type=getstudienplancontent"?>';
url += '&studiengang_kz='+encodeURIComponent(studiengang_kz)+"&orgform_kurzbz="+encodeURIComponent(orgform_kurzbz)+"&"+ts;
anfrage.open("GET", url, true);
anfrage.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
anfrage.onreadystatechange = setStudienplanData;
anfrage.send(null);
}
function setStudienplanData()
{
if (anfrage.readyState == 4)
{
if (anfrage.status == 200)
{
var resp = anfrage.responseText;
var ortdiv = document.getElementById('studienplandiv');
ortdiv.innerHTML = resp;
}
else alert("Request status:" + anfrage.status);
}
}
</script>
</head>
<body>
@@ -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 '</SELECT>';
echo '</td></tr>';
echo '<tr><td>Ausbildungsart</td><td><input type="text" id="ausbildungsart" name="ausbildungsart" value="'.$ausbildungsart.'" /></td></tr>';
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen">'.$anmerkungen.'</textarea></td></tr>';
echo '<tr><td>Studiengang *</td><td><SELECT id="studiengang_kz" name="studiengang_kz">';
echo '<tr><td>Studiengang *</td><td><SELECT id="studiengang_kz" name="studiengang_kz" onchange="loadStudienplanData()">';
$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 '<OPTION value="'.$i.'" '.($i==$ausbildungssemester?'selected':'').'>'.$i.'. Semester</OPTION>';
echo '</SELECT>';
echo '</td></tr>';
echo '<tr><td>OrgForm</td><td><SELECT name="orgform_kurzbz">';
echo '<tr><td>OrgForm</td><td><SELECT id="orgform_kurzbz" name="orgform_kurzbz" onchange="loadStudienplanData()">';
echo '<OPTION value="">-- keine Auswahl --</OPTION>';
$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 '</SELECT>';
echo '</td></tr>';
echo "\n";
echo '<tr><td>Studienplan</td><td><div id="studienplandiv">';
if($studiengang_kz!='')
echo getStudienplanDropDown($studiengang_kz, $orgform_kurzbz, $studienplan_id);
else
echo '<font color="gray">Bitte zuerst einen Studiengang waehlen</font>';
echo '</div></td>
</tr>';
echo '<tr><td>Incoming:</td><td><input type="checkbox" id="incoming" name="incoming" '.($incoming?'checked':'').' onclick="cmdIncoming()" /></td></tr>';
echo '<tr><tr><td></td><td>';
+26 -10
View File
@@ -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).");";