mirror of
https://github.com/itflow-org/itflow
synced 2026-03-26 15:25:38 +00:00
Added Bulk Delete Asset Functionality and also deleted more asset reference tables as we are not using cascade delete yet
This commit is contained in:
@@ -298,6 +298,11 @@ if (mysqli_num_rows($os_sql) > 0) {
|
|||||||
type="submit" form="bulkActions" name="bulk_unarchive_assets">
|
type="submit" form="bulkActions" name="bulk_unarchive_assets">
|
||||||
<i class="fas fa-fw fa-redo mr-2"></i>Unarchive
|
<i class="fas fa-fw fa-redo mr-2"></i>Unarchive
|
||||||
</button>
|
</button>
|
||||||
|
<div class="dropdown-divider"></div>
|
||||||
|
<button class="dropdown-item text-danger text-bold"
|
||||||
|
type="submit" form="bulkActions" name="bulk_delete_assets">
|
||||||
|
<i class="fas fa-fw fa-trash mr-2"></i>Delete
|
||||||
|
</button>
|
||||||
<?php } else { ?>
|
<?php } else { ?>
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<button class="dropdown-item text-danger confirm-link"
|
<button class="dropdown-item text-danger confirm-link"
|
||||||
|
|||||||
@@ -186,12 +186,21 @@ if (isset($_GET['delete_asset'])) {
|
|||||||
$client_id = intval($row['asset_client_id']);
|
$client_id = intval($row['asset_client_id']);
|
||||||
|
|
||||||
mysqli_query($mysqli,"DELETE FROM assets WHERE asset_id = $asset_id");
|
mysqli_query($mysqli,"DELETE FROM assets WHERE asset_id = $asset_id");
|
||||||
|
|
||||||
// Delete Interfaces
|
// Delete Interfaces
|
||||||
mysqli_query($mysqli,"DELETE FROM asset_interfaces WHERE interface_asset_id = $asset_id");
|
mysqli_query($mysqli,"DELETE FROM asset_interfaces WHERE interface_asset_id = $asset_id");
|
||||||
|
|
||||||
// Delete History
|
// Delete History
|
||||||
mysqli_query($mysqli,"DELETE FROM asset_history WHERE asset_history_asset_id = $asset_id");
|
mysqli_query($mysqli,"DELETE FROM asset_history WHERE asset_history_asset_id = $asset_id");
|
||||||
|
// Delete Notes
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_notes WHERE asset_note_asset_id = $asset_id");
|
||||||
|
// Rack Units
|
||||||
|
mysqli_query($mysqli,"DELETE FROM rack_units WHERE unit_asset_id = $asset_id");
|
||||||
|
|
||||||
|
// Delete Links
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_documents WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_files WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM contact_assets WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM service_assets WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM software_assets WHERE asset_id = $asset_id");
|
||||||
|
|
||||||
// Logging
|
// Logging
|
||||||
logAction("Asset", "Delete", "$session_name deleted asset $asset_name", $client_id);
|
logAction("Asset", "Delete", "$session_name deleted asset $asset_name", $client_id);
|
||||||
@@ -486,7 +495,7 @@ if (isset($_POST['bulk_unarchive_assets'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Bulk Logging
|
// Bulk Logging
|
||||||
logAction("Asset", "Bulk Unarchive", "$session_name unarchived $count assets", $client_id);
|
logAction("Asset", "Bulk Unarchive", "$session_name unarchived $count assets");
|
||||||
|
|
||||||
$_SESSION['alert_message'] = "Unarchived $count asset(s)";
|
$_SESSION['alert_message'] = "Unarchived $count asset(s)";
|
||||||
|
|
||||||
@@ -495,6 +504,59 @@ if (isset($_POST['bulk_unarchive_assets'])) {
|
|||||||
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isset($_POST['bulk_delete_assets'])) {
|
||||||
|
|
||||||
|
enforceUserPermission('module_support', 3);
|
||||||
|
|
||||||
|
validateCSRFToken($_POST['csrf_token']);
|
||||||
|
|
||||||
|
if (isset($_POST['asset_ids'])) {
|
||||||
|
|
||||||
|
// Get Count
|
||||||
|
$count = count($_POST['asset_ids']);
|
||||||
|
|
||||||
|
foreach ($_POST['asset_ids'] as $asset_id) {
|
||||||
|
|
||||||
|
$asset_id = intval($asset_id);
|
||||||
|
|
||||||
|
// Get Asset Name and Client ID for logging and alert message
|
||||||
|
$sql = mysqli_query($mysqli,"SELECT asset_name, asset_client_id FROM assets WHERE asset_id = $asset_id");
|
||||||
|
$row = mysqli_fetch_array($sql);
|
||||||
|
$asset_name = sanitizeInput($row['asset_name']);
|
||||||
|
$client_id = intval($row['asset_client_id']);
|
||||||
|
|
||||||
|
mysqli_query($mysqli,"DELETE FROM assets WHERE asset_id = $asset_id");
|
||||||
|
// Delete Interfaces
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_interfaces WHERE interface_asset_id = $asset_id");
|
||||||
|
// Delete History
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_history WHERE asset_history_asset_id = $asset_id");
|
||||||
|
// Delete Notes
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_notes WHERE asset_note_asset_id = $asset_id");
|
||||||
|
// Rack Units
|
||||||
|
mysqli_query($mysqli,"DELETE FROM rack_units WHERE unit_asset_id = $asset_id");
|
||||||
|
|
||||||
|
// Delete Links
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_documents WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM asset_files WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM contact_assets WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM service_assets WHERE asset_id = $asset_id");
|
||||||
|
mysqli_query($mysqli,"DELETE FROM software_assets WHERE asset_id = $asset_id");
|
||||||
|
|
||||||
|
// Individual Asset logging
|
||||||
|
logAction("Asset", "Delete", "$session_name deleted asset $asset_name", $client_id, $asset_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bulk Logging
|
||||||
|
logAction("Asset", "Bulk Delete", "$session_name deleted $count assets");
|
||||||
|
|
||||||
|
$_SESSION['alert_type'] = "error";
|
||||||
|
$_SESSION['alert_message'] = "Deleted <strong>$count</strong> asset(s)";
|
||||||
|
}
|
||||||
|
|
||||||
|
header("Location: " . $_SERVER["HTTP_REFERER"]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// BEGIN LINKING
|
// BEGIN LINKING
|
||||||
|
|
||||||
if (isset($_POST['link_software_to_asset'])) {
|
if (isset($_POST['link_software_to_asset'])) {
|
||||||
|
|||||||
Reference in New Issue
Block a user