Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

25.02 Release #1174

Merged
merged 164 commits into from
Feb 22, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
bb787cd
tickets initial idea of views
ssteeltm Jan 29, 2025
3aa2622
kanban post actions
ssteeltm Jan 29, 2025
3e0e72d
database update for kanban
ssteeltm Jan 29, 2025
ed5aa9a
sync last changes
ssteeltm Jan 29, 2025
c02b267
update tickets.php
ssteeltm Jan 29, 2025
1fb243d
update compact list
ssteeltm Jan 29, 2025
dec91d1
update tickets_compact.php
ssteeltm Jan 29, 2025
b31d1eb
update ticket_kanban.php
ssteeltm Jan 29, 2025
04fac54
update tickets_list.php
ssteeltm Jan 29, 2025
b6e0990
update tickets.php
ssteeltm Jan 29, 2025
e498cc6
update tickets_kanban.php
ssteeltm Jan 29, 2025
180635f
update
ssteeltm Jan 29, 2025
9ee159c
fix card move, after qualitygate changes
ssteeltm Jan 29, 2025
f4eaba4
fix whitespace qualitygate
ssteeltm Jan 29, 2025
e3ae8df
new changes
ssteeltm Jan 31, 2025
942f5bf
ticket tasks moving order
ssteeltm Feb 3, 2025
00a9c53
dragula plugin
ssteeltm Feb 3, 2025
e6c1897
fix: explicit default declaration
ssteeltm Feb 3, 2025
75e002a
Update git-ignore for new quotes dir
Feb 3, 2025
b50c229
Add logic for showing quote attachments in the admin/tech side
Feb 3, 2025
0422610
Add ability for client to upload attachments to approved invoices
Feb 3, 2025
571ed48
rm desc field; we don't store the description, the file name is enoug…
Feb 3, 2025
c0360f4
kanban js/css files
ssteeltm Feb 4, 2025
c7b9c95
missing tickets_kanban.css
ssteeltm Feb 4, 2025
17cd1fd
ajax cleanup
ssteeltm Feb 4, 2025
4ed9c5c
Start new changelog
Feb 4, 2025
9218d82
Fix unbilled tickets report permissions - requires sales read rights …
Feb 4, 2025
3de97fc
nullable_htmlentities
ssteeltm Feb 4, 2025
1ca3166
Cron scripts should log using logApp
Feb 4, 2025
1bbf7c7
rm old debugging message
Feb 4, 2025
cdc0422
Allow adding custom links to the client portal nav-bar
Feb 4, 2025
65bb1b4
alter ticket_kanban to ticket_order
ssteeltm Feb 4, 2025
ee2e4b6
ticket kanban settings
ssteeltm Feb 4, 2025
11203f1
notification when resolved
ssteeltm Feb 4, 2025
b147bc4
Client Portal Tickets - Show category field, tidy the perms check
Feb 5, 2025
66ab0d3
Update changelog
Feb 5, 2025
341ff69
Only show tasks if ticket is open OR when ticket is resolved & there …
Feb 5, 2025
a29bfc3
Only show tasks if ticket is open OR when ticket is resolved & there …
Feb 5, 2025
0172895
Rename password rotation report to credential rotation report
Feb 5, 2025
9ce502c
Comment old perms functions
Feb 5, 2025
db5cfed
Update to new perms system
Feb 5, 2025
abd985d
Create report landing page from nav menu
Feb 5, 2025
6df3a35
Move reports perms to new role system
Feb 5, 2025
a769993
swap donate link for sponsor services link
Feb 5, 2025
55c761b
rv
Feb 5, 2025
c36fb6a
rv
Feb 5, 2025
2fe7bf6
Taking a different approach. Utilize the existing file upload functio…
Feb 5, 2025
506783f
Merge pull request #1167 from itflow-org/portal-custom-links
johnnyq Feb 6, 2025
d92b803
Merge pull request #1158 from ssteeltm/kanban_tickets
johnnyq Feb 8, 2025
72ae784
Show record details in listing filter footer Showing X of X of X Records
johnnyq Feb 8, 2025
4ed0767
Show record details in listing filter footer Showing X of X of X Records
johnnyq Feb 8, 2025
a69b607
Dedup Notications code and move to a modal instead of a drop menu
johnnyq Feb 9, 2025
eac46d0
fix conflitct
ssteeltm Feb 10, 2025
08ebede
Merge pull request #1165 from ssteeltm/tasks_moves
johnnyq Feb 10, 2025
fc24bcb
Moved Transfer Asset to Client to a Bulk Action and create Primary In…
johnnyq Feb 10, 2025
2c85922
Clone all Interfaces of asset when transfering to a new client jut th…
johnnyq Feb 10, 2025
2ec3860
Fixed URI links for credentials in asset details and contacts details
johnnyq Feb 11, 2025
d97da07
Restricted users by client now shows the correct client count, also m…
johnnyq Feb 11, 2025
7509301
Fix Edit Login under Contact and Asset Details, had to redo the SQL q…
johnnyq Feb 11, 2025
f0cc941
Added custom css class grab-cursor so it turns the cursor into a grab…
johnnyq Feb 11, 2025
228a457
Remove dup css styles
johnnyq Feb 11, 2025
a2e16f9
Removed Task Order Input from Task edit modal as this is done by drag…
johnnyq Feb 11, 2025
8d8b0f4
Feature: Ability to create multiple interfaces/ports in one swoop wit…
johnnyq Feb 12, 2025
fe762ef
Asset Interfaces: Renamed Port to Description, added Interface Type
johnnyq Feb 12, 2025
b8d17be
Fix Ticket Priority Sorting, now sorts by prioty when clicked
johnnyq Feb 12, 2025
1b8cd56
Fix recurring Tickets priority var
johnnyq Feb 12, 2025
33beae6
Tickets can not be categorized in bulk
johnnyq Feb 13, 2025
c81b430
Feature: Ability to import and export Asset Interfaces via CSV
johnnyq Feb 13, 2025
2e9e49a
Added the Ability Set which interface is primary under add / edit int…
johnnyq Feb 13, 2025
5ed5473
Add Nat IP Field to Interfaces
johnnyq Feb 13, 2025
7452e8f
Update some Asset Details Headings
johnnyq Feb 13, 2025
1178610
Enhanced the add/edit interface Modal UI into tabs
johnnyq Feb 14, 2025
74a1603
Started work on AJAX with a different approach, this is WIP but edit …
johnnyq Feb 15, 2025
298a584
Remove Test Code that end up not using
johnnyq Feb 15, 2025
9458c1c
Added data-toggle='ajax-modal' to trigger the ajax modal instead, als…
johnnyq Feb 15, 2025
6156046
Seems like I have to readd some Javascript functions into the ajax fo…
johnnyq Feb 15, 2025
36e1df9
Moved edit client, notification, and create contact note to the new a…
johnnyq Feb 15, 2025
ed0b192
Added data-modal-size to the new ajax generic modal functin to define…
johnnyq Feb 15, 2025
7c070e3
Migrated edit asset interface to use the new AJAX function
johnnyq Feb 15, 2025
5f02bc0
Delete the old asset Interface edit modal as we are using the new AJAX
johnnyq Feb 15, 2025
ca0b1a1
Edit and Copy Assets is now using the new AJAX function
johnnyq Feb 16, 2025
4a3154b
Remove the old asset edit modal in favor of the new AJAX function
johnnyq Feb 16, 2025
b6ffa05
migrated credentials and expenses edit modals to the new AJAX function
johnnyq Feb 16, 2025
5f7b297
UI tidy work on header for Viewing Message in Queue
johnnyq Feb 16, 2025
3cf33af
Let AJAX handle the model header
johnnyq Feb 16, 2025
093fd69
Migrated Ticket Priority, Assign Agent, Assign Contact, Ticket Billab…
johnnyq Feb 16, 2025
ccec330
Migrated project, transfer and quote edit to the new AJAX modal function
johnnyq Feb 17, 2025
b0a79c1
remove legacy quote copy modal, dont show client selection in quote c…
johnnyq Feb 17, 2025
a8f6822
Add DB logic for quote file upload
Feb 17, 2025
72a84af
Merge branch 'develop' into quote-upload
wrongecho Feb 17, 2025
08f2a30
Merge pull request #1166 from itflow-org/quote-upload
wrongecho Feb 17, 2025
a8b63ed
Quote - remove reference to old modal
Feb 17, 2025
7aa773b
Update changelog
Feb 17, 2025
64a6b7d
Client files - allow uploading .key files
Feb 17, 2025
650b875
Migrated Edit Recurring Invoice, Revenue over to the new AJAX modal
johnnyq Feb 17, 2025
e02d45d
More Migration to AJAX Modal
johnnyq Feb 17, 2025
2467274
Ported users, roles, categories, tags edit to new AJAX modal function
johnnyq Feb 18, 2025
206dfc2
Show related documents in asset details
johnnyq Feb 18, 2025
f6e33d5
Added Document Quick View to asset and contact details
johnnyq Feb 18, 2025
43b50c4
Combined client_quotes.php and quotes.php into one file quotes.php ch…
johnnyq Feb 18, 2025
d8955f1
Added Asset Purchase reference to assets to reference an invoice or P…
johnnyq Feb 18, 2025
f920b8f
Fixed missing vendor name and category name for receipt filename in e…
johnnyq Feb 18, 2025
b9f6871
Migrated Edit Line Item to new AJAX modal function, adjusted the logi…
johnnyq Feb 18, 2025
a9e3e47
Added back option for 500 records per page as we have successfully mo…
johnnyq Feb 18, 2025
88ee9b6
Migrated Tax, custom link edit over to the new AJAX model function
johnnyq Feb 18, 2025
6f8cc40
Changed header names from logins to credentials in asset and contact …
johnnyq Feb 19, 2025
1dee1b4
Add missing LIMIT 1 to ajax edit items
johnnyq Feb 19, 2025
f8e4163
Merged Client Trip and Global Trips along with exports into 1 managab…
johnnyq Feb 19, 2025
f723450
Merged Client Invoices and Invoices into one file using logic at the …
johnnyq Feb 19, 2025
17489e6
Merged Client Payments and Payments into one file using logic at the …
johnnyq Feb 19, 2025
e6e30dc
Migrated domain edit to the new AJAX Modal functon
johnnyq Feb 19, 2025
78ae44c
Migrated domain and certificate edit to the new AJAX modal function
johnnyq Feb 19, 2025
78cfda1
Merged Global Recurring Tickets with Client Recurring Tickets seperat…
johnnyq Feb 19, 2025
a5ff978
Merged Global Recurring Invoices with Client Recurring Invoices seper…
johnnyq Feb 19, 2025
d228c30
Merged Global Tickets with Client Tickets seperated them with some he…
johnnyq Feb 19, 2025
19daa28
Merged Files Vendors with Client Vendors seperated them with some hea…
johnnyq Feb 19, 2025
eab441d
No need to enforce client permission check as its already handled in …
johnnyq Feb 19, 2025
a2c77cf
Merged Client and Global Calendar into one code base seperated them w…
johnnyq Feb 19, 2025
2fe8adc
Simplified Client URL Handling in global client header logic
johnnyq Feb 19, 2025
afdb4c0
Converted edit Calendar to the new ajax modal function
johnnyq Feb 19, 2025
4c02a4e
Moved Edit Network over to the new AJAX modal function
johnnyq Feb 19, 2025
7f5893a
Moved Edit Recurring Ticket over to the new AJAX modal function
johnnyq Feb 20, 2025
70495ef
Created whole new section Client Overview to get a global view of all…
johnnyq Feb 20, 2025
d76d405
Make contacts global view compatible, remove bulk mail from admin as …
johnnyq Feb 20, 2025
a5d69d4
Show select Client when adding items in Client Overview / Global View
johnnyq Feb 20, 2025
15d7875
Fix Client Selection
johnnyq Feb 20, 2025
7628fc2
Fixed Shared links not showing in the client overview until a user op…
johnnyq Feb 20, 2025
2795b4e
Added Global Views for Licenses, Credentials and Certificates
johnnyq Feb 20, 2025
fc00b5e
Added Location to Global View, updated links and fixed password pop o…
johnnyq Feb 20, 2025
713bd0d
Added Network to Global View and updated links
johnnyq Feb 20, 2025
fe68a1f
Services is now in global view
johnnyq Feb 20, 2025
162ce82
Hide client related form elements when Creating Entities in the clien…
johnnyq Feb 20, 2025
ab3ffdf
Update more links rearrange Client Overview Side menu to match client…
johnnyq Feb 21, 2025
64f3df6
Add Some Client Permission Checks to the new Global View and some tid…
johnnyq Feb 21, 2025
c1548ce
Connected Asset Links are now clickable
johnnyq Feb 21, 2025
22cd28d
Added Connected Device Icon as well
johnnyq Feb 21, 2025
43c8e07
Merge branch 'itflow-org:master' into drag-and-drop-items
ssteeltm Feb 21, 2025
073713a
Drag and Drop Ticket Template Tasks
Feb 21, 2025
17920e3
update admin_ticket_template_details.php
ssteeltm Feb 21, 2025
554c4d9
Drag and Drop Quote Items
ssteeltm Feb 21, 2025
4dd55df
Drag and Drop for Invoice Items
ssteeltm Feb 21, 2025
b10d757
drag drop for recurring invoices
ssteeltm Feb 21, 2025
1b59eef
Added Quick Details Modal for Assets
johnnyq Feb 21, 2025
94ff910
Merge pull request #1171 from ssteeltm/drag-and-drop-items
johnnyq Feb 21, 2025
87779e5
Show Quick Asset details when clicking on a connected asset also when…
johnnyq Feb 21, 2025
25db6c6
Replaced more contact Links with the new ajax contact details modal, …
johnnyq Feb 22, 2025
5c3e0f0
Added Contact Info to the new contact details akax modal
johnnyq Feb 22, 2025
e0a1e45
Updated Asset Details AJAX modal to include its own details as well
johnnyq Feb 22, 2025
86212ee
Update Changelog
johnnyq Feb 22, 2025
9b5eb86
Changelog Update, Allow to view unlimited notifications
johnnyq Feb 22, 2025
2a974c2
Remove old item ordering logic for invoice, recurring invoice and quote
johnnyq Feb 22, 2025
8a13207
Fixed dragula css and js to not prepend /
johnnyq Feb 22, 2025
5d18e85
Don't auto generate Client Abbreviation on the fly on the side bar. T…
johnnyq Feb 22, 2025
8eea19d
Small permissions fix for client-specific access
wrongecho Feb 22, 2025
58a8f08
Fix broken product edit due to wrong field being called
johnnyq Feb 22, 2025
7e041d5
Move Client Overview to the bottom of the side nav
johnnyq Feb 22, 2025
69850f8
Add s
johnnyq Feb 22, 2025
2d39f21
Merge pull request #1173 from itflow-org/small-fix
johnnyq Feb 22, 2025
8d05633
Auto set client abbreviation if not set in add or edit client
johnnyq Feb 22, 2025
0e3959c
Updated Client Access Permissions to use the defined in check_login.php
johnnyq Feb 22, 2025
915161d
Fixed Revenue Edit category and account fields also removed currency …
johnnyq Feb 22, 2025
daeb71a
Update the App Version to 25.02 for prep on release
johnnyq Feb 22, 2025
2cddda5
Updated Changelog
johnnyq Feb 22, 2025
c022e5f
Last fix document edit loading tonymce
johnnyq Feb 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
custom: ["https://donate.itflow.org"]
custom: ["https://services.itflow.org"]
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@

This file documents all notable changes made to ITFlow.

## [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

### 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
- 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
- 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

## [25.01.3]
### Fixed
- Fixed ticket assignment modal showing client contacts.
Expand Down
17 changes: 14 additions & 3 deletions accounts.php
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,15 @@
?>

<tr>
<td><a class="text-dark" href="#" data-toggle="modal" data-target="#editAccountModal<?php echo $account_id; ?>"><?php echo $account_name; ?></a></td>
<td>
<a class="text-dark" href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_account_edit.php"
data-ajax-id="<?php echo $account_id; ?>"
>
<?php echo $account_name; ?>
</a>
</td>
<td><?php echo $account_currency_code; ?></td>
<td class="text-right"><?php echo numfmt_format_currency($currency_format, $balance, $account_currency_code); ?></td>
<td>
Expand All @@ -94,7 +102,11 @@
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editAccountModal<?php echo $account_id; ?>">
<a class="dropdown-item" href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_account_edit.php"
data-ajax-id="<?php echo $account_id; ?>"
>
<i class="fas fa-fw fa-edit mr-2"></i>Edit
</a>
<?php if ($balance == 0 && $account_id != $config_stripe_account) { //Cannot Archive an Account until it reaches 0 Balance and cant be selected as an online account ?>
Expand All @@ -109,7 +121,6 @@
</tr>

<?php
require "modals/account_edit_modal.php";
}
?>

Expand Down
153 changes: 0 additions & 153 deletions admin_bulk_mail.php

This file was deleted.

22 changes: 13 additions & 9 deletions admin_category.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@

?>


<div class="card card-dark">
<div class="card-header py-2">
<h3 class="card-title mt-2"><i class="fa fa-fw fa-list-ul mr-2"></i>
Expand Down Expand Up @@ -134,10 +133,15 @@ class="fas fa-fw fa-archive mr-2"></i>Archived</a>

?>
<tr>
<td><a class="text-dark" href="#" data-toggle="modal"
data-target="#editCategoryModal<?php echo $category_id; ?>">
<td>
<a class="text-dark" href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_category_edit.php"
data-ajax-id="<?php echo $category_id; ?>"
>
<?php echo $category_name; ?>
</a></td>
</a>
</td>
<td><i class="fa fa-3x fa-circle" style="color:<?php echo $category_color; ?>;"></i></td>
<td>
<div class="dropdown dropleft text-center">
Expand All @@ -159,8 +163,11 @@ class="fas fa-fw fa-archive mr-2"></i>Archived</a>
<?php
} else {
?>
<a class="dropdown-item" href="#" data-toggle="modal"
data-target="#editCategoryModal<?php echo $category_id; ?>">
<a class="dropdown-item" href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_category_edit.php"
data-ajax-id="<?php echo $category_id; ?>"
>
<i class="fas fa-fw fa-edit mr-2"></i>Edit
</a>
<a class="dropdown-item text-danger confirm-link"
Expand All @@ -177,8 +184,6 @@ class="fas fa-fw fa-archive mr-2"></i>Archived</a>

<?php

require "modals/admin_category_edit_modal.php";

}

?>
Expand All @@ -193,5 +198,4 @@ class="fas fa-fw fa-archive mr-2"></i>Archived</a>

<?php
require_once "modals/admin_category_add_modal.php";

require_once "includes/footer.php";
21 changes: 10 additions & 11 deletions admin_custom_link.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,16 +96,21 @@
$custom_link_location = intval($row['custom_link_location']);
if ($custom_link_location == 1) {
$custom_link_location_display = "Main Side Nav";
} else {
} elseif ($custom_link_location == 2) {
$custom_link_location_display = "Top Nav";
} elseif ($custom_link_location == 3) {
$custom_link_location_display = "Client Portal Nav";
}

?>
<tr>
<td>
<a href="#" data-toggle="modal" data-target="#editLinkModal<?php echo $custom_link_id; ?>">
<i class="fa fa-fw fa-<?php echo $custom_link_icon; ?> mr-2"></i>
<?php echo $custom_link_name;?>
<a href="#"
data-toggle="ajax-modal"
data-ajax-url="ajax/ajax_custom_link_edit.php"
data-ajax-id="<?php echo $custom_link_id; ?>"
>
<i class="fa fa-fw fa-<?php echo $custom_link_icon; ?> mr-2"></i><?php echo $custom_link_name;?>
</a>
</td>
<td><?php echo $custom_link_order_display; ?></td>
Expand All @@ -117,7 +122,7 @@
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editLinkModal<?php echo $custom_link_id; ?>">
<a class="dropdown-item" href="#" data-toggle="ajax-modal" data-ajax-url="ajax/ajax_custom_link_edit.php" data-ajax-id="<?php echo $custom_link_id; ?>">
<i class="fas fa-fw fa-edit mr-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
Expand All @@ -130,10 +135,6 @@
</tr>

<?php

require "modals/admin_custom_link_edit_modal.php";


}

?>
Expand All @@ -148,6 +149,4 @@

<?php
require_once "modals/admin_custom_link_add_modal.php";

require_once "includes/footer.php";

9 changes: 6 additions & 3 deletions admin_document_template.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,12 @@
<i class="fas fa-ellipsis-h"></i>
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#editDocumentTemplateModal<?php echo $document_id; ?>">
<a class="dropdown-item" href="#"
data-toggle="ajax-modal"
data-modal-size="xl"
data-ajax-url="ajax/ajax_document_template_edit.php"
data-ajax-id="<?php echo $document_id; ?>"
>
<i class="fas fa-fw fa-edit mr-2"></i>Edit
</a>
<div class="dropdown-divider"></div>
Expand All @@ -119,8 +124,6 @@

<?php

require "modals/admin_document_template_edit_modal.php";

}

?>
Expand Down
Loading