Commit Graph

7177 Commits

Author SHA1 Message Date
johnnyq
c53b2402e5 Spruced up the Account Statement on Guest View Invoice 2026-08-28 15:13:17 -04:00
johnnyq
6586a557ed Fix Send Client Account Statement Bug 2026-08-28 15:04:43 -04:00
johnnyq
342502073e Feature: Added Send Account Statment in Client Invoices Drop Down with Date Options and options to only include paid invoices 2026-08-28 14:50:15 -04:00
johnnyq
86ba041cdc Add Quick Send Quote / Invoice to replicate the old single click to Send Email 2026-08-28 14:40:25 -04:00
johnnyq
68b15ca49b Email Invoice Only shows Billing and Primary, Quote shows Important Billing, Primary and Technical contacts that can be selected 2026-08-28 13:43:51 -04:00
johnnyq
72e6f23e19 Send Email and Mark Sent modals for invoices and quotes (db 2.7.7)
Send Email opens a contact picker instead of hardcoding the primary contact; Mark Sent asks how it went out and takes a note. Both log recipients / method / note to the document history. Handlers moved GET -> POST.

Fixes two pre-existing bugs in the email path: archived contacts were still receiving billing copies, and every copy was addressed to the primary contact by name.
2026-08-28 13:31:22 -04:00
johnnyq
20b8fb5379 Make Add Primary links small 2026-08-28 00:44:47 -04:00
johnnyq
097891ed96 Add Primary Location / Contact if missing link modals 2026-08-28 00:26:40 -04:00
johnnyq
6d13237a17 DB Structure Update 2026-08-28 00:13:20 -04:00
johnnyq
27c5502de2 Index the per-parent child fetches and the mail queue loop (db 2.7.6) 2026-08-28 00:11:22 -04:00
johnnyq
8f884f789a Cleanup - fix two broken script paths and drop 29 dead/duplicate files (348KB of unused FullCalendar themes) 2026-08-28 00:01:44 -04:00
johnnyq
1119e13e5d restore nice toast alerts 2026-08-27 23:54:04 -04:00
johnnyq
988788b7c0 Add height placeholder to calendar to reduce jankiness on load 2026-08-27 23:50:19 -04:00
johnnyq
f182eec0b1 Fix content area flashing blank on every client page - defer the client delete modal's script so it stops blocking the parser mid-body 2026-08-27 23:26:29 -04:00
johnnyq
1eabf1ec7d Cleanup CSS Drop dead view transitions 2026-08-27 23:10:39 -04:00
johnnyq
0838ed07ec Add indexes on the client-scoped columns (db 2.7.5)
None of the *_client_id columns carried an index, so agent/includes/inc_all_client.php was doing a full table scan per badge count before the page rendered a byte - 27 of them. The main agent context runs 8 counts and the admin context none, which is why the client side nav was the only one that felt slow.

24 indexes, shaped (<entity>_client_id, <entity>_archived_at) where the query pairs the two and the client column alone otherwise. The archived column is always trailing and never an index of its own - on a healthy instance nearly every row has it NULL, so it cannot lead. recurring_tickets, services, invoices, recurring_invoices and calendar_events get a single column because their queries carry no archived filter; invoices is in that group because the money total there spans archived rows on purpose. payments.payment_invoice_id and transfers.transfer_revenue_id are join keys rather than client scoping but sit on the same page's critical path.

Migration checks information_schema.STATISTICS before each ALTER, since MySQL has no ADD INDEX IF NOT EXISTS and re-adding is an error - safe to re-run and safe where an index was added by hand. db.sql carries the same keys so fresh installs skip the update step.

Wider than the side nav: these are the columns clientScopeSql() filters on, so every client-scoped list page was paying for their absence. Expect the ALTERs to be the slow part of the upgrade on a mature instance.
2026-08-27 22:59:14 -04:00
johnnyq
877474b7f0 Speed up client context pages - badge counts are now one query per table instead of one per number (43 -> 27 queries per page load, invoices scanned once instead of eight times) 2026-08-27 22:47:09 -04:00
johnnyq
f980893cb1 Make each page refresh feel less Jenky with Smooth Fade Page Transitions 2026-08-27 22:44:53 -04:00
johnnyq
6d5152d1e6 Fix Tom Select JS Jankiness on page load 2026-08-27 19:06:36 -04:00
johnnyq
131b10eeb0 Fix Active Side nav Highlight 2026-08-27 18:43:14 -04:00
johnnyq
12ed62326a Add Holiday / Closure Days to SLA to pause SLA timer on defined days, also has a US Holiday Importer 2026-08-27 17:58:02 -04:00
johnnyq
32811fd1d2 Security: gate and client-scope the client overview record pages 2026-08-27 15:27:55 -04:00
johnnyq
4e1d72e06d Roll SLA email targets up to business days, escape priority, validate priority in the tickets API 2026-08-27 15:15:40 -04:00
johnnyq
ac175e7dc0 Add SLA response target to ticket created emails, with a call-in note on High and Urgent 2026-08-27 15:03:31 -04:00
johnnyq
855a608ee4 Default to Public reply by default in Ticket Reply 2026-08-27 13:15:15 -04:00
johnnyq
bf04d6a757 Ticket default to Medium Priority unless specified, as this is just good practice 2026-08-27 13:04:19 -04:00
johnnyq
069f587c1d Implemented Check for updates which removs the last shell exec from web ui, and reimplemented db_update switch to update_cli.php 2026-08-26 23:38:23 -04:00
johnnyq
14c38b9814 Remove DB Update from WebUI as this is handled by the update_cli backend 2026-08-26 22:59:17 -04:00
johnnyq
51c925522c Remove thr web updater this is now either queued from the web or ran from the shell to update 2026-08-26 22:53:29 -04:00
johnnyq
93fc6cd2ef Offset background color fix datepciker empty right column 2026-08-26 22:42:20 -04:00
johnnyq
1bebd2d578 Fix Light mode Initialization flash when in dark mode 2026-08-26 22:09:29 -04:00
johnnyq
2409c98e1e Added Border End to clients checkbox column 2026-08-26 15:20:15 -04:00
johnnyq
e637da615e Added More Meaningful nothing matches filters or no records exist 2026-08-26 15:12:16 -04:00
johnnyq
806732c8f5 Display Phone number Country Codes 2026-08-26 14:19:32 -04:00
johnnyq
422f88c25e Retain PHone Country code on edit 2026-08-26 14:11:23 -04:00
johnnyq
96f2c697c6 use intl js lib across all phone number fields 2026-08-26 13:53:27 -04:00
johnnyq
cfafc385f0 Bump intl-tel-input 2026-08-26 13:14:32 -04:00
johnnyq
3d9a41bec4 Bump imapengine from 1.25.4 to 1.25.6 and dependencies 2026-08-26 13:02:29 -04:00
johnnyq
71cfdf5e39 Pruned printer custom css patches as upstream vendor adminlte fixed the issue 2026-08-26 12:33:34 -04:00
johnnyq
6d043948b4 Updated Adminlte from 4.8.5 to 4.9.1 to fix print issues 2026-08-26 12:24:16 -04:00
johnnyq
0440aa8ffa Fix copy to clipboard to be a ntn-link instead of a button fixes adminlte4 regression 2026-08-25 18:42:37 -04:00
johnnyq
c6d642fbe7 Use new lte skin preview class for themes instead of colored circles 2026-08-25 18:31:33 -04:00
johnnyq
d20e3f78d1 Add Margin and remove un needed card surrounding calendar 2026-08-25 18:00:51 -04:00
johnnyq
fdc2a8c2c3 Switch some bg-primary to bg-blue so they are consistent across themes, use new bs5 to reduce width on certain form inputs 2026-08-25 17:44:18 -04:00
johnnyq
4b9c53675c Use AdminLTE4 new nav bar Search class looks great 2026-08-25 17:09:38 -04:00
johnnyq
5cf14ee74b Fix Extra Blank Page when printing, adminlte bug created overide, Do not include cards border on print like adminlte3 and shrink the font on print 2026-08-25 16:56:07 -04:00
johnnyq
4da086206c Prune un-nessary overides in itflow custom css as adminlte 4.8.5 fixed the issues 2026-08-25 16:08:53 -04:00
johnnyq
0843dc94fb Update AdminLTE from 4.7.0 to 4.8.5 and switched adminlte colors to use min version 2026-08-25 15:52:48 -04:00
johnnyq
3a19921edf Add Darkmode support for Sweetalert2 Modals 2026-08-25 15:38:20 -04:00
johnnyq
bd868d8e0a Keep networks side nav active in network IP view 2026-08-25 12:40:55 -04:00