From 458db654c2b4d2df1b3e96731334e3a71e76cd35 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 15 May 2024 11:43:44 +0200 Subject: [PATCH] Bearbeiten Statusgrund --- content/student/studentDBDML.php | 71 ++++++++++++++++++++++ content/student/studentoverlay.js.php | 64 +++++++++++++++++++ content/student/studentrolledialog.js.php | 6 ++ content/student/studentrolledialog.xul.php | 12 +++- 4 files changed, 151 insertions(+), 2 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e1bcffd84..f8b47cf48 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -1637,6 +1637,77 @@ if(!$error) } } } + elseif(isset($_POST['type']) && $_POST['type']=='updateStatusgrund') + { + //Statusgrund speichern + if(!$error) + { + if(isset($_POST['prestudent_id'])) + { + $rolle = new prestudent(); + if(!$rolle->load($_POST['prestudent_id'])) + { + $error = true; + $errormsg = 'Prestudent wurde nicht gefunden'; + } + else + { + //Berechtigung pruefen + if(!$rechte->isBerechtigt('assistenz',$rolle->studiengang_kz,'suid') && + !$rechte->isBerechtigt('admin',$rolle->studiengang_kz, 'suid')) + { + $error = true; + $errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang'; + } + } + + if(!$error) + { + $error = true; + $errormsg = " in updateStatusgrund " . $_POST['statusgrund_id']; + } + + $rolle = new prestudent(); + $rolle->prestudent_id = $_POST['prestudent_id']; + + $rolle->status_kurzbz = $_POST['status_kurzbz']; + $rolle->ausbildungssemester_old = $_POST['ausbildungssemester_old']; + $rolle->studiensemester_old = $_POST['studiensemester_old']; + $rolle->statusgrund_id = $_POST['statusgrund_id']; + + + $rolle->datum = $_POST['datum']; + $rolle->bestaetigtam = $_POST['bestaetigtam']; + if($_POST['bestaetigtam']=='') + $rolle->bestaetigtvon = null; + $rolle->updateamum = date('Y-m-d H:i:s'); + $rolle->updatevon = $user; + $rolle->new = false; + + $rolle->ausbildungssemester = $_POST['ausbildungssemester']; + $rolle->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + $rolle->bewerbung_abgeschicktamum = $_POST['bewerbung_abgeschicktamum']; + $rolle->anmerkung_status = $_POST['anmerkung']; + + $rolle->orgform_kurzbz = $_POST['orgform_kurzbz']; + $rolle->studienplan_id = $_POST['studienplan_id']; + $rolle->rt_stufe = $_POST['rt_stufe']; + + if($rolle->save_rolle()) + $return = true; + else + { + $return = false; + $errormsg = $rolle->errormsg; + } + } + else + { + $return = false; + $errormsg = 'Prestudent_id muss angegeben werden'; + } + } + } elseif(isset($_POST['type']) && $_POST['type']=='rolleVorruecken') { $errormsg=''; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index 8be20d32d..dfb2a77c3 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -2360,6 +2360,70 @@ function StudentRolleSpeichern(dialog, studiensemester_old, ausbildungssemester_ } } + + // **** + // * Update Statusgrund aus BearbeitenDialog + // **** + function StudentUpdateStatusgrund(dialog, studiensemester_old, ausbildungssemester_old) + { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + prestudent_id = dialog.getElementById('student-rolle-textbox-prestudent_id').value; + if(studiensemester_old=='') + status_kurzbz = dialog.getElementById('student-rolle-menulist-status_kurzbz').value; + else + status_kurzbz = dialog.getElementById('student-rolle-textbox-status_kurzbz').value; + studiensemester_kurzbz = dialog.getElementById('student-rolle-menulist-studiensemester').value; + ausbildungssemester = dialog.getElementById('student-rolle-menulist-ausbildungssemester').value; + datum = dialog.getElementById('student-rolle-datum-datum').value; + bestaetigt_datum = dialog.getElementById('student-rolle-datum-bestaetigt_datum').value; + orgform_kurzbz = dialog.getElementById('student-rolle-menulist-orgform_kurzbz').value; + studienplan_id = dialog.getElementById('student-rolle-menulist-studienplan').value; + anmerkung = dialog.getElementById('student-rolle-textbox-anmerkung').value; + rt_stufe = dialog.getElementById('student-rolle-menulist-stufe').value; + statusgrund_id = dialog.getElementById('student-rolle-menulist-statusgrund').value; + bewerbung_abgeschicktamum = dialog.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value; + + + var url = 'content/student/studentDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'updateStatusgrund') + + req.add('status_kurzbz', status_kurzbz); + req.add('prestudent_id', prestudent_id); + req.add('studiensemester_kurzbz', studiensemester_kurzbz); + req.add('studiensemester_old', studiensemester_old); + req.add('ausbildungssemester_old', ausbildungssemester_old); + req.add('ausbildungssemester', ausbildungssemester); + req.add('datum', ConvertDateToISO(datum)); + req.add('bestaetigtam', ConvertDateToISO(bestaetigt_datum)); + req.add('orgform_kurzbz', orgform_kurzbz); + req.add('studienplan_id', studienplan_id); + req.add('anmerkung', anmerkung); + req.add('rt_stufe', rt_stufe); + req.add('statusgrund_id', statusgrund_id); + req.add('bewerbung_abgeschicktamum', bewerbung_abgeschicktamum); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + + if (!val.dbdml_return) + { + if(val.dbdml_errormsg=='') + alert(response) + else + alert(val.dbdml_errormsg) + return false; + } + else + { + StudentDetailRolleTreeDatasource.Refresh(false); + SetStatusBarText('Prestudentstatusgrund wird aktualisiert'); + return true; + } + } + // **** // * Anmeldungsdatum fuer den RT wird auf das Aktuelle Datum gesetzt // **** diff --git a/content/student/studentrolledialog.js.php b/content/student/studentrolledialog.js.php index 60c247781..897d09bac 100644 --- a/content/student/studentrolledialog.js.php +++ b/content/student/studentrolledialog.js.php @@ -114,6 +114,12 @@ function StudentRolleSpeichern() window.close(); } +function StudentUpdateStatusgrund() +{ + if(window.opener.StudentUpdateStatusgrund(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old)) + window.close(); +} + function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); diff --git a/content/student/studentrolledialog.xul.php b/content/student/studentrolledialog.xul.php index 88a357b6a..dc0ab73c5 100644 --- a/content/student/studentrolledialog.xul.php +++ b/content/student/studentrolledialog.xul.php @@ -101,7 +101,7 @@ if($prestudent_id!='')