diff options
| author | Niklas Olmes <niklas@olmes.de> | 2026-04-24 19:30:00 +0200 |
|---|---|---|
| committer | Niklas Olmes <niklas@olmes.de> | 2026-04-24 19:30:00 +0200 |
| commit | cdea8caa5617f0cb77bcbc9803759abd2df50644 (patch) | |
| tree | 2f7f1bd3af3b2396baf5403ad1a7ad00bcb7fae9 /delcontractc.php | |
Diffstat (limited to 'delcontractc.php')
| -rw-r--r-- | delcontractc.php | 140 |
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ä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); |
