Commit Graph
77 Commits
Author SHA1 Message Date
Thanakorn S 4f884177a5 Seal live dashboard event gaps 2026-05-25 17:02:52 +07:00
Thanakorn S 4733c78ac6 Close login gap 2026-05-25 15:34:12 +07:00
Thanakorn S 9b41c0a73a PHP event trigger by NodeJS [stock dashboard] 2026-05-25 14:33:36 +07:00
Thanakorn S ba96de50a1 stock aggregate table 2026-05-25 13:30:10 +07:00
Thanakorn S 293097363b login/ block concurrent login, allow single factor authen for staff and viewer 2026-05-25 09:43:30 +07:00
Thanakorn SandClaude Sonnet 4.6 b07882e3f4 code audit fixes: require_once, issue flow, role guards
- Upgraded all plain `require` to `require_once` across 172 api/engine
  and api/engine_report files to prevent class-redeclaration errors
- Added issue button, issue_invoice() with GL toastr, and delete_invoice()
  to expense/manage_purchase_invoice.php, bringing it in line with
  po/manage_purchase_invoice.php
- Added can_delete role guard (admin/owner only) to trash icons on
  revenue/invoice.php and expense/purchase_invoice.php, matching the
  existing pattern in finance/receipt.php and finance/payment.php

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 17:06:08 +07:00
Thanakorn S eddb10aa22 automate and view gl entries 2026-05-23 16:46:35 +07:00
Thanakorn S 363da054e0 batch journal entries 2026-05-23 15:55:22 +07:00
Thanakorn S 65e9c1668d accounting Reports 2026-05-23 15:07:11 +07:00
Thanakorn S f4ef776e9c fix file path 2026-05-23 13:11:22 +07:00
Thanakorn S 59037b5158 fix file path 2026-05-23 13:09:18 +07:00
Thanakorn S f5ea74e134 gl aggregate table (ETL), cronjob by NODEJS 2026-05-23 10:52:27 +07:00
Thanakorn S 9c275eb358 NODE JS introduction: socket polling 2026-05-22 17:01:59 +07:00
Thanakorn S 2410f7bade softDelete features 2026-05-22 14:07:22 +07:00
Thanakorn S f04554793e users app access badge 2026-05-22 13:21:46 +07:00
Thanakorn S ba8e275426 user badge 2026-05-22 10:42:01 +07:00
Thanakorn S e36d304521 use roles guards 2026-05-22 08:45:35 +07:00
Thanakorn S b76dc679af fix onboarding bugs 2026-05-21 16:51:19 +07:00
Thanakorn SandClaude Sonnet 4.6 fdf6292466 add setup.php — one-shot production database setup script
Creates wms + wms2 databases and all 54 tables from scratch using
CREATE TABLE IF NOT EXISTS. Reads credentials from app/config.php.
Safe to re-run (idempotent). CLI-only guard prevents web access.
Dynamic td_stock_<warehouse_id> tables are excluded — the app creates
them automatically on first warehouse use.

Run: php setup.php

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:21:36 +07:00
Thanakorn SandClaude Sonnet 4.6 94032dd65b fix StockManager lot/serial coercion + add document flow test suite
- StockManager: coerce lot_number/serial_number to trimmed string (fixes
  Array-to-string warnings); validate quantity > 0 on insert; tighten
  transfer pair lookup to match in/out side by column value
- PostingWindowGuard: strip time component from datetime strings before
  date-format validation
- docs/tests/doc_flow_test.php: 32-assertion document flow suite covering
  Stock In create + approve, Sales Order draft/confirm, Invoice from Order
  (with duplicate-block check), PO create/confirm, Quotation create, and
  usage increment wiring check; all 32/32 PASS against wms_codex_test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 14:20:41 +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 8ec2e89f79 merge accounting app and solve conflict 2026-05-20 13:22:17 +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 bf3be28f79 JSON output 2026-05-13 16:41:28 +07:00
Thanakorn S 8cf1d9344c fix db_auth 2026-05-13 16:28:38 +07:00
Thanakorn S c7b6791e3a revert 2026-05-13 16:22:31 +07:00
Thanakorn S 47ccd7585b debug server error 2026-05-13 16:19:04 +07:00
Thanakorn S 4433ef184e fix registration 2026-05-13 16:15:19 +07:00
Thanakorn S 04a683bd02 accounting modules 2026-05-13 15:11:24 +07:00
Thanakorn S 511360faa2 dashboart stats: as of date 2026-05-13 09:49:15 +07:00
Thanakorn S 3614b72924 populate test data 2026-05-13 09:28:06 +07:00
Thanakorn S 79e66bd354 add forget password 2026-05-12 17:19:22 +07:00
Thanakorn S 8f1c5c49fd fix onboarding 2026-05-12 17:02:13 +07:00
Thanakorn S 836093c0a9 automate setup process 2026-05-12 14:34:55 +07:00
Thanakorn S 2afaef53a0 dynamin base url 2026-05-12 14:11:00 +07:00
Thanakorn S 5c6a478b40 Final prep for production 2026-05-12 13:55:39 +07:00
Thanakorn S adfd5ef017 stockmovement: add summary views 2026-05-11 16:55:23 +07:00
Thanakorn S 7a87909392 web app security fix 2026-05-11 13:49:44 +07:00
Thanakorn S d989e59edc clear unrelevant files 2026-05-11 08:42:40 +07:00
Thanakorn S d57a361aa6 finalize logo 2026-05-08 16:19:56 +07:00
Thanakorn S 304848d3f4 Naming consistance and SESSION issue 2026-05-08 12:04:10 +07:00
Thanakorn S e4a35c7fac gitignore test scripts 2026-05-07 11:44:51 +07:00
Thanakorn S a75d37e841 closing security gap [ignore guarding change for now] 2026-05-07 10:29:14 +07:00
Thanakorn S a24930f684 centralize roles guards 2026-05-07 09:26:39 +07:00
Thanakorn S 0d2fa3e3bd encapsulate setting api [OOP] 2026-05-07 08:56:40 +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 797dee5d17 Update Ignore files 2026-05-06 15:39: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 f6dc9a3278 modify classed and comments 2026-04-29 14:21:09 +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 d8fd30c961 Login , Register ,and onboarding 2026-04-28 11:59:49 +07:00
Thanakorn S d8c55d278a app settings 2026-04-27 10:50:31 +07:00
Thanakorn S 76b9b2a2cb reports 2026-04-25 16:02:55 +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 8834d672ba Product: FILE uploads 2026-04-21 11:31:51 +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 93d903c4b2 Remove config.php from tracking, update .gitignore 2026-03-09 09:17:00 +07:00
Thanakorn S 1843308870 DONE dropzone upload 2026-02-25 17:21:50 +07:00
Thanakorn S 8625652fe7 Dropzone 2026-02-24 11:18:04 +07:00
Thanakorn S 42a38760a3 test verified commit 2026-02-21 10:59:04 +07:00
Thanakorn S 9a50080ae5 init wms 2026-02-19 14:48:40 +07:00