13938 Vorrückung von bezeichnung_mehrsprachig auf statusgrund_kurzbz umgebaut

This commit is contained in:
manu
2021-07-23 13:32:53 +02:00
parent 36d0981331
commit ccfd038d8a
3 changed files with 213 additions and 176 deletions
+159 -155
View File
@@ -1,155 +1,159 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2006 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../../config/vilesci.config.inc.php'); require_once('../../config/vilesci.config.inc.php');
?> ?>
var StudentRolleStudiensemester_old; var StudentRolleStudiensemester_old;
var StudentRolleAusbildungssemester_old; var StudentRolleAusbildungssemester_old;
var StudentRolleStatusgrundDatasource; var StudentRolleStatusgrundDatasource;
// **** // ****
// * Laedt die Rolle // * Laedt die Rolle
// **** // ****
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester) function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
{ {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(status_kurzbz!='') if(status_kurzbz!='')
{ {
document.getElementById('student-rolle-grid-row-textbox').hidden=false; document.getElementById('student-rolle-grid-row-textbox').hidden=false;
document.getElementById('student-rolle-grid-row-menulist').hidden=true; document.getElementById('student-rolle-grid-row-menulist').hidden=true;
StudentRolleStudiensemester_old=studiensemester_kurzbz; StudentRolleStudiensemester_old=studiensemester_kurzbz;
StudentRolleAusbildungssemester_old=ausbildungssemester; StudentRolleAusbildungssemester_old=ausbildungssemester;
//Daten holen //Daten holen
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+gettimestamp(); var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService); getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url); var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester); var subject = rdfService.GetResource("http://www.technikum-wien.at/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf"; var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
//RDF parsen //RDF parsen
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" )); var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" )); var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" )); var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" ));
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" )); var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" )); var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" )); var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" )); var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
var neu = false; var neu = false;
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id); StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
} }
else else
{ {
StudentRolleStudiensemester_old=''; StudentRolleStudiensemester_old='';
StudentRolleAusbildungssemester_old=''; StudentRolleAusbildungssemester_old='';
document.getElementById('student-rolle-grid-row-textbox').hidden=true; document.getElementById('student-rolle-grid-row-textbox').hidden=true;
document.getElementById('student-rolle-grid-row-menulist').hidden=false; document.getElementById('student-rolle-grid-row-menulist').hidden=false;
//Defaultwerte bei Neuem Datensatz //Defaultwerte bei Neuem Datensatz
var status_kurzbz = 'Interessent'; var status_kurzbz = 'Interessent';
var studiensemester_kurzbz=window.opener.getStudiensemester(); var studiensemester_kurzbz=window.opener.getStudiensemester();
var ausbildungssemester='1'; var ausbildungssemester='1';
var datum = '<?php echo date('d.m.Y') ?>'; var datum = '<?php echo date('d.m.Y') ?>';
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>'; var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
var bewerbung_abgeschicktamum = ''; var bewerbung_abgeschicktamum = '';
var orgform_kurzbz = ''; var orgform_kurzbz = '';
var studienplan_id = ''; var studienplan_id = '';
var anmerkung = ''; var anmerkung = '';
var statusgrund_id = ''; var statusgrund_id = '';
var rt_stufe = ''; var rt_stufe = '';
StudentRolleLoadStatusgrund(status_kurzbz); StudentRolleLoadStatusgrund(status_kurzbz);
} }
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id; document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz; document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz; document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester; document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
document.getElementById('student-rolle-datum-datum').value=datum; document.getElementById('student-rolle-datum-datum').value=datum;
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum; document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum; document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum;
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz; document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id); MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung; document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id); MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe); MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
} }
// **** // ****
// * Speichern der Rolle // * Speichern der Rolle
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil // * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt // * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
// * kommt. // * kommt.
// **** // ****
function StudentRolleSpeichern() function StudentRolleSpeichern()
{ {
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old)) if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
window.close(); window.close();
} }
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id) function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
{ {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund'); var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
if (typeof statusgrund_id !== 'undefined')
try url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
{ else
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver); url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&ts'+gettimestamp();
}
catch(e) try
{} {
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
//Alte DS entfernen }
var oldDatasources = menulistgrund.database.GetDataSources(); catch(e)
while(oldDatasources.hasMoreElements()) {}
{
menulistgrund.database.RemoveDataSource(oldDatasources.getNext()); //Alte DS entfernen
} var oldDatasources = menulistgrund.database.GetDataSources();
//Refresh damit die entfernten DS auch wirklich entfernt werden while(oldDatasources.hasMoreElements())
menulistgrund.builder.rebuild(); {
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); }
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url); //Refresh damit die entfernten DS auch wirklich entfernt werden
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); menulistgrund.builder.rebuild();
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
menulistgrund.builder.rebuild(); StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
} StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
/** menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
* Wenn das Dropdown fuer den Status geaendert wird, dann menulistgrund.builder.rebuild();
* werden die Statusgruende zu diesem Status geladen }
*/
function StudentRolleChangeStatus() /**
{ * Wenn das Dropdown fuer den Status geaendert wird, dann
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value; * werden die Statusgruende zu diesem Status geladen
StudentRolleLoadStatusgrund(status); */
} function StudentRolleChangeStatus()
{
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
StudentRolleLoadStatusgrund(status);
}
+28
View File
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>, * Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
Manuela Thamer <manuela.thamer@technikum-wien.at>
*/ */
require_once('basis_db.class.php'); require_once('basis_db.class.php');
@@ -30,6 +31,7 @@ class statusgrund extends basis_db
public $aktiv = true; // boolean public $aktiv = true; // boolean
public $bezeichnung_mehrsprachig; // varchar(255)[] public $bezeichnung_mehrsprachig; // varchar(255)[]
public $bezeichnung; // text[] public $bezeichnung; // text[]
public $statusgrund_kurzbz; //varchar(32)
/** /**
* Konstruktor - Laedt optional einen Statusgrund * Konstruktor - Laedt optional einen Statusgrund
@@ -71,6 +73,7 @@ class statusgrund extends basis_db
$this->aktiv = $this->db_parse_bool($row->aktiv); $this->aktiv = $this->db_parse_bool($row->aktiv);
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $this->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$this->statusgrund_kurzbz = $row->statusgrund_kurzbz;
} }
else else
{ {
@@ -120,6 +123,7 @@ class statusgrund extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
$this->result[] = $obj; $this->result[] = $obj;
} }
@@ -166,6 +170,7 @@ class statusgrund extends basis_db
$obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row);
$obj->statusgrund_kurzbz = $row->statusgrund_kurzbz;
$this->result[] = $obj; $this->result[] = $obj;
} }
@@ -179,5 +184,28 @@ class statusgrund extends basis_db
return true; return true;
} }
/**
* Laedt das Klassenobjekt anhand der kurzbz
*
* @param string $statusgrund_kurzbz Statusgrund zu dem das Objekt geladen werden soll.
* @return object classobject
*/
public function getByStatusgrundKurzbz($statusgrund_kurzbz)
{
$qry = "
SELECT
*
FROM
public.tbl_status_grund
WHERE
statusgrund_kurzbz ='". $statusgrund_kurzbz. "'
";
$this->db_query($qry);
return
$this->db_fetch_object();
}
} }
?> ?>
+26 -21
View File
@@ -19,6 +19,7 @@
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manuela Thamer < manuela.thamer@technikum-wien.at >
*/ */
/** /**
* Vorrückung aller AKTIVEN Studenten. * Vorrückung aller AKTIVEN Studenten.
@@ -32,6 +33,7 @@ require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/lehrverband.class.php'); require_once('../../include/lehrverband.class.php');
require_once('../../include/studienordnung.class.php'); require_once('../../include/studienordnung.class.php');
require_once('../../include/studienplan.class.php'); require_once('../../include/studienplan.class.php');
require_once('../../include/statusgrund.class.php');
if (!$db = new basis_db()) if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.'); die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -301,6 +303,16 @@ if (isset($_POST['vorr']))
} }
} }
//auf statusgrund_kurzbz abfragen
$statusgrundObj = new statusgrund($row_status->statusgrund_id);
$statusgrundId = null;
if ($statusgrundObj->statusgrund_kurzbz === "prewiederholer" && $row_status->ausbildungssemester > 1)
{
$s = $row->semester_stlv - 1;
$ausbildungssemester = $row_status->ausbildungssemester - 1;
$statusgrundId = $statusgrundObj->getByStatusgrundKurzbz('wiederholer')->statusgrund_id;
}
$lvb = new lehrverband(); $lvb = new lehrverband();
//Lehrverbandgruppe anlegen, wenn noch nicht vorhanden //Lehrverbandgruppe anlegen, wenn noch nicht vorhanden
@@ -364,14 +376,15 @@ if (isset($_POST['vorr']))
//Eintragen des neuen Status //Eintragen des neuen Status
$sql .= "INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz, $sql .= "INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz,
studiensemester_kurzbz, ausbildungssemester, datum, insertamum, studiensemester_kurzbz, ausbildungssemester, datum, insertamum,
insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id) insertvon, updateamum, updatevon, ext_id, orgform_kurzbz, studienplan_id, statusgrund_id)
VALUES (".$db->db_add_param($row->prestudent_id).", ". VALUES (".$db->db_add_param($row->prestudent_id).", ".
$db->db_add_param($row_status->status_kurzbz).", ". $db->db_add_param($row_status->status_kurzbz).", ".
$db->db_add_param($next_ss).", ". $db->db_add_param($next_ss).", ".
$db->db_add_param($ausbildungssemester).", now(), now(), ". $db->db_add_param($ausbildungssemester).", now(), now(), ".
$db->db_add_param($user).", NULL, NULL, NULL, ". $db->db_add_param($user).", NULL, NULL, NULL, ".
$db->db_add_param($row_status->orgform_kurzbz).", ". $db->db_add_param($row_status->orgform_kurzbz).", ".
$db->db_add_param($studienplan_id).");"; $db->db_add_param($studienplan_id).", ".
$db->db_add_param($statusgrundId).");";
} }
if ($sql != '') if ($sql != '')
{ {
@@ -408,7 +421,7 @@ $outp .= '
<tr> <tr>
<td>Studiengang:</td> <td>Studiengang:</td>
<td> <td>
<SELECT name="stg_kz">'; <SELECT name="stg_kz" onchange="document.location.href=this.value">';
//Auswahl Studiengang //Auswahl Studiengang
foreach ($studiengang as $stg) foreach ($studiengang as $stg)
@@ -420,7 +433,7 @@ foreach ($studiengang as $stg)
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt"; $url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
$url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk"; $url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk";
$outp .= "<OPTION onclick=\"window.location.href='".$url."'\" ".($stg->studiengang_kz == $stg_kz?'selected':'').">"; $outp .= "<OPTION value='". $url. "' ". ($stg->studiengang_kz == $stg_kz ? 'selected' : ''). ">";
$outp .= "$stg->kurzbzlang ($stg->kuerzel) - $stg->bezeichnung</OPTION>"; $outp .= "$stg->kurzbzlang ($stg->kuerzel) - $stg->bezeichnung</OPTION>";
if (!isset($s[$stg->studiengang_kz])) if (!isset($s[$stg->studiengang_kz]))
$s[$stg->studiengang_kz] = new stdClass(); $s[$stg->studiengang_kz] = new stdClass();
@@ -435,17 +448,12 @@ $outp .= '</SELECT>
$outp .= " $outp .= "
<tr> <tr>
<td>Angezeigtes Studiensemester:</td> <td>Angezeigtes Studiensemester:</td>
<td><select name='studiensemester_kurzbz'>\n"; <td><select name='studiensemester_kurzbz' onchange='document.location.href=this.value'>\n";
if (isset($ss_arr) && is_array($ss_arr)) if (isset($ss_arr) && is_array($ss_arr))
{ {
foreach ($ss_arr as $sts) foreach ($ss_arr as $sts)
{ {
if ($studiensemester_kurzbz == $sts)
$sel = " selected ";
else
$sel = '';
$url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz"; $url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz";
$url .= "&semester=$semester"; $url .= "&semester=$semester";
$url .= "&semesterv=$semesterv"; $url .= "&semesterv=$semesterv";
@@ -453,7 +461,7 @@ if (isset($ss_arr) && is_array($ss_arr))
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt"; $url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
$url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk"; $url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk";
$outp .= "<option value='".$sts."' ".$sel."onclick=\"window.location.href = '".$url."'\">".$sts."</option>"; $outp .= "<option value='" .$url ."' " . ($studiensemester_kurzbz == $sts ? 'selected' : '') . ">".$sts."</option>";
} }
} }
$outp .= " </select> $outp .= " </select>
@@ -493,17 +501,12 @@ $outp .= '
</tr> </tr>
<tr> <tr>
<td>Ausgangs-Studiensemester:</td> <td>Ausgangs-Studiensemester:</td>
<td><select name="studiensemester_kurzbz_akt">'; <td><select name="studiensemester_kurzbz_akt" onchange="document.location.href=this.value">';
if (isset($ss_arr) && is_array($ss_arr)) if (isset($ss_arr) && is_array($ss_arr))
{ {
foreach ($ss_arr as $sts2) foreach ($ss_arr as $sts2)
{ {
if ($studiensemester_kurzbz_akt == $sts2)
$sel2 = " selected ";
else
$sel2 = '';
$url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz"; $url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz";
$url .= "&semester=$semester"; $url .= "&semester=$semester";
$url .= "&semesterv=$semesterv"; $url .= "&semesterv=$semesterv";
@@ -511,7 +514,7 @@ if (isset($ss_arr) && is_array($ss_arr))
$url .= "&studiensemester_kurzbz_akt=$sts2"; $url .= "&studiensemester_kurzbz_akt=$sts2";
$url .= "&studiensemester_kurzb_zk=$studiensemester_kurzbz_zk"; $url .= "&studiensemester_kurzb_zk=$studiensemester_kurzbz_zk";
$outp .= "<option value='".$sts2."' ".$sel2."onclick=\"window.location.href = '".$url."'\">".$sts2."</option>"; $outp .= "<option value='".$url ."' " . ($studiensemester_kurzbz_akt == $sts2 ? 'selected' : '') . ">".$sts2."</option>";
} }
} }
$outp .= " </select> $outp .= " </select>
@@ -547,7 +550,7 @@ $outp .= '<A href="'.$url.'">alle</A> --
$outp .= " $outp .= "
<tr> <tr>
<td>Ziel-Studiensemester:</td> <td>Ziel-Studiensemester:</td>
<td><select name='studiensemester_kurzbz_zk'>\n"; <td><select name='studiensemester_kurzbz_zk' onchange='document.location.href=this.value'>\n";
if (isset($ss_arr) && is_array($ss_arr)) if (isset($ss_arr) && is_array($ss_arr))
{ {
@@ -565,7 +568,7 @@ if (isset($ss_arr) && is_array($ss_arr))
$url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt"; $url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt";
$url .= "&studiensemester_kurzbz_zk=$sts3"; $url .= "&studiensemester_kurzbz_zk=$sts3";
$outp .= "<option value='".$sts3."' ".$sel3."onclick=\"window.location.href = '".$url."'\">".$sts3."</option>"; $outp .= "<option value='" .$url ."' " . ($studiensemester_kurzbz_zk == $sts3 ? 'selected' : '') . ">".$sts3."</option>";
} }
} }
$outp .= " </select>\n $outp .= " </select>\n
@@ -617,11 +620,12 @@ if ($result_std != 0)
$row = $db->db_fetch_object($result_std, $i); $row = $db->db_fetch_object($result_std, $i);
$qry_status = " $qry_status = "
SELECT SELECT
status_kurzbz, ausbildungssemester, tbl_studienplan.studienplan_id, tbl_studienplan.bezeichnung tbl_prestudentstatus.status_kurzbz, statusgrund_kurzbz, ausbildungssemester, tbl_studienplan.studienplan_id, tbl_studienplan.bezeichnung
FROM FROM
public.tbl_prestudentstatus public.tbl_prestudentstatus
JOIN public.tbl_prestudent USING(prestudent_id) JOIN public.tbl_prestudent USING(prestudent_id)
LEFT JOIN lehre.tbl_studienplan USING(studienplan_id) LEFT JOIN lehre.tbl_studienplan USING(studienplan_id)
LEFT JOIN public.tbl_status_grund USING (statusgrund_id)
WHERE WHERE
person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)." person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)."
AND studiengang_kz=".$db->db_add_param($row->studiengang_kz, FHC_INTEGER)." AND studiengang_kz=".$db->db_add_param($row->studiengang_kz, FHC_INTEGER)."
@@ -638,6 +642,7 @@ if ($result_std != 0)
if ($row_status = $db->db_fetch_object($result_status)) if ($row_status = $db->db_fetch_object($result_status))
{ {
$status_kurzbz = $row_status->status_kurzbz; $status_kurzbz = $row_status->status_kurzbz;
$statusgrund_kurzbz = $row_status->statusgrund_kurzbz;
$ausbildungssemester = $row_status->ausbildungssemester; $ausbildungssemester = $row_status->ausbildungssemester;
$studienplan_id = $row_status->studienplan_id; $studienplan_id = $row_status->studienplan_id;
$studienplan_bezeichnung = $row_status->bezeichnung; $studienplan_bezeichnung = $row_status->bezeichnung;