From 36d09813313f2eaad3241cd34bcd4acaaaf6f995 Mon Sep 17 00:00:00 2001 From: manu Date: Fri, 23 Jul 2021 12:57:28 +0200 Subject: [PATCH 1/3] =?UTF-8?q?neuer=20Branch=20+=20Korrektur=20Fehlermeld?= =?UTF-8?q?ung=20bei=20=C3=84nderung=20Status?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/controllers/crm/Statusgrund.php | 8 ++++++-- application/models/crm/Statusgrund_model.php | 4 +++- application/views/crm/statusGrundList.php | 4 +++- application/views/crm/statusgrundEdit.php | 15 +++++++++++++++ application/views/crm/statusgrundNew.php | 10 ++++++++++ 5 files changed, 37 insertions(+), 4 deletions(-) diff --git a/application/controllers/crm/Statusgrund.php b/application/controllers/crm/Statusgrund.php index 344ac06dc..3c7e43736 100644 --- a/application/controllers/crm/Statusgrund.php +++ b/application/controllers/crm/Statusgrund.php @@ -129,6 +129,7 @@ class Statusgrund extends Auth_Controller $aktiv = $this->input->post("aktiv") != null && $this->input->post("aktiv") == "on" ? true : false; $bezeichnung_mehrsprachig = $this->input->post("bezeichnung_mehrsprachig"); $beschreibung = $this->input->post("beschreibung"); + $statusgrund_kurzbz = $this->input->post("statusgrund_kurzbz"); for ($i = 0; $i < count($bezeichnung_mehrsprachig); $i++) { @@ -177,7 +178,8 @@ class Statusgrund extends Auth_Controller $data = array( "aktiv" => $aktiv, "bezeichnung_mehrsprachig" => $bezeichnung_mehrsprachig, - "beschreibung" => $beschreibung + "beschreibung" => $beschreibung, + "statusgrund_kurzbz" => $statusgrund_kurzbz ); $statusgrund = $this->StatusgrundModel->update($statusgrund_id, $data); @@ -196,6 +198,7 @@ class Statusgrund extends Auth_Controller $bezeichnung_mehrsprachig = $this->input->post("bezeichnung_mehrsprachig"); $beschreibung = $this->input->post("beschreibung"); $status_kurzbz = $this->input->post("status_kurzbz"); + $statusgrund_kurzbz = $this->input->post("statusgrund_kurzbz"); for ($i = 0; $i < count($bezeichnung_mehrsprachig); $i++) { @@ -245,7 +248,8 @@ class Statusgrund extends Auth_Controller "status_kurzbz" => $status_kurzbz, "aktiv" => $aktiv, "bezeichnung_mehrsprachig" => $bezeichnung_mehrsprachig, - "beschreibung" => $beschreibung + "beschreibung" => $beschreibung, + "statusgrund_kurzbz" => $statusgrund_kurzbz ); $statusgrund = $this->StatusgrundModel->insert($data); diff --git a/application/models/crm/Statusgrund_model.php b/application/models/crm/Statusgrund_model.php index 7ab17a45b..d488e12d1 100644 --- a/application/models/crm/Statusgrund_model.php +++ b/application/models/crm/Statusgrund_model.php @@ -12,7 +12,7 @@ class Statusgrund_model extends DB_Model $this->pk = "statusgrund_id"; } - public function getStatus($status_kurzbz = null, $aktiv = null) + public function getStatus($status_kurzbz = null, $aktiv = null, $statusgrund_kurzbz = null) { $this->addOrder('bezeichnung_mehrsprachig'); $where = array(); @@ -20,6 +20,8 @@ class Statusgrund_model extends DB_Model $where['status_kurzbz'] = $status_kurzbz; if (!is_null($aktiv)) $where['aktiv'] = $aktiv; + if (!is_null($statusgrund_kurzbz)) + $where['statusgrund_kurzbz'] = $statusgrund_kurzbz; $status = $this->loadWhere($where); diff --git a/application/views/crm/statusGrundList.php b/application/views/crm/statusGrundList.php index e128856d3..ab8f096bb 100644 --- a/application/views/crm/statusGrundList.php +++ b/application/views/crm/statusGrundList.php @@ -15,6 +15,7 @@ Aktiv Bezeichnung mehrsprachig Beschreibung + Statusgrund @@ -25,6 +26,7 @@ aktiv); ?> bezeichnung_mehrsprachig); ?> beschreibung); ?> + statusgrund_kurzbz); ?> Edit @@ -33,4 +35,4 @@ - \ No newline at end of file + diff --git a/application/views/crm/statusgrundEdit.php b/application/views/crm/statusgrundEdit.php index 9fa91b6d5..fc001d92a 100644 --- a/application/views/crm/statusgrundEdit.php +++ b/application/views/crm/statusgrundEdit.php @@ -81,6 +81,21 @@   + + + StatusGrund: + + + + +
+ + + + +   + + diff --git a/application/views/crm/statusgrundNew.php b/application/views/crm/statusgrundNew.php index ffcd18429..1c3a5f9e0 100644 --- a/application/views/crm/statusgrundNew.php +++ b/application/views/crm/statusgrundNew.php @@ -51,6 +51,16 @@   + + + StatusGrund: + + + + +
+ + From ccfd038d8a8d729f7a7b03e0d5f36032426e2596 Mon Sep 17 00:00:00 2001 From: manu Date: Fri, 23 Jul 2021 13:32:53 +0200 Subject: [PATCH 2/3] =?UTF-8?q?13938=20Vorr=C3=BCckung=20von=20bezeichnung?= =?UTF-8?q?=5Fmehrsprachig=20auf=20statusgrund=5Fkurzbz=20umgebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentrolledialog.js.php | 314 +++++++++++----------- include/statusgrund.class.php | 28 ++ vilesci/personen/student_vorrueckung.php | 47 ++-- 3 files changed, 213 insertions(+), 176 deletions(-) diff --git a/content/student/studentrolledialog.js.php b/content/student/studentrolledialog.js.php index ef0291fe4..60c247781 100644 --- a/content/student/studentrolledialog.js.php +++ b/content/student/studentrolledialog.js.php @@ -1,155 +1,159 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../config/vilesci.config.inc.php'); - -?> -var StudentRolleStudiensemester_old; -var StudentRolleAusbildungssemester_old; -var StudentRolleStatusgrundDatasource; - -// **** -// * Laedt die Rolle -// **** -function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester) -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - if(status_kurzbz!='') - { - document.getElementById('student-rolle-grid-row-textbox').hidden=false; - document.getElementById('student-rolle-grid-row-menulist').hidden=true; - - StudentRolleStudiensemester_old=studiensemester_kurzbz; - StudentRolleAusbildungssemester_old=ausbildungssemester; - - //Daten holen - var url = '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"]. - getService(Components.interfaces.nsIRDFService); - - var dsource = rdfService.GetDataSourceBlocking(url); - - 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"; - - //RDF parsen - var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" )); - var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" )); - var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" )); - var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" )); - var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" )); - var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); - var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" )); - var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" )); - var neu = false; - StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id); - } - else - { - StudentRolleStudiensemester_old=''; - StudentRolleAusbildungssemester_old=''; - - document.getElementById('student-rolle-grid-row-textbox').hidden=true; - document.getElementById('student-rolle-grid-row-menulist').hidden=false; - - //Defaultwerte bei Neuem Datensatz - var status_kurzbz = 'Interessent'; - var studiensemester_kurzbz=window.opener.getStudiensemester(); - var ausbildungssemester='1'; - var datum = ''; - var bestaetigt_datum = ''; - var bewerbung_abgeschicktamum = ''; - var orgform_kurzbz = ''; - var studienplan_id = ''; - var anmerkung = ''; - var statusgrund_id = ''; - var rt_stufe = ''; - StudentRolleLoadStatusgrund(status_kurzbz); - } - - document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id; - document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz; - document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz; - document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester; - document.getElementById('student-rolle-datum-datum').value=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-menulist-orgform_kurzbz').value=orgform_kurzbz; - MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id); - document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung; - MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id); - MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe); -} - -// **** -// * Speichern der Rolle -// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil -// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt -// * kommt. -// **** -function StudentRolleSpeichern() -{ - if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old)) - window.close(); -} - -function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id) -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund'); - url='rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp(); - - try - { - StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver); - } - catch(e) - {} - - //Alte DS entfernen - var oldDatasources = menulistgrund.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - menulistgrund.database.RemoveDataSource(oldDatasources.getNext()); - } - //Refresh damit die entfernten DS auch wirklich entfernt werden - menulistgrund.builder.rebuild(); - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url); - StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource); - menulistgrund.builder.rebuild(); -} - -/** - * Wenn das Dropdown fuer den Status geaendert wird, dann - * werden die Statusgruende zu diesem Status geladen - */ -function StudentRolleChangeStatus() -{ - var status = document.getElementById('student-rolle-menulist-status_kurzbz').value; - StudentRolleLoadStatusgrund(status); -} \ No newline at end of file +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../config/vilesci.config.inc.php'); + +?> +var StudentRolleStudiensemester_old; +var StudentRolleAusbildungssemester_old; +var StudentRolleStatusgrundDatasource; + +// **** +// * Laedt die Rolle +// **** +function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + if(status_kurzbz!='') + { + document.getElementById('student-rolle-grid-row-textbox').hidden=false; + document.getElementById('student-rolle-grid-row-menulist').hidden=true; + + StudentRolleStudiensemester_old=studiensemester_kurzbz; + StudentRolleAusbildungssemester_old=ausbildungssemester; + + //Daten holen + var url = '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"]. + getService(Components.interfaces.nsIRDFService); + + var dsource = rdfService.GetDataSourceBlocking(url); + + 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"; + + //RDF parsen + var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" )); + var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" )); + var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" )); + var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" )); + var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" )); + var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); + var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" )); + var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" )); + var neu = false; + StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id); + } + else + { + StudentRolleStudiensemester_old=''; + StudentRolleAusbildungssemester_old=''; + + document.getElementById('student-rolle-grid-row-textbox').hidden=true; + document.getElementById('student-rolle-grid-row-menulist').hidden=false; + + //Defaultwerte bei Neuem Datensatz + var status_kurzbz = 'Interessent'; + var studiensemester_kurzbz=window.opener.getStudiensemester(); + var ausbildungssemester='1'; + var datum = ''; + var bestaetigt_datum = ''; + var bewerbung_abgeschicktamum = ''; + var orgform_kurzbz = ''; + var studienplan_id = ''; + var anmerkung = ''; + var statusgrund_id = ''; + var rt_stufe = ''; + StudentRolleLoadStatusgrund(status_kurzbz); + } + + document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id; + document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz; + document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz; + document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester; + document.getElementById('student-rolle-datum-datum').value=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-menulist-orgform_kurzbz').value=orgform_kurzbz; + MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id); + document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung; + MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id); + MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe); +} + +// **** +// * Speichern der Rolle +// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil +// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt +// * kommt. +// **** +function StudentRolleSpeichern() +{ + if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old)) + window.close(); +} + +function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund'); + + if (typeof statusgrund_id !== 'undefined') + url='rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp(); + else + url='rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&ts'+gettimestamp(); + + try + { + StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver); + } + catch(e) + {} + + //Alte DS entfernen + var oldDatasources = menulistgrund.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + menulistgrund.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + menulistgrund.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url); + StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource); + menulistgrund.builder.rebuild(); +} + +/** + * Wenn das Dropdown fuer den Status geaendert wird, dann + * werden die Statusgruende zu diesem Status geladen + */ +function StudentRolleChangeStatus() +{ + var status = document.getElementById('student-rolle-menulist-status_kurzbz').value; + StudentRolleLoadStatusgrund(status); +} diff --git a/include/statusgrund.class.php b/include/statusgrund.class.php index aa084b8c6..6b2c12e03 100644 --- a/include/statusgrund.class.php +++ b/include/statusgrund.class.php @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Andreas Oesterreicher , + Manuela Thamer */ require_once('basis_db.class.php'); @@ -30,6 +31,7 @@ class statusgrund extends basis_db public $aktiv = true; // boolean public $bezeichnung_mehrsprachig; // varchar(255)[] public $bezeichnung; // text[] + public $statusgrund_kurzbz; //varchar(32) /** * Konstruktor - Laedt optional einen Statusgrund @@ -71,6 +73,7 @@ class statusgrund extends basis_db $this->aktiv = $this->db_parse_bool($row->aktiv); $this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $this->beschreibung = $sprache->parseSprachResult('beschreibung', $row); + $this->statusgrund_kurzbz = $row->statusgrund_kurzbz; } else { @@ -120,6 +123,7 @@ class statusgrund extends basis_db $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); + $obj->statusgrund_kurzbz = $row->statusgrund_kurzbz; $this->result[] = $obj; } @@ -166,6 +170,7 @@ class statusgrund extends basis_db $obj->aktiv = $this->db_parse_bool($row->aktiv); $obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $obj->beschreibung = $sprache->parseSprachResult('beschreibung', $row); + $obj->statusgrund_kurzbz = $row->statusgrund_kurzbz; $this->result[] = $obj; } @@ -179,5 +184,28 @@ class statusgrund extends basis_db 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(); + } } ?> diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php index 960413c2a..b32ba06ad 100644 --- a/vilesci/personen/student_vorrueckung.php +++ b/vilesci/personen/student_vorrueckung.php @@ -19,6 +19,7 @@ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * Manuela Thamer < manuela.thamer@technikum-wien.at > */ /** * Vorrückung aller AKTIVEN Studenten. @@ -32,6 +33,7 @@ require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/lehrverband.class.php'); require_once('../../include/studienordnung.class.php'); require_once('../../include/studienplan.class.php'); +require_once('../../include/statusgrund.class.php'); if (!$db = new basis_db()) 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(); //Lehrverbandgruppe anlegen, wenn noch nicht vorhanden @@ -364,14 +376,15 @@ if (isset($_POST['vorr'])) //Eintragen des neuen Status $sql .= "INSERT INTO public.tbl_prestudentstatus (prestudent_id, status_kurzbz, 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).", ". $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($studienplan_id).");"; + $db->db_add_param($studienplan_id).", ". + $db->db_add_param($statusgrundId).");"; } if ($sql != '') { @@ -408,7 +421,7 @@ $outp .= ' Studiengang: - '; //Auswahl Studiengang foreach ($studiengang as $stg) @@ -420,7 +433,7 @@ foreach ($studiengang as $stg) $url .= "&studiensemester_kurzbz_akt=$studiensemester_kurzbz_akt"; $url .= "&studiensemester_kurzbz_zk=$studiensemester_kurzbz_zk"; - $outp .= ""; if (!isset($s[$stg->studiengang_kz])) $s[$stg->studiengang_kz] = new stdClass(); @@ -435,17 +448,12 @@ $outp .= ' $outp .= " Angezeigtes Studiensemester: - \n"; if (isset($ss_arr) && is_array($ss_arr)) { foreach ($ss_arr as $sts) { - if ($studiensemester_kurzbz == $sts) - $sel = " selected "; - else - $sel = ''; - $url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz"; $url .= "&semester=$semester"; $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_zk=$studiensemester_kurzbz_zk"; - $outp .= ""; + $outp .= ""; } } $outp .= " @@ -493,17 +501,12 @@ $outp .= ' Ausgangs-Studiensemester: - '; if (isset($ss_arr) && is_array($ss_arr)) { foreach ($ss_arr as $sts2) { - if ($studiensemester_kurzbz_akt == $sts2) - $sel2 = " selected "; - else - $sel2 = ''; - $url = $_SERVER['PHP_SELF']."?stg_kz=$stg_kz"; $url .= "&semester=$semester"; $url .= "&semesterv=$semesterv"; @@ -511,7 +514,7 @@ if (isset($ss_arr) && is_array($ss_arr)) $url .= "&studiensemester_kurzbz_akt=$sts2"; $url .= "&studiensemester_kurzb_zk=$studiensemester_kurzbz_zk"; - $outp .= ""; + $outp .= ""; } } $outp .= " @@ -547,7 +550,7 @@ $outp .= 'alle -- $outp .= " Ziel-Studiensemester: - \n"; 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_zk=$sts3"; - $outp .= ""; + $outp .= ""; } } $outp .= " \n @@ -617,11 +620,12 @@ if ($result_std != 0) $row = $db->db_fetch_object($result_std, $i); $qry_status = " 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 public.tbl_prestudentstatus JOIN public.tbl_prestudent USING(prestudent_id) LEFT JOIN lehre.tbl_studienplan USING(studienplan_id) + LEFT JOIN public.tbl_status_grund USING (statusgrund_id) WHERE person_id=".$db->db_add_param($row->person_id, 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)) { $status_kurzbz = $row_status->status_kurzbz; + $statusgrund_kurzbz = $row_status->statusgrund_kurzbz; $ausbildungssemester = $row_status->ausbildungssemester; $studienplan_id = $row_status->studienplan_id; $studienplan_bezeichnung = $row_status->bezeichnung; From 7bd68775e9638674138326c37b3881c5c75ff574 Mon Sep 17 00:00:00 2001 From: manu Date: Fri, 23 Jul 2021 13:44:28 +0200 Subject: [PATCH 3/3] =?UTF-8?q?statusgrund=5Fkurzbz=20in=20dbupdate=20erg?= =?UTF-8?q?=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/dbupdate_3.3.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 407a4aa24..39be74dfb 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4781,6 +4781,19 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruef } } +//Add Column statusgrund_kurzbz to public.tbl_status_grund +if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32); + ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz); + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_status_grund '.$db->db_last_error().'
'; + else + echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5002,7 +5015,7 @@ $tabellen=array( "public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"), "public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), - "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), + "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"), "public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"),