46 Commits
Author SHA1 Message Date
Thanakorn f11af6e949 Self-host front-end libraries, minimal sign-in header and CSP
- sign-in pages load only what they use (include_login_header.php, ajax_core.js)
- every library, font and data file served from assets/vendor with pinned
  versions (VERSIONS.json); no CDN at runtime
- Content-Security-Policy on app, sign-in and landing pages
- remove httpbin Dropzone target and source-map references
2026-09-24 14:53:41 +07:00
Thanakorn 8705be0d1b Enforce roles on admin endpoints and return real status codes
- users, SMTP and batch-lock endpoints are owner/admin only
- engines answer 400/403/404/409/500 instead of 200 with an error body;
  database errors no longer leak to the client
2026-09-24 14:53:40 +07:00
Thanakorn e579dd596c Start every session through session.php; idle timeout, app access and auth status codes 2026-09-24 14:30:35 +07:00
Thanakorn 033846dece Fix stock-out boot, transfer 500, Clear buttons and uncaught engine errors
Return JSON from any uncaught engine exception, stop the empty stock-out warehouse list aborting page boot, reject non-transfer rows in the transfer lookup, define the missing reset_input helper, and remove a stale unreferenced copy of confirm_order.php.
2026-09-18 20:21:34 +07:00
Thanakorn f70f226bd1 Fix timestamps, delete requests, invoice dates and GR quantities
Apply the configured timezone to PHP and both DB connections, wrap
unwrapped ajax payloads so delete buttons reach their engines, normalise
and validate invoice due dates, reject stock quantities below the stored
4dp scale, and list stock movements across all warehouses.
2026-09-17 09:00:15 +07:00
Thanakorn 693c72f9ea Fix transfer quantity, unify date format, align demo seeds
Stock Transfer list showed 0.00 (read in instead of out); stock-out/transfer forms show the location quantity; dates display as YYYY-MM-DD HH:mm:ss. Demo seeds map product accounts and use product names and supplier batches.
2026-09-15 13:09:19 +07:00
Thanakorn 4efab9f7c9 Rename retrieve_rack.php to retrieve_bin.php 2026-09-14 16:27:53 +07:00
Thanakorn S 987cf7ded9 Change 'Rack' to 'Bin' 2026-05-27 17:14:53 +07:00
Thanakorn S 5bfaf6f8c3 all .md reviewed - fix remaining gaps 2026-05-27 10:42:44 +07:00
Thanakorn S 17a62e50e4 add missing roleGuards 2026-05-27 09:19:52 +07:00
Thanakorn S 1a952b42dd Seal transaction limit coverage gaps 2026-05-26 13:10:54 +07:00
Thanakorn S 0815ae3292 document number sequence 2026-05-26 08:19:40 +07:00
Thanakorn S 5c0166ae73 Seal live dashboard event gaps 2026-05-25 17:02:52 +07:00
Thanakorn S 8027ab569e PHP event trigger by NodeJS [stock dashboard] 2026-05-25 14:33:36 +07:00
Thanakorn S 1237888ab9 stock aggregate table 2026-05-25 13:30:10 +07:00
Thanakorn S 5ca6b49fd0 code audit fixes: require_once, issue flow, role guards 2026-05-23 17:06:08 +07:00
Thanakorn S 648efee991 softDelete features 2026-05-22 14:07:22 +07:00
Thanakorn S f2b87cfd0f fix onboarding bugs 2026-05-21 16:51:19 +07:00
Thanakorn S 6eeebfeacb 1) user invitation 2) app access control 3) txn quota guard 2026-05-21 11:42:47 +07:00
Thanakorn S 91f8bb854f review code pattern consistency 2026-05-20 13:07:57 +07:00
Thanakorn S 7396db6ffc accounting workflows 2026-05-20 10:17:02 +07:00
Thanakorn S 5c6a478b40 Final prep for production 2026-05-12 13:55:39 +07:00
Thanakorn S 7a87909392 web app security fix 2026-05-11 13:49:44 +07:00
Thanakorn S 304848d3f4 Naming consistance and SESSION issue 2026-05-08 12:04:10 +07:00
Thanakorn S a24930f684 centralize roles guards 2026-05-07 09:26:39 +07:00
Thanakorn S 47cc2819d3 encapsulate Barcode Operations [OOP] 2026-05-07 08:41:08 +07:00
Thanakorn S 2eb6a1a315 roles guard + docs + logo 2026-05-06 16:37:20 +07:00
Thanakorn S ada701bd53 Barcode Operations 2026-05-06 15:27:52 +07:00
Thanakorn S d8131a01b7 cost/price/margin 2026-05-06 09:37:28 +07:00
Thanakorn S 6501d326ca [test] contact to setting modules 2026-05-06 08:58:09 +07:00
Thanakorn S 414f1cd81d warehouse layers [switchable] 2026-05-04 13:43:32 +07:00
Thanakorn S a90975d9f1 Orders: order, return, invoice 2026-05-02 16:49:21 +07:00
Thanakorn S ac4fd9a5ad implement JS password scoring, td_stock approve logicc 2026-04-30 15:14:42 +07:00
Thanakorn S db5c47b6ca Reports 2026-04-29 17:04:11 +07:00
Thanakorn S 2061624641 [OOP] contact,inventory,ics,dashboard 2026-04-28 15:44:57 +07:00
Thanakorn S 3d3b497c08 ReportManager Class 2026-04-28 14:35:42 +07:00
Thanakorn S 3cc5baba3f Lot, Serial, ExpiryDate 2026-04-25 14:37:00 +07:00
Thanakorn S 92d116fd21 remove actions and data integrity 2026-04-24 14:25:39 +07:00
Thanakorn S a75e180686 generic API response + ICS: warehouse_balance md_rack update 2026-04-23 16:06:19 +07:00
Thanakorn S ed23c269ea warehouse capacity and occupancy 2026-04-23 08:24:30 +07:00
Thanakorn S 35dd1a9fce more OOP and restructure utils 2026-04-22 15:55:18 +07:00
Thanakorn S 3b8f94f011 stock dash 2026-04-09 09:48:47 +07:00
Thanakorn S a4f474b5df ICS modules 2026-03-21 14:58:15 +07:00
Thanakorn S 2e558a55bb stock database design 2026-03-09 17:03:18 +07:00
Thanakorn S 7cb78d013b Complete security audit fixes 2026-03-09 14:31:39 +07:00
Thanakorn S 9a50080ae5 init wms 2026-02-19 14:48:40 +07:00