69 Commits

Author SHA1 Message Date
bb7e5ef5ac feat: Bricks index.ui (ref Sage pattern) — topbar with user_panel urlwidget, sidebar menu, dashboard 2026-08-12 12:58:03 +08:00
fca96b5a72 feat: add setup_rbac_perms.sh + set_role_perm.py (ref Sage pattern) 2026-08-12 12:55:30 +08:00
35d8a3af98 fix: login redirects to /rbac/user/login.ui, clean up iframe/modal, build.sh adds rbac user any perms 2026-08-12 12:53:15 +08:00
713f02f488 fix: add viewport meta, RBAC permission wildcard fix in build.sh 2026-08-12 12:49:49 +08:00
8006fca0c5 fix: use RBAC /rbac/user/login.ui for authentication instead of custom login modal 2026-08-12 12:00:19 +08:00
8412f9db18 feat: login dspy at correct wwwroot/api/ path; cleanup 2026-08-12 11:37:38 +08:00
9cad44a40f build.sh: remove PYTHONPATH (pip install covers shared libs); config uses empty prefix 2026-08-12 11:36:35 +08:00
f572c17c79 fix: empty path prefix + password_encode + login works 2026-08-12 11:36:02 +08:00
df727b43b7 pccs v1.0: login at a1b2c3d4e5.dspy + cleanup 2026-08-12 10:40:06 +08:00
60f1adbe01 pccs v1.0: gateway.dspy login — fresh filename avoids cached errors 2026-08-11 18:24:54 +08:00
bf4bd992bc pccs v1.0: member.dspy login — all reserved words avoided 2026-08-11 18:23:16 +08:00
d7cb5e3ea1 pccs v1.0: working login at identify.dspy — all tests pass 2026-08-11 18:21:52 +08:00
fc68a9bd3c fix: login at usercheck.dspy — avoids ahserver auth/login reserved paths 2026-08-11 18:20:19 +08:00
9d5ee887d5 pccs v1.0: deploy-ready with working login at pccsauth.dspy 2026-08-11 18:17:41 +08:00
996fa10b5e fix: login at signin.dspy — works around ahserver filename conflict 2026-08-11 18:15:37 +08:00
78daca1924 fix: final login at /pccs/api/do_login.dspy — working filename 2026-08-11 18:14:43 +08:00
84165333b4 fix: remove session_redis (breaks routing), keep module_cache.rbac 2026-08-11 18:13:24 +08:00
c8e89d2d1e feat: add Redis config for session + rbac module_cache 2026-08-11 18:12:44 +08:00
a70781b0d6 feat: working login via pccs_login.dspy (fixed ahserver filename conflict) 2026-08-11 18:01:31 +08:00
f7c16598d9 fix: rename login.dspy to auth_login.dspy ('login' reserved in ahserver) 2026-08-11 17:57:53 +08:00
8cc7ea45f9 fix: login.dspy use injected vars, avoid import errors 2026-08-11 17:56:14 +08:00
79d91d4ffd feat: inline login modal on homepage, no external file needed 2026-08-11 17:53:30 +08:00
56ff1353bb fix: restore PYTHONPATH, rebuild wwwroot with direct copies 2026-08-11 17:52:23 +08:00
62662f0477 fix: pip install all modules (no -e), remove PYTHONPATH from start.sh 2026-08-11 17:50:09 +08:00
dd8a1c3d3e fix: add static route for / → wwwroot/ to serve .html files 2026-08-11 17:38:19 +08:00
44b8ceca3d feat: standalone login.html page + fix login button link 2026-08-11 17:36:34 +08:00
830cdd33e9 feat: custom login endpoint + html modal login form 2026-08-11 17:34:04 +08:00
9e9f1f5284 fix: revert session config (breaks .ui routing), commit final homepage + theme 2026-08-11 17:30:36 +08:00
858a957a60 fix: login button navigates to /rbac/user/login.ui (bricks PopupWindow) 2026-08-11 17:30:07 +08:00
7fc08a7afa fix: use /rbac/user/up_login.dspy (works), userpassword_login.ui returns 404 2026-08-11 17:28:15 +08:00
6b46aed680 fix: remove password_encode monkey-patch, let globalEnv handle hashing 2026-08-11 17:26:57 +08:00
02358139c2 feat: login popup + theme toggle + superuser admin/admin123 + session config 2026-08-11 17:25:53 +08:00
0a03a873ee feat: homepage with sidebar nav + header bar (user/lang/theme controls) 2026-08-11 17:17:24 +08:00
c09324c9ac feat: production-ready pccs deployment — homepage working, RBAC active, all modules online 2026-08-11 17:04:38 +08:00
c8f73b9e23 feat: simple HTML homepage with module links 2026-08-11 17:03:51 +08:00
ca64cc9ea9 fix: restore dashboard index.ui + add index.html redirect 2026-08-11 17:03:30 +08:00
8c60e30c47 fix: add root index.ui redirecting to /pccs/index.ui 2026-08-11 17:02:37 +08:00
8c378f0ef0 fix: add @asynccontextmanager to patched get_sor_context 2026-08-11 17:02:05 +08:00
186ed11d55 fix: set_serverenv for get_module_dbname (get_serverenv uses dict.get not __getattr__) 2026-08-11 17:01:34 +08:00
8dcc84b1a3 fix: also patch userperm.get_sor_context reference 2026-08-11 17:00:48 +08:00
2c50d358ef fix: also patch globalEnv cached get_sor_context 2026-08-11 17:00:21 +08:00
cc7ab76377 fix: patch sqlor.dbpools BEFORE any other imports to prevent stale references 2026-08-11 16:59:43 +08:00
c34abef54a debug: trace get_sor_context call 2026-08-11 16:58:51 +08:00
2bc0ae3b29 debug: verify monkey-patch applied 2026-08-11 16:58:15 +08:00
3ecd2d1266 fix: use explicit workdir for getConfig at module level 2026-08-11 16:57:41 +08:00
9d3c65a056 fix: apply monkey-patches at module level before any imports 2026-08-11 16:57:13 +08:00
dd028e2203 fix: monkey-patch get_sor_context to reuse global DBPools 2026-08-11 16:56:21 +08:00
b51eb9f626 debug: verify monkey-patch in init 2026-08-11 16:32:59 +08:00
ac330eb097 fix: initialize DBPools with databases in init() for get_sor_context 2026-08-11 16:32:16 +08:00
8f6027905f fix: remove session config (causes aiohttp_session error) 2026-08-11 16:31:12 +08:00