summaryrefslogtreecommitdiff
path: root/delcontractc.php
diff options
context:
space:
mode:
authorNiklas Olmes <niklas@olmes.de>2026-04-24 19:30:00 +0200
committerNiklas Olmes <niklas@olmes.de>2026-04-24 19:30:00 +0200
commitcdea8caa5617f0cb77bcbc9803759abd2df50644 (patch)
tree2f7f1bd3af3b2396baf5403ad1a7ad00bcb7fae9 /delcontractc.php
stipcrmHEADmain
Diffstat (limited to 'delcontractc.php')
-rw-r--r--delcontractc.php140
1 files changed, 140 insertions, 0 deletions
diff --git a/delcontractc.php b/delcontractc.php
new file mode 100644
index 0000000..e7ad4b5
--- /dev/null
+++ b/delcontractc.php
@@ -0,0 +1,140 @@
+<?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";
+
+$contractID = $_GET['id'];
+$prohibit = false;
+
+(function () use ($mysqli, $_title, $contractID) {
+ $sql = "
+SELECT contracts.id, contracts.`call`, Organisationen.Name
+FROM contracts
+LEFT JOIN Förderer ON contracts.patron=Förderer.ID
+LEFT JOIN Organisationen ON Förderer.Organisation = Organisationen.ID
+WHERE contracts.id=?;";
+ $stmt = $mysqli->prepare($sql);
+ $stmt->bind_param('i', $contractID);
+ $stmt->execute();
+ $r = $stmt->get_result();
+ $l = $r->fetch_object();
+
+ $_title = '<span class="pii">' . $l->Name . ', ' . $l->call . '</span> (ID ' . $contractID . ')';
+ include_once __DIR__ . "/header.php";
+?>
+ <h1 style="display: inline-block;"><span style="color: red; font-weight: bold;">Vertragsdatensatz löschen:</span> <?=$_title?></h1>
+<?
+ if ($l->id < 1) {
+?>
+ <p><b>Kein Datensatz mit dieser ID gefunden!</b></p>
+ <p>Wenn Sie gerade gelöscht haben, war das Löschen erfolgreich.</p>
+
+<? if (isset($_GET['autodel']) && $_GET['autodel'] == 1) { ?>
+ <script>
+ window.close();
+ </script>
+<? }
+ exit(0);
+ }
+
+ $def = [
+ "Auszug",
+ [6, '_=4Förderer', '_Call']
+ ];
+ include __DIR__ . '/autoform.php';
+ $stmt->reset();
+})();
+
+(function () use ($contractID) {
+ $globstring = "{" . $contractID . "contract}_";
+ require_once __DIR__ . "/doc.php";
+})();
+
+(function () use ($mysqli, $contractID, &$num_rows) {
+ $title = "Spenden";
+ $nochosen = $nofilter = true;
+ $sql = "
+SELECT
+ Spenden.ID AS SpendenID,
+ Spenden.Organisation AS OrgaID,
+ Organisationen.Name AS Organisation,
+ CONCAT(calls.name, ' [', contracts.call, '] - ', ContractOrga.Name) AS Vertrag,
+ Betrag,
+ DATE(Geldeingang) AS Geldeingang
+FROM Spenden
+ LEFT JOIN Organisationen ON Spenden.Organisation = Organisationen.ID
+ LEFT JOIN contracts ON Spenden.contract = contracts.id
+ LEFT JOIN Förderer AS ContractPatron ON contracts.patron = ContractPatron.ID
+ LEFT JOIN Organisationen AS ContractOrga ON ContractPatron.Organisation = ContractOrga.ID
+ LEFT JOIN calls ON contracts.`call` = calls.shorthand
+WHERE Spenden.contract = ?
+";
+ $stmt = $mysqli->prepare($sql);
+ $stmt->bind_param("i", $contractID);
+ $stmt->execute();
+ $r = $stmt->get_result();
+ include __DIR__ . '/autotable.php';
+ $stmt->reset();
+})();
+if ($num_rows) {
+ $prohibit = true;
+?>
+ <p class="warning"><i class="fas fa-exclamation-triangle"></i> Es existieren verknüpfte <?=$num_rows?> Spendendatens&auml;tze. Löschen daher nicht möglich.</p>
+<?
+}
+?>
+
+<hr>
+<?
+if (!$prohibit) {
+?>
+ <button class="medium" onclick="return delContract();" style="background: red;"><i class="far fa-trash-alt"></i> Vertragsdatensatz unwiderruflich löschen</button>
+<?
+} else {
+?>
+<p>Löschen derzeit nicht möglich. Zunächst Datensätze umwidmen bzw. Verknüpfungen entfernen.<p>
+<?
+}
+?>
+<script>
+<? minStart(); ?>
+function doSth(what) {
+ $.ajaxSetup({async:false});
+ $.post('/db/main/delcontractdo.php', {
+ 'id': <?=$contractID?>,
+ 'what': what
+ });
+ window.location.reload();
+}
+
+function delContract() {
+ doSth('contract');
+}
+<? minEnd(); ?>
+</script>
+
+<?
+if (!$prohibit && isset($_GET['autodel']) && $_GET['autodel'] == 1) {
+?>
+<script>
+ delContract();
+</script>
+<?
+}
+
+require_once __DIR__ . "/jumper.php";
+exit(0);