johnnyq
9bfd26d57b
Add titles to icon-only buttons
...
- title on 294 icon-only buttons, named for what each one does
- aria-label on the 7 show-password buttons (title becomes the popover
header) and the portal mobile nav toggle
- Fix dead add-category button on products filter, credential bulk tag
button now preselects Credential, drop duplicate inner-icon titles
2026-10-08 17:12:21 -04:00
Wrongecho
a41e738a9b
Add ability for recurring invoices to be generated as draft to allow review and amendment prior to sending
2026-09-14 13:22:59 +00:00
johnnyq
e7015d1595
Fix undefined item name when selecting from product list in quote or recurring invoice
2026-09-03 18:35:46 -04:00
johnnyq
bdab434707
Fix Margins in various areas
2026-08-15 13:34:38 -04:00
johnnyq
2375e69f2d
Update badge classes to bg
2026-08-15 13:00:41 -04:00
johnnyq
8c0e5246b4
Fix Card Margin bottoms client header and ticket cards on the right
2026-08-14 19:08:15 -04:00
johnnyq
bbbfff7413
All Jquery removed replaced with stand JS and non jqery dependent libs
2026-08-14 17:28:06 -04:00
johnnyq
dc6b191eed
Update Font, Migrated away from JQUERY dependent libs: toastr to bootstrap5 toasts, daterangepicker to flatpickr, select2 to Tom Select, InputMask to IMask
2026-08-14 17:08:40 -04:00
johnnyq
a084e37c39
Initial migration from AdminLTE 3 to 4, bootstrap 4 to 5
2026-08-14 13:22:11 -04:00
johnnyq
b3744e9ed5
More sweeps to replace select * with actual returned column names dramatically reduces php memory usage and speeds up processing dramatically especially in the crons since they run all the time
2026-08-06 13:10:23 -04:00
johnnyq
b8c9d5b4cf
Query Optimization: Select only needed columns instead of SELECT * on looped queries
2026-08-06 12:59:43 -04:00
johnnyq
7a44cdd438
Fix Autofill products in invoice, quotes, recurring invoice, tax field wasnt updating and a dash was being put in front
2026-08-03 13:28:41 -04:00
johnnyq
89fba247c5
Add some missing maxlength form options to prevent info overflow and result in error 500
2026-08-02 16:08:01 -04:00
johnnyq
b3f959ac55
Use Short echo tags across the code
2026-07-28 18:47:52 -04:00
johnnyq
41b118ab87
Add formatAddress function and replace all addresses with it
2026-07-23 18:10:39 -04:00
johnnyq
2c09ce097c
More Client Enforcement in modals across the app
2026-07-16 13:10:02 -04:00
johnnyq
7bc47a58fe
Replace Function nullable_htmlentities() with just escapeHtml() and update all instances throughout
2026-07-14 17:10:45 -04:00
johnnyq
8da3a107fb
Rename plugins to libs and update all file references
2026-07-10 13:24:20 -04:00
johnnyq
6122efc870
Updated all Queries related to invoice items to reflect their new tables quote, invoice, recurring invoice items
2026-03-07 19:35:44 -05:00
johnnyq
6d2cb0aea3
Split out item edits into seperate posts and modals for editing invoice, quote and recurring invoice items
2026-03-07 12:12:27 -05:00
johnnyq
a81edc122d
Add CSRF Checks on Agent ajax endpoints that would update / delete or add something to the db
2026-03-05 17:12:44 -05:00
johnnyq
f653752026
Recurring Invoice: Add missing CSRF checks and missing permissions in POST
2026-03-01 22:37:51 -05:00
johnnyq
0a30300bde
replace all instances of mysqli_fetch_array with mysqli_fetch_assoc for better performance and memory usage
2026-01-14 17:30:23 -05:00
johnnyq
c851e54e1d
Fix Decimal not showing on the iphone for specific fields associated to price cost percentage etc
2025-11-26 13:54:24 -05:00
johnnyq
edabc5c33f
rename /user/ to /agent/ and update links to use agent/ instead
2025-09-23 18:04:23 -04:00