mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
verhinderte buchungen, die bereits vorhanden sind
+ neue configeintrag
This commit is contained in:
@@ -2288,33 +2288,47 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ($person_ids as $person_id)
|
||||
$exists = false;
|
||||
if (defined('FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK') && (in_array($_POST['buchungstyp_kurzbz'], unserialize(FAS_DOPPELTE_BUCHUNGSTYPEN_CHECK))))
|
||||
{
|
||||
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;
|
||||
$konto = new konto();
|
||||
$exists = $konto->checkDoppelteBuchung($person_ids, $_POST['studiensemester_kurzbz'], $_POST['buchungstyp_kurzbz']);
|
||||
}
|
||||
|
||||
if($buchung->save())
|
||||
if ($exists)
|
||||
{
|
||||
$errormsg = 'Buchung bereits vorhanden.';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ($person_ids as $person_id)
|
||||
{
|
||||
if($person_id!='')
|
||||
{
|
||||
$data = $buchung->buchungsnr;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg .= "Fehler beim Speichern: $buchung->errormsg\n";
|
||||
$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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -957,6 +957,30 @@ class konto extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function checkDoppelteBuchung($person_ids, $stsem, $typ)
|
||||
{
|
||||
$qry = "SELECT betrag
|
||||
FROM public.tbl_konto
|
||||
JOIN public.tbl_benutzer benutzer USING(person_id)
|
||||
WHERE person_id IN (".$this->implode4SQL(array_filter($person_ids)).")
|
||||
AND studiensemester_kurzbz = ".$this->db_add_param($stsem)."
|
||||
AND buchungstyp_kurzbz = ".$this->db_add_param($typ)."
|
||||
GROUP BY buchungsnr";
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($this->db_num_rows($result) > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user