johnnyq
c509b7f693
Add user-based RBAC for API keys
...
API keys now run as a user and inherit that user's module, operation, and client permissions. Drops per-key client scoping and removes existing keys (must be recreated). Adds an edit modal to change a key's user.
2026-07-25 16:50:58 -04:00
johnnyq
5c4805b822
Neutralize CSV formula injection in generated exports using the new created escapeCsvFormula Function
2026-07-24 18:12:45 -04:00
johnnyq
af51c4316f
Updated validateCSRFToken to automatically grab and compare get or post csrf token no longer need to pass an argument to the function which fixed the issue if no hash was present
2026-07-24 13:40:37 -04:00
johnnyq
c7b34fe107
Remove leftover getFallBack in client pdf export in favor of ?: '-'
2026-07-23 18:29:11 -04:00
johnnyq
41b118ab87
Add formatAddress function and replace all addresses with it
2026-07-23 18:10:39 -04:00
johnnyq
7c9bd77603
Remove unused credential view model, add enforceClient Check on export client pdf
2026-07-15 21:09:11 -04:00
johnnyq
2181e92e44
Removed valueOrDash Function was able to replace with ?: '-'
2026-07-14 18:13:34 -04:00
johnnyq
746e919aff
Replace Function getFallBack with valueOrDash()
2026-07-14 18:00:12 -04:00
johnnyq
21a23e79b0
Replace Function getSSL() with getSslCertificate()
2026-07-14 17:54:31 -04:00
johnnyq
52b5063066
Replace Function getDomainRecords() with getDnsRecords()
2026-07-14 17:53:16 -04:00
johnnyq
9d540f4bfe
Replace Function customAction() with triggerCustomAction()
2026-07-14 17:43:55 -04:00
johnnyq
b8873039a4
Rename Functions: flash_alert, sanitizeFilename and display_folder_options using camelCase instead to match other custom php functions
2026-07-14 17:41:41 -04:00
johnnyq
f1836c70cd
Replace Function logAction() with logAudit()
2026-07-14 17:35:23 -04:00
johnnyq
31cc3f3ac3
Replace Function strtoAZaz09() with toAlphanumeric()
2026-07-14 17:30:13 -04:00
johnnyq
b57ddc0e5c
Replace Function sanitizeInput() with just escapeSql() and update all instances throughout
2026-07-14 17:17:50 -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
90de4e4fe3
Client: Fix Client Abbreviation being converted to an int on edit
2026-04-17 12:15:56 -04:00
johnnyq
0e75106e1a
Client POST: Added comment regarding MySQLi Prepared statement usage within Client add/edit POST
2026-03-23 13:30:03 -04:00
johnnyq
22d33847c3
Fix edit client
2026-03-22 19:53:35 -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
9d9ebe7b9e
Added Bulk Net Terms editing in clients
2026-03-02 22:43:14 -05:00
johnnyq
ef1b65de09
Client: Add missing CSRF checks, and missing enforcements
2026-03-01 20:42:18 -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
a79ce23ae5
Fix randomString() to generate cryptographically secure URL-safe tokens, reduced url keys to 32 Characters for performance and easy copy and paste and compatibility while still mainitaining ubreakable cryptographic keys
2025-12-18 14:24:53 -05:00
johnnyq
a430bb917e
Add CSV Escaping to the Sample Export CSV Files
2025-12-02 15:18:20 -05:00
johnnyq
99e2487d2b
Fix dupe race condition with ticket, invoice, quote, project, recurring ticket numbering when being created in parallel Atomically update and get the next ticket number in one SQL query everywhere.
2025-11-28 14:14:46 -05:00
johnnyq
698b4166e8
Add back deleted client edit in post
2025-11-24 11:27:01 -05:00
johnnyq
ac7623d4f5
Update Add Client to use prepared statments
2025-11-21 20:53:04 -05:00
johnnyq
b0724f5b66
Add TOTP Secret to Export / Offboard Client Documentation PDF
2025-11-15 19:17:03 -05:00
johnnyq
723a423b06
After ticket Creation Redirect to ticket details with Client Side bar and Top bar, Remove Currency code from Client Add / Edit defaults to company currency for now
2025-11-07 14:27:22 -05:00
wrongecho
49d3dbad9a
Fix client delete
2025-11-05 10:24:39 +00:00
johnnyq
303f9174c9
Added Bulk Create Tickets for Clients
2025-10-22 14:50:50 -04:00
wrongecho
9a5a4be64a
When archiving a client, cancel recurring invoices
2025-10-15 09:20:08 +01:00
wrongecho
db7f8501d0
When archiving a client, cancel recurring invoices
2025-10-15 09:18:53 +01:00
johnnyq
3fcbe440d3
Fix Missing Missing Country code in Guest View Ticket
2025-10-07 12:34:26 -04:00
johnnyq
edabc5c33f
rename /user/ to /agent/ and update links to use agent/ instead
2025-09-23 18:04:23 -04:00