diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 290c2e84b..4a4b64201 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -2272,6 +2272,21 @@ if(!$error) $errormsg = 'Fehlerhafte Parameteruebergabe'; } } + elseif(isset($_POST['type']) && $_POST['type']=='checkbuchung') + { + $person_ids = explode(';',$_POST['person_ids']); + $exists = false; + if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && (in_array($_POST['buchungstyp_kurzbz'], unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK)))) + { + $konto = new konto(); + $exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $_POST['buchungstyp_kurzbz']); + } + + if($exists) + $return = true; + else + $return = false; + } elseif(isset($_POST['type']) && $_POST['type']=='neuebuchung') { //Speichert eine neue Buchung @@ -2288,47 +2303,33 @@ if(!$error) } else { - $exists = false; - if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && (in_array($_POST['buchungstyp_kurzbz'], unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK)))) + foreach ($person_ids as $person_id) { - $konto = new konto(); - $exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $_POST['buchungstyp_kurzbz']); - } - - if ($exists) - { - $errormsg = 'Buchung bereits vorhanden.'; - } - else - { - foreach ($person_ids as $person_id) + if($person_id!='') { - if($person_id!='') - { - $buchung = new konto(); - $buchung->person_id = $person_id; - $buchung->studiengang_kz = $_POST['studiengang_kz']; - $buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; - $buchung->buchungsnr_verweis=''; - $buchung->betrag = $_POST['betrag']; - $buchung->buchungsdatum = $_POST['buchungsdatum']; - $buchung->buchungstext = $_POST['buchungstext']; - $buchung->mahnspanne = $_POST['mahnspanne']; - $buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz']; - $buchung->credit_points = $_POST["credit_points"]; - $buchung->insertamum = date('Y-m-d H:i:s'); - $buchung->insertvon = $user; - $buchung->anmerkung = $_POST['anmerkung']; - $buchung->new = true; + $buchung = new konto(); + $buchung->person_id = $person_id; + $buchung->studiengang_kz = $_POST['studiengang_kz']; + $buchung->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + $buchung->buchungsnr_verweis=''; + $buchung->betrag = $_POST['betrag']; + $buchung->buchungsdatum = $_POST['buchungsdatum']; + $buchung->buchungstext = $_POST['buchungstext']; + $buchung->mahnspanne = $_POST['mahnspanne']; + $buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz']; + $buchung->credit_points = $_POST["credit_points"]; + $buchung->insertamum = date('Y-m-d H:i:s'); + $buchung->insertvon = $user; + $buchung->anmerkung = $_POST['anmerkung']; + $buchung->new = true; - if($buchung->save()) - { - $data = $buchung->buchungsnr; - } - else - { - $errormsg .= "Fehler beim Speichern: $buchung->errormsg\n"; - } + if($buchung->save()) + { + $data = $buchung->buchungsnr; + } + else + { + $errormsg .= "Fehler beim Speichern: $buchung->errormsg\n"; } } } diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index ffb50609f..9af82c4f1 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -3044,6 +3044,20 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz) return false; } + var tocheck = ; + + var exists = false; + + if (tocheck) + { + exists = StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz); + } + if (exists) + { + if(!confirm('Die Buchung ist bereits vorhanden. Trotzdem fortfahren?')) + return false; + } + req.add('type', 'neuebuchung'); req.add('person_ids', person_ids); @@ -3075,6 +3089,28 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz) return true; } } +// **** +// * Prüft ob die Buchung bereits vorhanden ist +// **** +function StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kurzbz, studiengang_kz) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + var url = 'content/student/studentDBDML.php'; + var req = new phpRequest(url,'',''); + req.add('type', 'checkbuchung'); + + req.add('person_ids', person_ids); + req.add('studiensemester_kurzbz', studiensemester_kurzbz); + req.add('buchungstyp_kurzbz', buchungstyp_kurzbz); + req.add('studiengang_kz', studiengang_kz); + + var response = req.executePOST(); + + var val = new ParseReturnValue(response); + + return(val.dbdml_return); +} // ***** // * Druckt eine Zahlungsbestaetigung aus