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
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#createContactNoteModal<?php echo $contact_id; ?>">
<i class="fa fa-fw fa-sticky-note mr-2"></i>New Note (WIP)
<a class="dropdown-item text-dark" href="#" data-toggle="modal" data-target="#addCredentialModal">
<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>
</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/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_credential_modal.php";

View File

@ -1184,6 +1184,12 @@ if (isset($_GET['contact_id'])) {
<?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_software_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_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";

View File

@ -9,6 +9,12 @@
</div>
<form action="post.php" method="post" autocomplete="off">
<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="form-group">

View File

@ -9,9 +9,14 @@
</div>
<form action="post.php" method="post" enctype="multipart/form-data" autocomplete="off">
<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="form-group">
<label>Description</label>
<div class="input-group">

View File

@ -162,7 +162,7 @@
$contact_name = nullable_htmlentities($row['contact_name']);
?>
<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"; }
?>
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
}

View File

@ -19,9 +19,11 @@
<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>
</li>
<?php if (!isset($_GET['contact_id'])) { ?>
<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>
</li>
<?php } ?>
<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>
</li>
@ -97,7 +99,7 @@
</div>
<?php if (!isset($_GET['contact_id'])) { ?>
<div class="tab-pane fade" id="pills-add-contacts">
<div class="form-group">
@ -137,8 +139,11 @@
<div id="contacts-section">
</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">

View File

@ -327,10 +327,9 @@
$asset_name_select = nullable_htmlentities($row['asset_name']);
$asset_contact_name_select = nullable_htmlentities($row['contact_name']);
?>
<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>
<option value="<?php echo $asset_id_select; ?>">
<?php echo "$asset_name_select - $asset_contact_name_select"; ?>
</option>
<?php } ?>
</select>

View File

@ -12,13 +12,25 @@ if (isset($_POST['add_document'])) {
require_once 'document_model.php';
$contact_id = intval($_POST['contact'] ?? 0);
$asset_id = intval($_POST['asset'] ?? 0);
// 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);
// 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");
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
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']);
$folder_id = intval($_POST['folder_id']);
$description = sanitizeInput($_POST['description']);
$contact_id = intval($_POST['contact'] ?? 0);
$asset_id = intval($_POST['asset'] ?? 0);
$client_dir = "uploads/clients/$client_id";
// Create client directory if it doesn't exist
@ -178,6 +180,14 @@ if (isset($_POST['upload_files'])) {
mysqli_query($mysqli, $query);
$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
logAction("File", "Upload", "$session_name uploaded file $file_name", $client_id, $file_id);
$_SESSION['alert_message'] = "Uploaded file <strong>$file_name</strong>";