diff options
Diffstat (limited to 'patron.php')
| -rw-r--r-- | patron.php | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/patron.php b/patron.php new file mode 100644 index 0000000..6a71ed3 --- /dev/null +++ b/patron.php @@ -0,0 +1,224 @@ +<?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. + */ +?> +<? +/* 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; + + $sql = " +SELECT + Förderer.*, + Förderer.ID AS FoerdID, + Organisationen.Name AS Organisation, + Organisationen.ort, Organisationen.plz, Organisationen.strasse, Organisationen.adresszusatz, + Organisationen.ID AS OrgaID, + Zuständig AS ZustID, + DATE(Förderer.`Vertrag läuft aus`) AS `Vertrag läuft aus`, + zuwendungen AS APZuwID, + `Ansprechpartner Stipendiaten` AS APID, + `im Newsletter erwähnt`, + '' AS `A`, + matching +FROM Förderer +LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID +WHERE Förderer.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 = 'Förderer: <span class="pii">' . $l->Organisation . '</span> (ID ' . $_GET['id'] . ')'; + 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/delpatron.php?id=<?=$foerdID?>';"><i class="fas fa-trash-alt"></i></sup> Datensatz löschen</button> + +<? + global $persXorga; + $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 = "patron"; + $entrytable = "Förderer"; + $def = [ + "Allgemein", + [10, '_OrgaID', '_=6Organisation', '=3legal|rechtsformen~Rechtsform'], + [10, '_A~ ', '_=3strasse', '_=3adresszusatz', '_plz', '_=2ort'], + [10, '_A~ ', '=9altname~Abweichende Fördererbezeichnung (als Auftritt gegenüber Stipendiaten)'], + [10, '_ZustID', '=4Zuständig|demo', '=5Kontakt hergestellt'], + "Allgemeine Vertragsbeziehungen", + [4, 'AnfrageWF#isodate~Anfrage (Weiter)-finanzierung', 'Mittelanforderung#isodate~Mittelanforderung vom', 'Annahmeanordnung#isodate~Annahmeanordnung vom', 'Zusage#isodate~Zusage Förderung am'], + [4, 'Vertrag läuft aus#isodate', '+im Newsletter erwähnt', '+SEPA-Lastschrift erteilt~SEPA', '+Zahlungsaufforderung gewünscht'], + [10, '_APZuwID', '=4zuwendungen|persXorga~Ansprechpartner Zuwendungen', '_APID', '=4Ansprechpartner Stipendiaten|persXorga~Erster Ansprechp./Danksagungskontakt für die Stipendiaten'], + ['Zahlungsanmerkung'], + ['*Widmung'], + ['*notes~Generelle Bemerkungen'] + ]; + include __DIR__ . '/autoform.php'; + $stmt->reset(); +})(); + +(function () use ($foerdID, $orgaID) { + $globstring = "{" . $foerdID . "patron," . $orgaID . "orga}*_"; + require_once __DIR__ . '/doc.php'; +})(); + +(function () use ($foerdID) { + if (!assureInt($foerdID)) return; + + $id = "contractsXpatron3"; + $title = "Verträge zum Förderer"; + $off = true; + $sql_a = " +SELECT contracts.id AS VertrID, CONCAT(calls.name, ' [', `call`, ']') AS 'Call', ls AS Stipendien, remark, ss AS Sozial, (ls * 12 * 150 + ss * 12 * 150) 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 + 150 * contracts.ls) * 12) - IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0)) AS Fehlbetrag, +IF(GROUP_CONCAT(DATE(Spenden.Geldeingang) SEPARATOR ', ') IS NULL, CONCAT(GROUP_CONCAT(DATE(SuperSpenden.Geldeingang) SEPARATOR ', '), '*'), GROUP_CONCAT(DATE(Spenden.Geldeingang) SEPARATOR ', ')) AS Geldeingänge, +contact AS PersID, CONCAT(Personen.Nachname, ', ', Personen.Vorname) AS `Ansprechpartner`, valid_from AS `Gültig von`, valid_to AS `Gültig bis` +FROM contracts +LEFT JOIN Personen ON contracts.contact = Personen.ID +LEFT JOIN calls ON contracts.`call` = calls.shorthand +LEFT JOIN Förderer ON contracts.patron = Förderer.ID +LEFT JOIN Spenden ON contracts.id = Spenden.contract +LEFT JOIN Spenden AS SuperSpenden ON Spenden.SuperID = SuperSpenden.ID +"; + $sql = $sql_a . ' WHERE contracts.patron=' . $foerdID; + $sql .= " GROUP BY contracts.id "; + $thdef = ['VertrID', 'Call', 'Stipendien', 'remark', 'Summe', 'Eingang', 'Fehlbetrag', 'Geldeingänge', 'PersID', 'Ansprechpartner', 'Gültig von', 'Gültig bis']; + $order = '[[2, "desc"], [5, "desc"]]'; + $checkboxes = true; + $idcell = "VertrID"; + $bottom = <<<EOD +<div class="admin_actionsbelow"> + Ausgewählte + <button class="medium" style="background: darkorange;" onclick="return delContractPatron();"><i class="fas fa-trash-alt"></i> löschen</button> +</div> +<script> +function delContractPatron() { + $.ajaxSetup({async:false}); + $.ajax({ + type: 'POST', + url: '/db/main/delcontract.php', + data: { + 'ids': getIDs_$id() + } + }); + $.ajaxSetup({async:true}); + location.reload(); + return false; +} +</script> +EOD; + $ajax = $nospinner = true; + include __DIR__ . '/autotable.php'; +})(); + +include_once __DIR__ . '/notesXpatron.php'; + +(function () use ($foerdID) { + if (!assureInt($foerdID)) return; + + $id = "stipsXpatron_Patron"; + $title = "Stipendien zum Förderer"; + $off = true; + $sql_a = " +SELECT + Stipendien.ID AS StipID, + Personen.Nachname, Personen.Vorname, Personen.ID AS PersID, Personen.Email, + Stipendien.Jahr, + CONCAT(DATE(Stipendien.Förderbeginn), ' – ', DATE(Stipendien.Förderende)) AS Zeitraum, + HSOrga.Name AS Hochschule, + Studiengänge.Name AS Studiengang, + Förderarten.Name AS Förderart +FROM Stipendien +LEFT JOIN Förderer ON Stipendien.Förderer = Förderer.ID +LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID +LEFT JOIN Hochschulen ON Stipendien.Hochschule = Hochschulen.ID +LEFT JOIN Organisationen AS HSOrga ON Hochschulen.Organisation = HSOrga.ID +LEFT JOIN Studiengänge ON Stipendien.Studiengang = Studiengänge.ID +LEFT JOIN Förderarten ON Stipendien.Förderart = Förderarten.ID +LEFT JOIN Personen ON Stipendien.Person = Personen.ID +"; + $sql = $sql_a . ' WHERE Stipendien.Förderer=' . $foerdID; + $order = '[[6, "desc"], [2, "asc"], [3, "asc"]]'; + $thdef = ['StipID', 'Nachname', 'Vorname', 'PersID', 'Email', 'Jahr', 'Zeitraum', 'Hochschule', 'Studiengang', 'Förderart']; + $checkboxes = true; + $idcell = "StipID"; + $ajax = $nospinner = true; + include __DIR__ . '/autotable.php'; + + $email_sql = preg_replace('/^\s*SELECT\s/', 'SELECT Stipendien.ID AS RUID, ', $sql_a) . ' WHERE Stipendien.ID IN '; + include __DIR__ . '/autoactions.php'; + include __DIR__ . '/autoemail.php'; + include __DIR__ . '/autoevent.php'; +})(); +?> + +<span id="insert_persXorga"></span> + +<?php +(function () use ($foerdID) { + if (!assureInt($foerdID)) return; + + $id = "donationsXcontractsXpatron2"; + $title = "Spenden zu Verträgen des Förderers"; + $sql = " +SELECT + Spenden.ID AS SpendenID, + Spenden.Betrag, + DATE(Spenden.Geldeingang) AS Geldeingang, + Spenden.contract AS VertrID, + IF(Spenden.contract > 0, CONCAT(contracts.`call`, '-', Organisationen.Name), '') AS Vertrag, + Spenden.Person AS PersID, + Personen.Nachname, + Personen.Vorname +FROM Spenden +LEFT JOIN Personen ON Spenden.Person = Personen.ID +LEFT JOIN contracts ON Spenden.contract = contracts.ID +LEFT JOIN Förderer ON contracts.patron = Förderer.ID +LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID +WHERE contracts.patron=" . $foerdID; + $order = '[[1, "desc"]]'; + $thdef = ['SpendenID', 'Betrag', 'Geldeingang', 'VertrID', 'Vertrag', 'PersID', 'Nachname', 'Vorname']; + $ajax = $nospinner = true; + include __DIR__ . '/autotable.php'; +})(); + +include_once __DIR__ . '/donationsXorga.php'; +include_once __DIR__ . '/eventsXorga.php'; +include_once __DIR__ . '/persXorga.php'; + +require_once __DIR__ . "/jumper.php"; +include_once __DIR__ . '/footer.php'; |
