diff --git a/CHANGELOG.md b/CHANGELOG.md index c723cb0e..a2b8ed9a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,24 @@ This file documents all notable changes made to ITFlow. +## [25.02.2] + +### Fixed +- Corrected some edit modals not showing notes correctly. +- Bugfix: When exporting to CSV, the first asset wasn't being shown. +- Fix broken create / edit credentials. +- Fixed missing Notificatons link. +- Fixed a few dead links. +- Fixed Overdue count also counting Non-Billable Invoices. +- Fix Edit Client Notes. + +### Added / Changed +- Implemented SSL certificate history tracking. +- Added Inactive / Active Filter to Recurring Invoices. +- Merged Dismissed notifications and notification in one. +- Added Link Button to addd / edit Document WYSIWYG. +- Added Physical location to the asset export / import. + ## [25.02.1] ### Fixed - Resolved broken links in the client overview, project and client listings, and rack details. @@ -24,33 +42,33 @@ This file documents all notable changes made to ITFlow. - Added a Vendor Quick Details Modal. - Enabled vendor linking and added a License Purchase Reference in the Software Licenses section. - Added download original, optimized and thumbnail option for images. -- Added Paid status to the top corner of Invoice PDFs +- Added Paid status to the top corner of Invoice PDFs. ## [25.02] ### Fixed -- Migrated several reports to the new permissions/roles system -- Resolved issue with empty task box showing for closed/resolved tickets -- Corrected ticket priority sorting -- Cloned asset interfaces when transferring assets between clients +- Migrated several reports to the new permissions/roles system. +- Resolved issue with empty task box showing for closed/resolved tickets. +- Corrected ticket priority sorting. +- Cloned asset interfaces when transferring assets between clients. ### Added / Changed - Restored max number of records per page option back to 500 since we dont have repeating modals. -- Bulk Categorize Tickets feature -- Renamed "Interface port" to "Interface Description." "Interface Name" should now refer to port name and/or number -- Changed "Transfer Asset to Client" from a single action to a bulk action -- Updated Filter Footer UI to show "Showing x to x of x records" instead of just the total records +- Bulk Categorize Tickets feature. +- Renamed "Interface port" to "Interface Description." "Interface Name" should now refer to port name and/or number. +- Changed "Transfer Asset to Client" from a single action to a bulk action. +- Updated Filter Footer UI to show "Showing x to x of x records" instead of just the total records. - Added Client Overview section to view client assets, contacts, licenses, credentials, etc. -- Introduced Quick Peek for asset details, contact information, and document viewing throughout the ITFlow App, all made possible by AJAX -- Enabled Simple Drag-and-Drop Ordering for Invoices, Recurring Invoices, Quotes, Ticket Tasks, and Ticket Template Tasks -- Added new Ticket View options: Kanban and Simple View -- Migrated all repeating modals to the new AJAX modal function for faster loading times and quicker development -- Allowed clients to upload PDF documents to accepted quotes -- Client Portal now shows ticket category -- Custom links can now be added to the Client Portal navbar +- Introduced Quick Peek for asset details, contact information, and document viewing throughout the ITFlow App, all made possible by AJAX. +- Enabled Simple Drag-and-Drop Ordering for Invoices, Recurring Invoices, Quotes, Ticket Tasks, and Ticket Template Tasks. +- Added new Ticket View options: Kanban and Simple View. +- Migrated all repeating modals to the new AJAX modal function for faster loading times and quicker development. +- Allowed clients to upload PDF documents to accepted quotes. +- Client Portal now shows ticket category. +- Custom links can now be added to the Client Portal navbar. - Lots of little tweaks to UI, performance, bugs, etc. ### Breaking Changes -- Cron scripts have officially been moved to the /scripts folder and are no longer in the root directory; they must be updated to function properly +- Cron scripts have officially been moved to the /scripts folder and are no longer in the root directory; they must be updated to function properly. ## [25.01.3] ### Fixed diff --git a/ajax/ajax_certificate_edit.php b/ajax/ajax_certificate_edit.php index 157675ec..3a9789b3 100644 --- a/ajax/ajax_certificate_edit.php +++ b/ajax/ajax_certificate_edit.php @@ -5,7 +5,7 @@ require_once '../includes/ajax_header.php'; $certificate_id = intval($_GET['id']); $sql = mysqli_query($mysqli, "SELECT * FROM certificates WHERE certificate_id = $certificate_id LIMIT 1"); - + $row = mysqli_fetch_array($sql); $certificate_name = nullable_htmlentities($row['certificate_name']); $certificate_description = nullable_htmlentities($row['certificate_description']); @@ -13,10 +13,13 @@ $certificate_domain = nullable_htmlentities($row['certificate_domain']); $certificate_domain_id = intval($row['certificate_domain_id']); $certificate_issued_by = nullable_htmlentities($row['certificate_issued_by']); $certificate_public_key = nullable_htmlentities($row['certificate_public_key']); +$certificate_notes = nullable_htmlentities($row['certificate_notes']); $certificate_expire = nullable_htmlentities($row['certificate_expire']); $certificate_created_at = nullable_htmlentities($row['certificate_created_at']); $client_id = intval($row['certificate_client_id']); +$history_sql = mysqli_query($mysqli, "SELECT * FROM certificate_history WHERE certificate_history_certificate_id = $certificate_id"); + // Generate the HTML form content using output buffering. ob_start(); ?> @@ -42,6 +45,9 @@ ob_start(); +
@@ -78,7 +84,7 @@ ob_start(); + +
+
+ + + + + + + + + + + + + + + + + + + +
DateFieldBeforeAfter
+
diff --git a/ajax/ajax_client_edit.php b/ajax/ajax_client_edit.php index e67b8bee..77439c4e 100644 --- a/ajax/ajax_client_edit.php +++ b/ajax/ajax_client_edit.php @@ -251,9 +251,7 @@ ob_start();
- +
diff --git a/ajax/ajax_notifications.php b/ajax/ajax_notifications.php index 02ebac3b..dbb7e701 100644 --- a/ajax/ajax_notifications.php +++ b/ajax/ajax_notifications.php @@ -66,13 +66,17 @@ ob_start();