From b854c80a491cc11ded99d6cba158554e8821c6cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Tue, 15 May 2007 15:07:31 +0000 Subject: [PATCH] FasOnline Kontoverwaltung --- content/fasoverlay.js.php | 1 + content/student/studentDBDML.php | 151 ++++++++ content/student/studentenoverlay.xul.php | 1 + content/student/studentkontoneudialog.js.php | 82 +++++ content/student/studentkontoneudialog.xul.php | 99 +++++ content/student/studentkontooverlay.xul.php | 21 +- content/student/studentoverlay.js.php | 347 +++++++++++++++++- include/konto.class.php | 74 +++- rdf/konto.rdf.php | 7 +- skin/cis.css | 8 +- skin/tempus.css | 4 + 11 files changed, 766 insertions(+), 29 deletions(-) create mode 100644 content/student/studentkontoneudialog.js.php create mode 100644 content/student/studentkontoneudialog.xul.php diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 3fec3ef47..deccf1351 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -226,6 +226,7 @@ function onVerbandSelect(event) StudentDetailReset(); StudentDetailDisableFields(true); StudentPrestudentDisableFields(true); + StudentKontoDisableFields(true); } catch(e) { diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index b195e492f..9d84380c4 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -40,6 +40,7 @@ require_once('../../include/student.class.php'); require_once('../../include/prestudent.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/akte.class.php'); +require_once('../../include/konto.class.php'); $user = get_uid(); @@ -656,6 +657,156 @@ if(!$error) $errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['akte_id']; } } + elseif(isset($_POST['type']) && $_POST['type']=='savebuchung') // ***** KONTO ***** + { + //Speichert eine Buchung + if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr'])) + { + $buchung = new konto($conn, null, true); + + if($buchung->load($_POST['buchungsnr'])) + { + $buchung->betrag = $_POST['betrag']; + $buchung->buchungsdatum = $_POST['buchungsdatum']; + $buchung->buchungstext = $_POST['buchungstext']; + $buchung->mahnspanne = $_POST['mahnspanne']; + $buchung->buchungstyp_kurzbz = $_POST['buchungstyp_kurzbz']; + $buchung->new = false; + $buchung->updateamum = date('Y-m-d H:i:s'); + $buchung->updatevon = $user; + + if($buchung->save()) + { + $return = true; + } + else + { + $return = false; + $errormsg = 'Fehler beim Speicher:'.$buchung->errormsg; + } + } + else + { + $errormsg = 'Buchung wurde nicht gefunden:'.$_POST['buchungsnr']; + $return = false; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['buchungsnr']; + } + } + elseif(isset($_POST['type']) && $_POST['type']=='savegegenbuchung') + { + //Speichert eine Buchung + if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr'])) + { + $buchung = new konto($conn, null, true); + + if($buchung->load($_POST['buchungsnr'])) + { + if($buchung->buchungsnr_verweis=='') + { + $buchung->betrag = $buchung->betrag*(-1); + $buchung->buchungsdatum = date('Y-m-d'); + $buchung->mahnspanne = '0'; + $buchung->buchungsnr_verweis = $buchung->buchungsnr; + $buchung->new = true; + $buchung->insertamum = date('Y-m-d H:i:s'); + $buchung->insertvon = $user; + + if($buchung->save()) + { + $return = true; + } + else + { + $return = false; + $errormsg = 'Fehler beim Speichern:'.$buchung->errormsg; + } + } + else + { + $return = false; + $errormsg = 'Gegenbuchungen koennen nur auf die obersten Buchungen getaetigt werden'; + } + } + else + { + $errormsg = 'Buchung wurde nicht gefunden:'.$_POST['buchungsnr']; + $return = false; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['buchungsnr']; + } + } + elseif(isset($_POST['type']) && $_POST['type']=='deletebuchung') + { + //Loescht eine Buchung + if(isset($_POST['buchungsnr']) && is_numeric($_POST['buchungsnr'])) + { + $buchung = new konto($conn, null, true); + + if($buchung->delete($_POST['buchungsnr'])) + { + $return = true; + } + else + { + $errormsg = $buchung->errormsg; + $return = false; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'.$_POST['buchungsnr']; + } + } + elseif(isset($_POST['type']) && $_POST['type']=='neuebuchung') + { + //Speichert eine neue Buchung + //Gleichzeitiges speichern mehrerer Personen ist moeglich + //Personen werden durch ';' getrennt + $person_ids = explode(';',$_POST['person_ids']); + $errormsg = ''; + foreach ($person_ids as $person_id) + { + if($person_id!='') + { + $buchung = new konto($conn, null, true); + $buchung->person_id = $person_id; + $buchung->studiengang_kz = $_POST['studiengang_kz']; + $buchung->studiensemester_kurzbz = $semester_aktuell; + $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->insertamum = date('Y-m-d H:i:s'); + $buchung->insertvon = $user; + $buchung->new = true; + + if($buchung->save()) + { + $data = $buchung->buchungsnr; + } + else + { + $errormsg .= "Fehler bei $person_id: $buchung->errormsg\n"; + } + } + } + if($errormsg=='') + $return = true; + else + $return = false; + } else { $return = false; diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php index 674ff0d71..98e7e405b 100644 --- a/content/student/studentenoverlay.xul.php +++ b/content/student/studentenoverlay.xul.php @@ -57,6 +57,7 @@ echo '--> +