buchung kann nun trotz vorhandener buchung gebucht werden

This commit is contained in:
ma0048
2022-02-18 10:30:40 +01:00
parent 071b361959
commit ae15c922b8
2 changed files with 75 additions and 38 deletions
+39 -38
View File
@@ -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";
}
}
}
+36
View File
@@ -3044,6 +3044,20 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
return false;
}
var tocheck = <?php echo (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK) ? 'true' : 'false' ?>;
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 = '<?php echo APP_ROOT ?>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