johnnyq
6ecc27e7ca
Version ITFlow's scripts and stylesheets so browsers fetch the new copies after an update instead of needing a cache clear: add staticFileUrl() in functions/app.php, which adds ?v= and the file's modification time to the address, and send every script and stylesheet tag through it, libs included, with page-relative addresses changed to start from the site root; add js/tinymce_defaults.js to set TinyMCE's cache_suffix so the plugins, theme and skins it loads itself are versioned too; load ticket collision detection only when a ticket is shown, so a ticket that isn't found no longer throws a script error; add changelog entries and a CONTRIBUTING rule that new tags must use staticFileUrl()
2026-11-09 01:22:35 -05:00
johnnyq
53e6564f76
Stop row actions menus being cut off on short lists - a list's table scrolls sideways inside .table-responsive, which also clipped a row's menu at the bottom of the list when it had only a row or two, hiding its last options; new js/bootstrap_defaults.js, loaded right after Bootstrap on agent pages and the client portal, sets Bootstrap's dropdown default to Popper's fixed strategy so menus open over the page and still turn upward when there's no room below, covering every list, the board, modals and the portal, with navbar menus unaffected; changelog updated
2026-11-06 18:51:50 -05:00
johnnyq
e84e3e7e49
Client portal stage 2: billing in the portal - invoices and quotes open in the portal with PDF download and print, Pay invoices pays several invoices as one Stripe card payment with a saved card or a new card on a checkout page (one payment per invoice under a shared reference, booked once under a lock, one receipt and one paid notification), quotes accepted or declined with the contact's name and a note plus signed copy or PO upload, payments list with printable receipts, statement with aging and the shared statement PDF, recurring invoice page with autopay, Cards and autopay on one page, quotes waiting and past-due invoices on home, Ask us links prefill a ticket subject; shared billingQuoteAnswer and billingQuoteAddFiles used by the guest links too, new functions/billing_pay.php, Stripe-aware CSP for card pages with js/portal_stripe.js, nightly Stripe fee reconciled once per payment reference, Stripe refund limited to the payment's own amount, old add_payment_by_provider removed
2026-10-17 02:12:05 -04:00
johnnyq
c6eadf3fa3
Client portal stage 1, look, home and tickets: a new light shell with the company logo or initials on the theme colour, sections shown by what each contact may open (Home, Tickets, Billing for billing contacts, Your IT for technical contacts, custom links), New ticket and an account menu with a dark mode switch kept in a cookie, a bottom tab bar and slide-in menu on phones, and the welcome banner removed; a rebuilt home showing what needs the contact (tickets waiting on their reply or to confirm, approvals, past-due invoices), open tickets, balance with Pay invoices, renewals in the next 45 days, their devices with warranty status and the company phone and email; tickets rebuilt with Open, Waiting on you, Resolved, Closed and All tabs with counts, search, paging and the whole company's tickets for primary and technical contacts with a Mine filter, the old all-tickets page redirecting there; a ticket page with progress steps, the conversation oldest first, approvals, details alongside, replies with drag and drop attachments, It's fixed, close or reopen and rating; New Ticket with priority, category, device and attachments; fixes downloading files from internal notes, files on closed tickets not downloading, new tickets linking to another client's device or a non-ticket category, empty replies and tickets being accepted, PHP warnings on Pay invoices and Recurring invoices with no payment provider, and Bootstrap icons and the editor setup blocked by the portal CSP, which now allows data: images; new js/portal.js and portal helpers in client/functions.php, ticketPortalStatusHtml removed; changelog updated
2026-10-17 01:28:27 -04:00
johnnyq
69484a8a2e
Replace Tom Select with ITFlow's own select picker: native select stays the source of truth, search, checklists for multi selects, add-your-own for tag fields, phone sheet, and client/agent/contact avatars, tag and category colours, priority dots and asset icons in the options
2026-10-13 12:41:29 -04:00
johnnyq
49106e2a80
UI fixes: confirm irreversible actions, keep reply drafts guarded, re-enable CSP on portal recurring invoices
...
- Add confirm-link to 14 one-click delete/disable links (asset, contact,
files, templates, logo, MFA, calendar event, disable user, cancel schedule)
- confirm_modal.js treats btn-danger / btn-outline-danger as destructive
- Replace per-editor window.onbeforeunload with one guard over all editors
- New js/autosubmit.js replaces inline onchange in the portal; CSP back on
recurring_invoices.php
- Fix blank user name in disable_user audit log
2026-10-08 16:47:12 -04:00
johnnyq
c89e3a90d4
Add Proper footers to Guest Area and client portal
2026-08-31 13:24:32 -04:00
johnnyq
be20810d18
Use Datatables for User Activity on the client portal
2026-08-28 16:19:27 -04:00
johnnyq
10fb40f36f
Feature: Major spruce up of the client portal profile page, added Department, Location, Title, Phone with Edit, editing Pin, Recent signins and recent activity along with a seperate activity page
2026-08-28 16:08:23 -04:00
johnnyq
73e10e72f2
Update filter bar, increase height on top navbar, primary buttons now inherit theme color
2026-08-15 12:55:24 -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
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
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
16242be74e
Update Client Nav to use Absolute links and updated more of the inc_alls to use Document Server Root
2025-10-07 13:44:08 -04:00
johnnyq
690007be5c
More Relative to Absolute web asset paths updates
2025-09-24 13:09:25 -04:00
wrongecho
ca6a903b8f
Keepalive
...
- Fix directory path
- Remove duplicate file
- Add to client portal
2025-09-24 08:39:45 +01:00
johnnyq
cf63a2e7d1
Fix TinyMCE License in client portal
2025-09-02 14:57:09 -04:00
johnnyq
5f76a7989b
Move portal to client and rename and reorganize some client portal files
2025-01-23 17:12:11 -05:00