summaryrefslogtreecommitdiff
path: root/contracts_common.php
diff options
context:
space:
mode:
Diffstat (limited to 'contracts_common.php')
-rw-r--r--contracts_common.php146
1 files changed, 146 insertions, 0 deletions
diff --git a/contracts_common.php b/contracts_common.php
new file mode 100644
index 0000000..84b68ff
--- /dev/null
+++ b/contracts_common.php
@@ -0,0 +1,146 @@
+<?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";
+include_once __DIR__ . "/header.php";
+require_once __DIR__ . "/lookup.php";
+
+doTitle();
+
+if (isset($_GET['apfi']) && $_GET['apfi'] == 1) {
+?>
+ <p>Der/Die Ansprechpartner Finanzen (apfi) werden für den E-Mail-Versand benutzt. <a href="?apfi=0">Auf AP Zuwendungen zurückschalten.</a></p>
+<p>Der Ansprechpartner Zuwendungen ist Adressat des PDF-Dokuments.</p>
+<? } else { ?>
+ <p>Der Ansprechpartner Zuwendungen des Förderers wird für den E-Mail-Versand benutzt. <a href="?apfi=1">Auf AP Finanzen schalten.</a></p>
+ <p>Der Ansprechpartner Zuwendungen ist Adressat des PDF-Dokuments.</p>
+<?
+}
+
+(function () use ($mysqli, $_constraint) {
+ $sql = "
+SELECT
+ contracts.id AS VertrID, CONCAT(calls.name, ' [', `call`, ']') as 'Call', patron AS FoerdID, Organisationen.Name AS Förderer,
+ Personen.Nachname AS Zuständig,
+ ls AS Stipendien,
+ contracts.remark,
+ 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,
+ GROUP_CONCAT(DATE(Spenden.Geldeingang) SEPARATOR ', ') AS Geldeingänge,
+ CONCAT(DATE(contracts.valid_from), ' bis ', DATE(contracts.valid_to)) AS 'Gültigkeit',
+ DATE(Förderer.`Vertrag läuft aus`) AS 'allgemeiner Auslauf',
+ contracts.kontrolliert,
+ `Zahlungsaufforderung gewünscht`
+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
+LEFT JOIN calls ON contracts.`call` = calls.shorthand
+LEFT JOIN Personen ON Förderer.Zuständig = Personen.ID
+GROUP BY contracts.id
+";
+ $sql .= $_constraint;
+ $stmt = $mysqli->prepare($sql);
+ $stmt->execute();
+ $r = $stmt->get_result();
+ $id = "contractscommon4";
+ $idcell = "VertrID";
+ $idcellreal = "id";
+ $order = '[[4, "asc"]]';
+ $entrytable = 'contracts';
+ $types = [
+ 'kontrolliert' => 'checkbox',
+ ];
+ $editable = [
+ 'kontrolliert',
+ 'remark',
+ ];
+ $checkboxes = true;
+ $bottom = <<<EOD
+ <div class="admin_actionsbelow">
+ Ausgewählte
+ <button class="medium" style="background: darkorange;" onclick="return delContract();"><i class="fas fa-trash-alt"></i> löschen</button>
+ </div>
+EOD;
+ $email_sql = "
+SELECT Förderer.ID AS FoerdID, Organisationen.Name AS Foerderer, CONCAT(Förderer.ID, 'patron', '-', Personen.ID, 'person', '-', contracts.id, 'contract') AS uid, Personen.*, Organisationen.strasse AS Strasse, Organisationen.PLZ as PLZ, Organisationen.Ort AS Ort, Organisationen.Adresszusatz as Adresszusatz, Organisationen.Name AS Organisation, CONCAT(Förderer.ID, 'patron', '-', Personen.ID, 'person', '-', contracts.id, 'contract') AS genuid,
+
+ls AS Leistung, ss AS Sozial, (ls * 150 * 12 + ss * 150 * 12) AS Summe,
+IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0) AS Eingang,
+((150 * contracts.ss + 150 * contracts.ls) * 12) - IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0) AS Fehlbetrag
+
+FROM contracts
+
+INNER JOIN Förderer ON contracts.patron = Förderer.ID
+LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID
+LEFT JOIN Personen ON Förderer.zuwendungen = Personen.ID
+LEFT JOIN Spenden ON contracts.id = Spenden.contract
+
+WHERE contracts.id IN ";
+
+ $email_sql_apfi = "
+SELECT Förderer.ID AS FoerdID, Organisationen.Name AS Foerderer, CONCAT(Förderer.ID, 'patron', '-', Personen2.ID, 'person', '-', contracts.id, 'contract') AS uid, Personen.*, Organisationen.strasse AS Strasse, Organisationen.PLZ as PLZ, Organisationen.Ort AS Ort, Organisationen.Adresszusatz as Adresszusatz, Organisationen.Name AS Organisation, CONCAT(Förderer.ID, 'patron', '-', Personen2.ID, 'person', '-', contracts.id, 'contract') AS genuid,
+
+ls AS Leistung, ss AS Sozial, (ls * 150 * 12 + ss * 150 * 12) AS Summe,
+IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0) AS Eingang,
+((150 * contracts.ss + 150 * contracts.ls) * 12) - IF(SUM(Spenden.Betrag) > 0, SUM(Spenden.Betrag), 0) AS Fehlbetrag
+
+FROM contracts
+
+INNER JOIN Förderer ON contracts.patron = Förderer.ID
+INNER JOIN Organisationen ON Förderer.Organisation = Organisationen.ID
+
+LEFT JOIN Personen_Organisationen ON Organisationen.ID = Personen_Organisationen.Organisation
+LEFT JOIN Personen ON Personen_Organisationen.Person = Personen.ID
+LEFT JOIN Personen AS Personen2 ON Förderer.zuwendungen = Personen2.ID
+LEFT JOIN Spenden ON contracts.id = Spenden.contract
+
+WHERE Personen_Organisationen.apfi = 1
+AND contracts.id IN ";
+
+ $pdf_sql = $email_sql;
+ if (isset($_GET['apfi']) && $_GET['apfi'] == 1) $email_sql = $email_sql_apfi;
+ $post_sql = ' GROUP BY contracts.id, Personen.ID';
+ $exactmatch = 1;
+
+ include __DIR__ . '/autotable.php';
+ include __DIR__ . '/autoactions.php';
+ include __DIR__ . '/autoemail.php';
+ include __DIR__ . '/autopdf.php';
+ $stmt->reset();
+})();
+?>
+
+<script>
+function delContract() {
+ $.ajaxSetup({async:false});
+ $.ajax({
+ type: 'POST',
+ url: '/db/main/delcontract.php',
+ data: {
+ 'ids': getIDs_contractscommon3()
+ }
+ });
+ $.ajaxSetup({async:true});
+ location.reload();
+ return false;
+}
+</script>
+
+<?php
+include_once __DIR__ . "/footer.php";
+?>