Conver the what should be the last bulk asset interfaces modals to the new ajax

This commit is contained in:
johnnyq 2025-11-27 14:13:33 -05:00
parent ba2d6b6709
commit c486e3fe62
4 changed files with 129 additions and 98 deletions

View File

@ -15,8 +15,8 @@ if (isset($_GET['asset_id'])) {
$asset_id = intval($_GET['asset_id']); $asset_id = intval($_GET['asset_id']);
$sql = mysqli_query($mysqli, "SELECT * FROM assets $sql = mysqli_query($mysqli, "SELECT * FROM assets
LEFT JOIN clients ON client_id = asset_client_id LEFT JOIN clients ON client_id = asset_client_id
LEFT JOIN contacts ON asset_contact_id = contact_id LEFT JOIN contacts ON asset_contact_id = contact_id
LEFT JOIN locations ON asset_location_id = location_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 asset_interfaces ON interface_asset_id = asset_id AND interface_primary = 1
WHERE asset_id = $asset_id WHERE asset_id = $asset_id
@ -101,7 +101,7 @@ if (isset($_GET['asset_id'])) {
$ticket_count = mysqli_num_rows($sql_related_tickets); $ticket_count = mysqli_num_rows($sql_related_tickets);
// Related Recurring Tickets Query // Related Recurring Tickets Query
$sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_tickets.* FROM recurring_tickets $sql_related_recurring_tickets = mysqli_query($mysqli, "SELECT recurring_tickets.* FROM recurring_tickets
LEFT JOIN recurring_ticket_assets ON recurring_tickets.recurring_ticket_id = recurring_ticket_assets.recurring_ticket_id LEFT JOIN recurring_ticket_assets ON recurring_tickets.recurring_ticket_id = recurring_ticket_assets.recurring_ticket_id
WHERE recurring_ticket_asset_id = $asset_id OR recurring_ticket_assets.asset_id = $asset_id WHERE recurring_ticket_asset_id = $asset_id OR recurring_ticket_assets.asset_id = $asset_id
GROUP BY recurring_tickets.recurring_ticket_id GROUP BY recurring_tickets.recurring_ticket_id
@ -110,10 +110,10 @@ if (isset($_GET['asset_id'])) {
$recurring_ticket_count = mysqli_num_rows($sql_related_recurring_tickets); $recurring_ticket_count = mysqli_num_rows($sql_related_recurring_tickets);
// Related Documents // Related Documents
$sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents $sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents
LEFT JOIN documents ON asset_documents.document_id = documents.document_id LEFT JOIN documents ON asset_documents.document_id = documents.document_id
WHERE asset_documents.asset_id = $asset_id WHERE asset_documents.asset_id = $asset_id
AND document_archived_at IS NULL AND document_archived_at IS NULL
ORDER BY document_name DESC" ORDER BY document_name DESC"
); );
$document_count = mysqli_num_rows($sql_related_documents); $document_count = mysqli_num_rows($sql_related_documents);
@ -142,7 +142,7 @@ if (isset($_GET['asset_id'])) {
// Network Interfaces // Network Interfaces
$sql_related_interfaces = mysqli_query($mysqli, " $sql_related_interfaces = mysqli_query($mysqli, "
SELECT SELECT
ai.interface_id, ai.interface_id,
ai.interface_name, ai.interface_name,
ai.interface_description, ai.interface_description,
@ -173,7 +173,7 @@ if (isset($_GET['asset_id'])) {
) )
LEFT JOIN assets AS connected_assets LEFT JOIN assets AS connected_assets
ON connected_assets.asset_id = connected_interfaces.interface_asset_id ON connected_assets.asset_id = connected_interfaces.interface_asset_id
WHERE WHERE
ai.interface_asset_id = $asset_id ai.interface_asset_id = $asset_id
AND ai.interface_archived_at IS NULL AND ai.interface_archived_at IS NULL
ORDER BY ai.interface_name ASC ORDER BY ai.interface_name ASC
@ -182,7 +182,7 @@ if (isset($_GET['asset_id'])) {
$interface_count = mysqli_num_rows($sql_related_interfaces); $interface_count = mysqli_num_rows($sql_related_interfaces);
// Related Files // Related Files
$sql_related_files = mysqli_query($mysqli, "SELECT * FROM asset_files $sql_related_files = mysqli_query($mysqli, "SELECT * FROM asset_files
LEFT JOIN files ON asset_files.file_id = files.file_id LEFT JOIN files ON asset_files.file_id = files.file_id
WHERE asset_files.asset_id = $asset_id WHERE asset_files.asset_id = $asset_id
AND file_archived_at IS NULL AND file_archived_at IS NULL
@ -204,7 +204,7 @@ if (isset($_GET['asset_id'])) {
// Related Documents // Related Documents
$sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents, documents $sql_related_documents = mysqli_query($mysqli, "SELECT * FROM asset_documents, documents
LEFT JOIN users ON document_created_by = user_id LEFT JOIN users ON document_created_by = user_id
WHERE asset_documents.asset_id = $asset_id WHERE asset_documents.asset_id = $asset_id
AND asset_documents.document_id = documents.document_id AND asset_documents.document_id = documents.document_id
AND document_archived_at IS NULL AND document_archived_at IS NULL
ORDER BY document_name ASC" ORDER BY document_name ASC"
@ -214,7 +214,7 @@ if (isset($_GET['asset_id'])) {
// Related Credentials Query // Related Credentials Query
$sql_related_credentials = mysqli_query($mysqli, " $sql_related_credentials = mysqli_query($mysqli, "
SELECT SELECT
credentials.credential_id AS credential_id, credentials.credential_id AS credential_id,
credentials.credential_name, credentials.credential_name,
credentials.credential_description, credentials.credential_description,
@ -239,8 +239,8 @@ if (isset($_GET['asset_id'])) {
// Related Software Query // Related Software Query
$sql_related_software = mysqli_query( $sql_related_software = mysqli_query(
$mysqli, $mysqli,
"SELECT * FROM software_assets "SELECT * FROM software_assets
LEFT JOIN software ON software_assets.software_id = software.software_id LEFT JOIN software ON software_assets.software_id = software.software_id
WHERE software_assets.asset_id = $asset_id WHERE software_assets.asset_id = $asset_id
AND software_archived_at IS NULL AND software_archived_at IS NULL
ORDER BY software_name DESC" ORDER BY software_name DESC"
@ -250,7 +250,7 @@ if (isset($_GET['asset_id'])) {
// Linked Services // Linked Services
$sql_linked_services = mysqli_query($mysqli, "SELECT * FROM service_assets, services $sql_linked_services = mysqli_query($mysqli, "SELECT * FROM service_assets, services
WHERE service_assets.asset_id = $asset_id WHERE service_assets.asset_id = $asset_id
AND service_assets.service_id = services.service_id AND service_assets.service_id = services.service_id
ORDER BY service_name ASC" ORDER BY service_name ASC"
); );
@ -283,7 +283,7 @@ if (isset($_GET['asset_id'])) {
<div> <div>
<?= $asset_tags_display ?> <?= $asset_tags_display ?>
</div> </div>
<?php } ?> <?php } ?>
<?php if ($asset_type) { ?> <?php if ($asset_type) { ?>
<div class="mt-1"><i class="fa fa-fw fa-tag text-secondary mr-3"></i><?= $asset_type; ?></div> <div class="mt-1"><i class="fa fa-fw fa-tag text-secondary mr-3"></i><?= $asset_type; ?></div>
<?php } <?php }
@ -469,11 +469,15 @@ if (isset($_GET['asset_id'])) {
<i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>) <i class="fas fa-fw fa-layer-group mr-2"></i>Bulk Action (<span id="selectedCount">0</span>)
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#bulkAssignNetworkModal"> <a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_bulk_edit_network.php?client_id=<?= $client_id ?>"
data-bulk="true">
<i class="fas fa-fw fa-network-wired mr-2"></i>Assign Network <i class="fas fa-fw fa-network-wired mr-2"></i>Assign Network
</a> </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#bulkSetInterfaceTypeModal"> <a class="dropdown-item text-dark ajax-modal" href="#"
data-modal-url="modals/asset/asset_interface_bulk_edit_type.php?client_id=<?= $client_id ?>"
data-bulk="true">
<i class="fas fa-fw fa-ethernet mr-2"></i>Set Type <i class="fas fa-fw fa-ethernet mr-2"></i>Set Type
</a> </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@ -597,8 +601,6 @@ if (isset($_GET['asset_id'])) {
</tbody> </tbody>
</table> </table>
</div> </div>
<?php require_once "modals/asset/asset_interface_bulk_edit_type.php"; ?>
<?php require_once "modals/asset/asset_interface_bulk_edit_network.php"; ?>
</form> </form>
</div> </div>
</div> </div>

View File

@ -78,11 +78,11 @@ ob_start();
<div class="input-group-prepend"> <div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span> <span class="input-group-text"><i class="fa fa-fw fa-tag"></i></span>
</div> </div>
<input <input
type="text" type="text"
class="form-control" class="form-control"
name="description" name="description"
placeholder="Short Description" placeholder="Short Description"
maxlength="200" maxlength="200"
> >
</div> </div>

View File

@ -1,51 +1,65 @@
<div class="modal" id="bulkAssignNetworkModal" tabindex="-1"> <?php
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-network-wired mr-2"></i>Bulk Assign Network</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body"> require_once '../../../includes/modal_header.php';
<!-- Network --> $client_id = intval($_GET['client_id'] ?? 0);
<div class="form-group"> $interface_ids = array_map('intval', $_GET['interface_ids'] ?? []);
<label>Network</label>
<div class="input-group"> $count = count($interface_ids);
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span> ob_start();
</div>
<select class="form-control select2" name="bulk_network"> ?>
<option value="">- Select a Network -</option>
<?php <form action="post.php" method="post" autocomplete="off">
$sql_network_select = mysqli_query($mysqli, " <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
SELECT network_id, network_name, network <?php foreach ($interface_ids as $interface_id) { ?><input type="hidden" name="interface_ids[]" value="<?= $interface_id ?>"><?php } ?>
FROM networks <div class="modal-header bg-dark">
WHERE network_archived_at IS NULL <h5 class="modal-title"><i class="fa fa-fw fa-network-wired mr-2"></i>Bulk Assign Network</h5>
AND network_client_id = $client_id <button type="button" class="close text-white" data-dismiss="modal">
ORDER BY network_name ASC <span>&times;</span>
"); </button>
while ($net_row = mysqli_fetch_array($sql_network_select)) { </div>
$network_id_select = intval($net_row['network_id']);
$network_name_select = nullable_htmlentities($net_row['network_name']); <div class="modal-body">
$network_select = nullable_htmlentities($net_row['network']);
?> <!-- Network -->
<option value="<?php echo $network_id_select; ?>"><?php echo "$network_name_select - $network_select"; ?></option> <div class="form-group">
<?php <label>Network</label>
} <div class="input-group">
?> <div class="input-group-prepend">
</select> <span class="input-group-text"><i class="fa fa-fw fa-network-wired"></i></span>
</div>
</div> </div>
<select class="form-control select2" name="bulk_network">
</div> <option value="">- Select a Network -</option>
<?php
<div class="modal-footer"> $sql_network_select = mysqli_query($mysqli, "
<button type="submit" name="bulk_edit_asset_interface_network" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign</button> SELECT network_id, network_name, network
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button> FROM networks
WHERE network_archived_at IS NULL
AND network_client_id = $client_id
ORDER BY network_name ASC
");
while ($net_row = mysqli_fetch_array($sql_network_select)) {
$network_id_select = intval($net_row['network_id']);
$network_name_select = nullable_htmlentities($net_row['network_name']);
$network_select = nullable_htmlentities($net_row['network']);
?>
<option value="<?php echo $network_id_select; ?>"><?php echo "$network_name_select - $network_select"; ?></option>
<?php
}
?>
</select>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_asset_interface_network" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Assign</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
</div>
</form>
<?php
require_once '../../../includes/modal_footer.php';

View File

@ -1,36 +1,51 @@
<div class="modal" id="bulkSetInterfaceTypeModal" tabindex="-1"> <?php
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>Bulk Set Interface Type</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body"> require_once '../../../includes/modal_header.php';
<div class="form-group"> $client_id = intval($_GET['client_id'] ?? 0);
<label>Interface Type</label> $interface_ids = array_map('intval', $_GET['interface_ids'] ?? []);
<div class="input-group">
<div class="input-group-prepend"> $count = count($interface_ids);
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div> ob_start();
<select class="form-control select2" name="bulk_type">
<option value="">- Select a Type -</option> ?>
<?php foreach($interface_types_array as $interface_type_select) { ?>
<option><?php echo $interface_type_select; ?></option> <form action="post.php" method="post" autocomplete="off">
<?php } ?> <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
</select> <?php foreach ($interface_ids as $interface_id) { ?><input type="hidden" name="interface_ids[]" value="<?= $interface_id ?>"><?php } ?>
</div>
<div class="modal-header bg-dark">
<h5 class="modal-title"><i class="fa fa-fw fa-ethernet mr-2"></i>Bulk Set Interface Type</h5>
<button type="button" class="close text-white" data-dismiss="modal">
<span>&times;</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
<label>Interface Type</label>
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="fa fa-fw fa-ethernet"></i></span>
</div> </div>
<select class="form-control select2" name="bulk_type">
</div> <option value="">- Select a Type -</option>
<?php foreach($interface_types_array as $interface_type_select) { ?>
<div class="modal-footer"> <option><?php echo $interface_type_select; ?></option>
<button type="submit" name="bulk_edit_asset_interface_type" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button> <?php } ?>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button> </select>
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="modal-footer">
<button type="submit" name="bulk_edit_asset_interface_type" class="btn btn-primary text-bold"><i class="fas fa-check mr-2"></i>Set</button>
<button type="button" class="btn btn-light" data-dismiss="modal"><i class="fa fa-times mr-2"></i>Cancel</button>
</div>
</form>
<?php
require_once '../../../includes/modal_footer.php';