You can now upload and create documents, credentials in contact and asset details sections

This commit is contained in:
johnnyq
2025-03-20 12:58:00 -04:00
parent 19a6f8f422
commit 475d653979
9 changed files with 75 additions and 18 deletions

View File

@@ -361,8 +361,23 @@ if (isset($_GET['asset_id'])) {
<i class="fa fa-fw fa-recycle mr-2"></i>New Recurring Ticket <i class="fa fa-fw fa-recycle mr-2"></i>New Recurring Ticket
</a> </a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#createContactNoteModal<?php echo $contact_id; ?>"> <a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#addCredentialModal">
<i class="fa fa-fw fa-sticky-note mr-2"></i>New Note (WIP) <i class="fa fa-fw fa-key mr-2"></i>New Credential
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#addDocumentModal">
<i class="fa fa-fw fa-file-alt mr-2"></i>New Document
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#uploadFilesModal">
<i class="fa fa-fw fa-upload mr-2"></i>Upload file(s)
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_asset_note_create.php"
data-ajax-id="<?php echo $asset_id; ?>">
<i class="fas fa-fw fa-sticky-note mr-2"></i>New Note
</a> </a>
</div> </div>
</div> </div>
@@ -1181,6 +1196,9 @@ require_once "modals/asset_interface_import_modal.php";
require_once "modals/asset_interface_export_modal.php"; require_once "modals/asset_interface_export_modal.php";
require_once "modals/ticket_add_modal.php"; require_once "modals/ticket_add_modal.php";
require_once "modals/recurring_ticket_add_modal.php"; require_once "modals/recurring_ticket_add_modal.php";
require_once "modals/credential_add_modal.php";
require_once "modals/client_document_add_modal.php";
require_once "modals/client_file_upload_modal.php";
require_once "modals/asset_link_software_modal.php"; require_once "modals/asset_link_software_modal.php";
require_once "modals/asset_link_credential_modal.php"; require_once "modals/asset_link_credential_modal.php";

View File

@@ -1184,6 +1184,12 @@ if (isset($_GET['contact_id'])) {
<?php <?php
require_once "modals/ticket_add_modal.php"; require_once "modals/ticket_add_modal.php";
require_once "modals/recurring_ticket_add_modal.php";
require_once "modals/asset_add_modal.php";
require_once "modals/credential_add_modal.php";
require_once "modals/client_document_add_modal.php";
require_once "modals/client_file_upload_modal.php";
require_once "modals/contact_link_asset_modal.php"; require_once "modals/contact_link_asset_modal.php";
require_once "modals/contact_link_software_modal.php"; require_once "modals/contact_link_software_modal.php";
require_once "modals/contact_link_credential_modal.php"; require_once "modals/contact_link_credential_modal.php";
@@ -1191,10 +1197,4 @@ require_once "modals/contact_link_service_modal.php";
require_once "modals/contact_link_document_modal.php"; require_once "modals/contact_link_document_modal.php";
require_once "modals/contact_link_file_modal.php"; require_once "modals/contact_link_file_modal.php";
require_once "modals/recurring_ticket_add_modal.php";
require_once "modals/asset_add_modal.php";
require_once "modals/credential_add_modal.php";
require_once "modals/client_document_add_modal.php";
require_once "modals/client_file_upload_modal.php";
require_once "includes/footer.php"; require_once "includes/footer.php";

View File

@@ -9,6 +9,12 @@
</div> </div>
<form action="post.php" method="post" autocomplete="off"> <form action="post.php" method="post" autocomplete="off">
<input type="hidden" name="client_id" value="<?php echo $client_id; ?>"> <input type="hidden" name="client_id" value="<?php echo $client_id; ?>">
<?php if (isset($_GET['contact_id'])) { ?>
<input type="hidden" name="contact" value="<?php echo intval($_GET['contact_id']); ?>">
<?php } ?>
<?php if (isset($_GET['asset_id'])) { ?>
<input type="hidden" name="asset" value="<?php echo intval($_GET['asset_id']); ?>">
<?php } ?>
<div class="modal-body bg-white"> <div class="modal-body bg-white">
<div class="form-group"> <div class="form-group">

View File

@@ -9,9 +9,14 @@
</div> </div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off"> <form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="client_id" value="<?php echo $client_id; ?>"> <input type="hidden" name="client_id" value="<?php echo $client_id; ?>">
<?php if (isset($_GET['contact_id'])) { ?>
<input type="hidden" name="contact" value="<?php echo intval($_GET['contact_id']); ?>">
<?php } ?>
<?php if (isset($_GET['asset_id'])) { ?>
<input type="hidden" name="asset" value="<?php echo intval($_GET['asset_id']); ?>">
<?php } ?>
<div class="modal-body bg-white"> <div class="modal-body bg-white">
<div class="form-group"> <div class="form-group">
<label>Description</label> <label>Description</label>
<div class="input-group"> <div class="input-group">

View File

@@ -162,7 +162,7 @@
$contact_name = nullable_htmlentities($row['contact_name']); $contact_name = nullable_htmlentities($row['contact_name']);
?> ?>
<option <option
<?php if (isset($_GET['contact_id']) && $contact_id == intval($_GET['contact_id'])) { <?php if (isset($_GET['contact_id']) && $contact_id == $_GET['contact_id']) {
echo "selected"; } echo "selected"; }
?> ?>
value="<?php echo $contact_id; ?>"><?php echo $contact_name; ?> value="<?php echo $contact_id; ?>"><?php echo $contact_name; ?>
@@ -197,7 +197,9 @@
} }
?> ?>
<option value="<?php echo $asset_id; ?>"><?php echo $asset_display_string; ?></option> <option <?php if (isset($_GET['asset_id']) && $asset_id == $_GET['asset_id']) {
echo "selected"; } ?>
value="<?php echo $asset_id; ?>"><?php echo $asset_display_string; ?></option>
<?php <?php
} }

View File

@@ -19,9 +19,11 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link active" data-toggle="pill" href="#pills-add-details"><i class="fa fa-fw fa-life-ring mr-2"></i>Details</a> <a class="nav-link active" data-toggle="pill" href="#pills-add-details"><i class="fa fa-fw fa-life-ring mr-2"></i>Details</a>
</li> </li>
<?php if (!isset($_GET['contact_id'])) { ?>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-add-contacts"><i class="fa fa-fw fa-users mr-2"></i>Contacts</a> <a class="nav-link" data-toggle="pill" href="#pills-add-contacts"><i class="fa fa-fw fa-users mr-2"></i>Contacts</a>
</li> </li>
<?php } ?>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" data-toggle="pill" href="#pills-add-schedule"><i class="fa fa-fw fa-building mr-2"></i>Schedule</a> <a class="nav-link" data-toggle="pill" href="#pills-add-schedule"><i class="fa fa-fw fa-building mr-2"></i>Schedule</a>
</li> </li>
@@ -97,7 +99,7 @@
</div> </div>
<?php if (!isset($_GET['contact_id'])) { ?>
<div class="tab-pane fade" id="pills-add-contacts"> <div class="tab-pane fade" id="pills-add-contacts">
<div class="form-group"> <div class="form-group">
@@ -137,8 +139,11 @@
<div id="contacts-section"> <div id="contacts-section">
</div> </div>
</div> </div>
<?php } else { ?>
<input type="hidden" name="client" value="<?php echo $client_id; ?>">
<input type="hidden" name="contact" value="<?php echo intval($_GET['contact_id']); ?>">
<?php } ?>
<div class="tab-pane fade" id="pills-add-schedule"> <div class="tab-pane fade" id="pills-add-schedule">

View File

@@ -327,10 +327,9 @@
$asset_name_select = nullable_htmlentities($row['asset_name']); $asset_name_select = nullable_htmlentities($row['asset_name']);
$asset_contact_name_select = nullable_htmlentities($row['contact_name']); $asset_contact_name_select = nullable_htmlentities($row['contact_name']);
?> ?>
<option value="<?php echo $asset_id_select; ?>" <option value="<?php echo $asset_id_select; ?>">
<?php if (isset($_GET['asset_id']) && $asset_id_select == $_GET['asset_id']) { echo "selected"; } <?php echo "$asset_name_select - $asset_contact_name_select"; ?>
?> </option>
><?php echo "$asset_name_select - $asset_contact_name_select"; ?></option>
<?php } ?> <?php } ?>
</select> </select>

View File

@@ -12,13 +12,25 @@ if (isset($_POST['add_document'])) {
require_once 'document_model.php'; require_once 'document_model.php';
$contact_id = intval($_POST['contact'] ?? 0);
$asset_id = intval($_POST['asset'] ?? 0);
// Document add query // Document add query
$add_document = mysqli_query($mysqli,"INSERT INTO documents SET document_name = '$name', document_description = '$description', document_content = '$content', document_content_raw = '$content_raw', document_template = 0, document_folder_id = $folder, document_created_by = $session_user_id, document_client_id = $client_id"); mysqli_query($mysqli,"INSERT INTO documents SET document_name = '$name', document_description = '$description', document_content = '$content', document_content_raw = '$content_raw', document_template = 0, document_folder_id = $folder, document_created_by = $session_user_id, document_client_id = $client_id");
$document_id = mysqli_insert_id($mysqli); $document_id = mysqli_insert_id($mysqli);
// Update field document_parent to be the same id as document ID as this is the only version of the document. // Update field document_parent to be the same id as document ID as this is the only version of the document.
mysqli_query($mysqli,"UPDATE documents SET document_parent = $document_id WHERE document_id = $document_id"); mysqli_query($mysqli,"UPDATE documents SET document_parent = $document_id WHERE document_id = $document_id");
if ($contact_id) {
mysqli_query($mysqli,"INSERT INTO contact_documents SET contact_id = $contact_id, document_id = $document_id");
}
if ($asset_id) {
mysqli_query($mysqli,"INSERT INTO asset_documents SET asset_id = $asset_id, document_id = $document_id");
}
// Logging // Logging
logAction("Document", "Create", "$session_name created document $name", $client_id, $document_id); logAction("Document", "Create", "$session_name created document $name", $client_id, $document_id);

View File

@@ -15,6 +15,8 @@ if (isset($_POST['upload_files'])) {
$client_id = intval($_POST['client_id']); $client_id = intval($_POST['client_id']);
$folder_id = intval($_POST['folder_id']); $folder_id = intval($_POST['folder_id']);
$description = sanitizeInput($_POST['description']); $description = sanitizeInput($_POST['description']);
$contact_id = intval($_POST['contact'] ?? 0);
$asset_id = intval($_POST['asset'] ?? 0);
$client_dir = "uploads/clients/$client_id"; $client_dir = "uploads/clients/$client_id";
// Create client directory if it doesn't exist // Create client directory if it doesn't exist
@@ -178,6 +180,14 @@ if (isset($_POST['upload_files'])) {
mysqli_query($mysqli, $query); mysqli_query($mysqli, $query);
$file_id = mysqli_insert_id($mysqli); $file_id = mysqli_insert_id($mysqli);
if ($contact_id) {
mysqli_query($mysqli,"INSERT INTO contact_files SET contact_id = $contact_id, file_id = $file_id");
}
if ($asset_id) {
mysqli_query($mysqli,"INSERT INTO asset_files SET asset_id = $asset_id, file_id = $file_id");
}
// Log upload action // Log upload action
logAction("File", "Upload", "$session_name uploaded file $file_name", $client_id, $file_id); logAction("File", "Upload", "$session_name uploaded file $file_name", $client_id, $file_id);
$_SESSION['alert_message'] = "Uploaded file <strong>$file_name</strong>"; $_SESSION['alert_message'] = "Uploaded file <strong>$file_name</strong>";