Commit Graph

580 Commits

Author SHA1 Message Date
johnnyq
156c51224d Fix client portal review findings: PIN wipe, log indexing, statement currency (db 2.7.8)
Setting a PIN containing < or > silently cleared it: the length check ran before escapeSql(), whose strip_tags() then emptied the value, and the UPDATE stored the blank while flashing success. Length is now checked after sanitising.

Password and PIN changes require the current password. SSO contacts are exempt - no local password to check, and the IdP already did it.

New index on logs(log_user_id, log_client_id) for the portal profile and activity pages, which were scanning the whole table twice per profile view. admin/audit_logs.php's date filter rewritten as a half-open range so KEY log_created_at is usable - DATE(log_created_at) BETWEEN made it non-sargable.

Portal statement page and PDF now render in the client's currency, matching the guest view and the emailed statement.

Quick Send asks for confirmation; confirm-link extended to submit buttons.

Portal audit entries logged an empty name - client/post.php used , which only exists agent-side.
2026-08-28 16:38:42 -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
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
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
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
32811fd1d2 Security: gate and client-scope the client overview record pages 2026-08-27 15:27:55 -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
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
96f2c697c6 use intl js lib across all phone number fields 2026-08-26 13:53:27 -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
bd868d8e0a Keep networks side nav active in network IP view 2026-08-25 12:40:55 -04:00
johnnyq
59cb772a7f Revised the network info sidebar, added ip count, prefixed subnet IP in form, ajax check within network 2026-08-25 12:35:34 -04:00
johnnyq
1381add82b Feature: Added network IPs section to document network IP and their hostnames 2026-08-25 12:19:02 -04:00
wrongecho
f94181c68f Merge branch 'develop' of https://github.com/itflow-org/itflow into develop 2026-08-20 09:02:17 +01:00
wrongecho
3a64d53ca6 Bug: Fix not being able to open ticket for clients marked as a lead 2026-08-20 09:02:03 +01:00
johnnyq
858acbcd30 Bump AdminLTE which brings back AdminLTE colors 2026-08-18 12:24:31 -04:00
johnnyq
ba319a8f25 Fix d-print-none adminlte 3 override of bootstrap css class so sienavs and top navs wont print 2026-08-17 21:31:53 -04:00
johnnyq
c84bb56bc7 Fix Generate readable passwords 2026-08-17 12:59:24 -04:00
johnnyq
6df101c217 Css fixes 2026-08-16 22:25:05 -04:00
johnnyq
92377b918a Dark Mode Patches across the board for Calendar TinyMCE additonal dark mode css fixed and fixing autofocus on modal close when modal is open without a form autofocus 2026-08-16 15:57:37 -04:00
johnnyq
35ddd1a64d Feature: Designate a client record as your organization currently only provdes a direct link when you click company name in top of the side nav 2026-08-15 20:36:56 -04:00
johnnyq
6af0634f47 Ticket SLA: Fix on hold to pause only after first reply, show resolved closed and onhold as fixed on paused sla in the list 2026-08-15 19:55:40 -04:00
johnnyq
bcc73737e4 Apply custom css across the board including client portal and guest 2026-08-15 17:53:10 -04:00
johnnyq
6ef84c4547 Feature: Add Ticket Canned Responses 2026-08-15 17:29:17 -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
35239b563d Resize top nav and compoents 2026-08-14 18:53:20 -04:00
johnnyq
e2512b0f86 Fixed Side nav titles, Fixed ajax on bootstrap modals, fixed pagination all regressions 2026-08-14 18:32:33 -04:00
johnnyq
1c5803dc12 Removed dead libs pdfmake dropzone and popper, fixed missing label for ids and migrated datatables to use bootstrap 5 libs instead of of 4 2026-08-14 17:50:17 -04:00
johnnyq
6fc94d9733 Migrated confirm modal to sweetalert2 lib 2026-08-14 17:38:21 -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
2354dd1511 Migrate fully away from Jquery Stage 1 2026-08-14 17:11:01 -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
0fe6d51bdb Theme Fixes for adminlte 4 2026-08-14 14:11:13 -04:00
johnnyq
a084e37c39 Initial migration from AdminLTE 3 to 4, bootstrap 4 to 5 2026-08-14 13:22:11 -04:00