diff options
Diffstat (limited to 'contract.php')
| -rw-r--r-- | contract.php | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/contract.php b/contract.php new file mode 100644 index 0000000..e180142 --- /dev/null +++ b/contract.php @@ -0,0 +1,111 @@ +<?php +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ +?> +<?php +/* vim: set ts=4 sw=4 et : */ + +require_once __DIR__ . "/check_auth.php"; +require_once __DIR__ . "/../includes/common.php"; +require_once __DIR__ . "/lookup.php"; +require_once __DIR__ . "/lookup_more.php"; + +(function () use ($mysqli) { + global $foerdID, $persID, $orgaID, $persXorga; + + $sql = " +SELECT + contracts.*, + contracts.contact AS APID, + Förderer.*, + Förderer.ID AS FoerdID, + Organisationen.Name AS Förderer, + Organisationen.ID AS OrgaID, + contracts.id AS ID, + ((150 * contracts.ss_months) + (150 * contracts.ls_months)) AS Summe, + CONCAT(IF(Förderer.`SEPA-Lastschrift erteilt`, 'SEPA|', ''), IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0)) AS Eingang, + IF(Förderer.`SEPA-Lastschrift erteilt`, 0, ((150 * contracts.ss_months) + (150 * contracts.ls_months)) - IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0)) AS Fehlbetrag +FROM contracts +LEFT JOIN Förderer ON contracts.patron = Förderer.ID +LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID +LEFT JOIN Spenden ON contracts.id = Spenden.contract +WHERE contracts.id=? +"; + $stmt = $mysqli->prepare($sql); + $stmt->bind_param('i', $_GET['id']); + $stmt->execute(); + $r = $stmt->get_result(); + $l = $r->fetch_object(); + $foerdID = $l->FoerdID; + $persID = $l->PersID; + $orgaID = $l->OrgaID; + + $_title = 'Vertrag (ID ' . $_GET['id'] . ')' . ' zu: <span class="pii">' . $l->Förderer . '</span>'; + include_once __DIR__ . "/header.php"; +?> + +<h1 style="display: inline-block;"><?=$_title?></h1> + <button class="small" onclick="showNewNoteDialog({'foerdid': <?=$foerdID?>, 'orgaid': <?=$orgaID?>});"><i class="fas fa-sticky-note"></i> Notiz anlegen</button> + <button class="small" style="background-color: red;" onclick="location.href='/db/main/delcontractc.php?id=<?=$l->ID?>';"><i class="fas fa-trash-alt"></i></sup> Datensatz löschen</button> + +<?php + $sql = "SELECT Personen.ID, Personen.Nachname, Personen.Vorname FROM Personen_Organisationen INNER JOIN Personen ON Personen_Organisationen.Person = Personen.ID WHERE Personen_Organisationen.Organisation = ? ORDER BY Personen.Nachname"; + $stmt = $mysqli->prepare($sql); + $stmt->bind_param('i', $orgaID); + $stmt->bind_result($id, $nachname, $vorname); + $stmt->execute(); + $persXorga = []; + while ($stmt->fetch()) { + $persXorga[$id] = $nachname . ", " . $vorname; + } + $stmt->reset(); + + $id = "contract"; + $entrytable = "contracts"; + $def = [ + "Förderer", + [10, '_FoerdID', '_=3Förderer', '_=3legal|rechtsformen~Rechtsform', '_=3Zuständig|demo'], + "Vertrag", + [10, '=2call#string|callsByID', 'valid_from#isodate~gültig von', 'valid_to#isodate~gültig bis', '=2ls#number~Anzahl Leistungsstipendien', 'ls_months#number~Monate', '=2ss#number~Anzahl Sozialstipendien', 'ss_months#number~Monate'], + [10, '_APID', '=5contact|persXorga~Ansprechpartner', '_Summe', '_Eingang', '_=2Fehlbetrag'], + [10, '=9remark~Anmerkung', '+=1kontrolliert'], + ['*widmung'], + ]; + + include __DIR__ . '/autoform.php'; +})(); + +(function () { + $title = "Spenden zum Vertrag"; + $id = "donationsXcontract2"; + $sql = " +SELECT + Spenden.ID AS SpendenID, + Spenden.Person AS PersID, + Personen.Nachname, + Personen.Vorname, + Spenden.Organisation AS OrgaID, + Organisationen.Name AS Organisation, + Spenden.Betrag, + DATE(Spenden.Geldeingang) AS Geldeingang +FROM Spenden +LEFT JOIN Personen ON Spenden.Person = Personen.ID +LEFT JOIN Organisationen ON Spenden.Organisation = Organisationen.ID +WHERE Spenden.contract=" . $_GET['id']; + + $thdef = ['SpendenID', 'PersID', 'Nachname', 'Vorname', 'OrgaID', 'Organisation', 'Betrag', 'Geldeingang']; + $order = '[[1, "desc"]]'; + $ajax = $nospinner = true; + include __DIR__ . '/autotable.php'; +})(); + +include_once __DIR__ . '/footer.php'; |
