summaryrefslogtreecommitdiff
path: root/patron.php
diff options
context:
space:
mode:
Diffstat (limited to 'patron.php')
-rw-r--r--patron.php224
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>
+&nbsp;<button class="small" onclick="showNewNoteDialog({'foerdid': <?=$foerdID?>, 'orgaid': <?=$orgaID?>});"><i class="fas fa-sticky-note"></i> Notiz anlegen</button>
+&nbsp;<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), ' &ndash; ', 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';