From b25d21b8bf532dd190616ed0c9c4486070126779 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Tue, 11 Jun 2024 22:39:03 -0400 Subject: [PATCH] Delete Asset Interfaces related to client assets when deleting a client --- post/asset.php | 2 +- post/client.php | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/post/asset.php b/post/asset.php index 10dac882..5665c3a4 100644 --- a/post/asset.php +++ b/post/asset.php @@ -556,7 +556,7 @@ if (isset($_POST['export_client_assets_csv'])) { $client_id = intval($_POST['client_id']); //get records from database - $sql = mysqli_query($mysqli,"SELECT * FROM assets LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN locations ON asset_location_id = location_id LEFT JOIN clients ON asset_client_id = client_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC"); + $sql = mysqli_query($mysqli,"SELECT * FROM assets LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN locations ON asset_location_id = location_id LEFT JOIN asset_interfaces ON interface_asset_id = asset_id AND interface_primary = 1 LEFT JOIN clients ON asset_client_id = client_id WHERE asset_client_id = $client_id AND asset_archived_at IS NULL ORDER BY asset_name ASC"); $row = mysqli_fetch_array($sql); $client_name = $row['client_name']; diff --git a/post/client.php b/post/client.php index 2cc63ad3..6340f5e8 100644 --- a/post/client.php +++ b/post/client.php @@ -208,7 +208,6 @@ if (isset($_GET['delete_client'])) { // Delete Client Data mysqli_query($mysqli, "DELETE FROM api_keys WHERE api_key_client_id = $client_id"); - mysqli_query($mysqli, "DELETE FROM assets WHERE asset_client_id = $client_id"); mysqli_query($mysqli, "DELETE FROM certificates WHERE certificate_client_id = $client_id"); mysqli_query($mysqli, "DELETE FROM documents WHERE document_client_id = $client_id"); @@ -220,6 +219,14 @@ if (isset($_GET['delete_client'])) { } mysqli_query($mysqli, "DELETE FROM contacts WHERE contact_client_id = $client_id"); + // Delete Assets and Interfaces + $sql = mysqli_query($mysqli, "SELECT asset_id FROM assets WHERE asset_client_id = $client_id"); + while($row = mysqli_fetch_array($sql)) { + $asset_id = $row['asset_id']; + mysqli_query($mysqli, "DELETE FROM asset_interfaces WHERE interface_asset_id = $asset_id"); + } + mysqli_query($mysqli, "DELETE FROM assets WHERE asset_client_id = $client_id"); + // Delete Domains and associated records $sql = mysqli_query($mysqli, "SELECT domain_id FROM domains WHERE domain_client_id = $client_id"); while($row = mysqli_fetch_array($sql)) {