Commit Graph

  • 24faae3978 feat(rbac): Redis L2 cache for permission checks main yumoqing 2026-08-06 14:42:22 +08:00
  • 13ae4e89c8 refactor: import share_cache for future rbac cache migration yumoqing 2026-07-29 17:16:26 +08:00
  • f398f70142 chore: 从仓库中删除 CRUD 自动生成目录,添加 .gitignore yumoqing 2026-07-17 14:35:07 +08:00
  • a4f1ff6a88 fix(rbac): userrole CRUD roleid display — align valueField/textField with data columns yumoqing 2026-07-16 18:06:20 +08:00
  • cc245f4721 fix: get_search_roleid return all roles so code uitype resolves display text correctly yumoqing 2026-07-16 17:34:20 +08:00
  • be26c6db98 feat: allow same phone number to register multiple users yumoqing 2026-07-16 16:21:36 +08:00
  • ed837dcd4e fix(rbac): gen_sms_code.dspy — remove TEST MODE, call sms_engine directly yumoqing 2026-07-16 15:50:04 +08:00
  • 6c9d127759 fix(rbac): gen_sms_code.dspy falls back to test mode when sms_engine unavailable yumoqing 2026-07-16 15:43:06 +08:00
  • bffd8b200d fix(rbac): gen_sms_code.dspy calls real sms_engine.generate_sms_code() instead of TEST MODE stub yumoqing 2026-07-16 15:40:51 +08:00
  • 5d9292c6f6 fix: create_org兜底orgname为空时用id填充 yumoqing 2026-07-14 12:03:50 +08:00
  • cf4283ff0d fix: align get_search_roleid + userrole alters to value/text fields matching index.ui yumoqing 2026-07-13 12:59:36 +08:00
  • e1abe0bb71 fix: role dropdown filter by user org_type, add get_search_roleid.dspy yumoqing 2026-07-13 11:27:21 +08:00
  • 18913e7064 feat: domain-based reseller binding on registration + test SMS bypass yumoqing 2026-07-10 11:24:25 +08:00
  • 35750d5938 fix: 改用event.params.text直接取值,不用${text}占位符 yumoqing 2026-07-06 14:04:32 +08:00
  • a526a2222d fix: newwindow缺referer_widget,改用script+window.open() yumoqing 2026-07-06 14:03:58 +08:00
  • 4a649aa98f fix: urlwidget+PopupWindow无法替换${text},改用newwindow+window.open() yumoqing 2026-07-06 14:00:41 +08:00
  • 190e4e435f fix: $ → ,多余$导致变量未被替换 yumoqing 2026-07-06 13:57:57 +08:00
  • acdabe4c33 扫码结果改为弹新窗口(PopupWindow)展示,不再替换当前页面 yumoqing 2026-07-06 13:47:39 +08:00
  • 2c986dca13 fix: CRUD endpoint return format - remove json.dumps, use widgettype format yumoqing 2026-07-03 14:50:52 +08:00
  • 1e2897d8d4 fix: enable/disable 后自动刷新表格 + 捕获真实错误 yumoqing 2026-06-29 15:50:18 +08:00
  • 5ddbf299bf feat: 注册 api/add_user.dspy 和 api/update_user.dspy RBAC 权限 yumoqing 2026-06-29 15:19:45 +08:00
  • ad601403cf feat: users CRUD 定制 api — 新增/编辑客制化逻辑 yumoqing 2026-06-29 15:12:33 +08:00
  • 9472c0995f Revert "fix: users CRUD — 三个修复" yumoqing 2026-06-29 15:10:17 +08:00
  • 449a0415a5 fix: users CRUD — 三个修复 yumoqing 2026-06-29 14:46:58 +08:00
  • 70a19238c1 feat: 注册时检查促销码并绑定客户归属关系 Hermes Agent 2026-06-24 00:56:33 +08:00
  • 600fddced3 feat: add i18n translations (zh/en/jp/ko) for all modules Hermes Agent 2026-06-19 15:01:37 +08:00
  • 2ea45cd380 rbac: 完善信息弹窗修复双窗口+添加标题 Hermes Agent 2026-06-18 11:09:46 +08:00
  • 947638853f rbac: 完善信息Form使用value回填用户数据 Hermes Agent 2026-06-18 10:48:17 +08:00
  • cd29b276f7 fix: add login.css to any permissions Hermes Agent 2026-06-15 13:55:09 +08:00
  • 18251e3eae fix: add favicon.ico and i18n_getmsgs to any permissions yumoqing 2026-06-11 23:54:17 +08:00
  • d1b81c9a9f fix: remove Sage dependency from load_path.py, use standard pattern yumoqing 2026-06-11 23:41:10 +08:00
  • 52cd71f861 feat: add user_status check on login, enable/disable toolbar, fix editexclouded for add user yumoqing 2026-06-11 16:57:04 +08:00
  • cb9f8bbb4b bugfix yumoqing 2026-06-10 11:16:23 +08:00
  • 12663a37e0 bugfix yumoqing 2026-06-10 11:08:33 +08:00
  • f6027788b2 fix: login redirect to index.ui instead of userinfo.ui yumoqing 2026-06-09 23:18:39 +08:00
  • 587241b6a9 bugfix yumoqing 2026-06-09 17:01:27 +08:00
  • 62e1985ecb bugfix yumoqing 2026-06-09 16:58:15 +08:00
  • df212ea40d bugfix yumoqing 2026-06-09 16:52:12 +08:00
  • e453883b61 chore: exclude last_login_fail, last_login, sync_from from users edit form yumoqing 2026-06-05 11:14:14 +08:00
  • 002226d17c fix: change created_at type from timestamp to date for proper Date control yumoqing 2026-06-04 16:50:20 +08:00
  • 5809a81646 debug: add hot_reload handler logging yumoqing 2026-06-01 22:53:07 +08:00
  • b72a487df7 fix: use ServerEnv().userpermissions instead of new UserPermissions() in event handlers yumoqing 2026-06-01 18:15:37 +08:00
  • ce7eb2a193 refactor: bind hot_reload event via EventDispatcher, add on_hot_reload to UserPermissions yumoqing 2026-06-01 18:10:29 +08:00
  • c949a51f2e fix: gen_sms_code.dspy handle both None return and exception from generate_sms_code yumoqing 2026-05-31 12:26:55 +08:00
  • 4038b7d0b9 fix: gen_sms_code.dspy catch exception and return actual error message yumoqing 2026-05-31 11:56:46 +08:00
  • 7f2c3d25dd feat: 用户菜单添加完善信息功能 - 新增 edit_profile.dspy/save_profile.dspy - usermenu.ui 添加完善信息入口 - load_path.py 注册权限路径 yumoqing 2026-05-31 10:52:13 +08:00
  • 26d1fd1447 feat: register_user 添加 customer.admin 角色,注册时同时分配 customer 和 admin 权限 yumoqing 2026-05-31 10:38:32 +08:00
  • c9dd80a484 fix: 暗色主题输入框颜色全局优化 yumoqing 2026-05-30 14:32:11 +08:00
  • b0d6b59613 fix: 注册表单仅输入区域滚动,暗色主题输入框颜色优化 yumoqing 2026-05-30 14:27:33 +08:00
  • d1b3ca0914 fix: 修复登录弹窗三个显示问题 yumoqing 2026-05-30 14:16:00 +08:00
  • 36569c0e41 feat: 现代化登录/注册界面改造 yumoqing 2026-05-30 14:08:11 +08:00
  • 019e9702fc fix: use setValue() on codeid field widget instead of direct value assignment yumoqing 2026-05-30 13:36:54 +08:00
  • cec79caf88 fix: phone login form.setValue is not a function - use name_inputs direct value set yumoqing 2026-05-30 13:35:07 +08:00
  • b532548d19 fix: keep previous rp_caches when DB returns empty result yumoqing 2026-05-30 11:34:13 +08:00
  • fbbe011a8d fix: rp_caches race condition causing intermittent 403 yumoqing 2026-05-30 11:19:32 +08:00
  • c776c0b3b5 fix: rp_cache should reload from DB when cache is disabled yumoqing 2026-05-30 10:19:00 +08:00
  • 04e9b718db fix: check_roles_path supports % wildcard alongside ** yumoqing 2026-05-29 23:12:22 +08:00
  • 67687883ff fix: RBAC crash when cache disabled - return roles directly from get_userroles yumoqing 2026-05-29 22:43:39 +08:00
  • fa9f7f5146 fix: wrap Tabular in VBox with cheight for proper scrolling yumoqing 2026-05-29 22:09:56 +08:00
  • cf18e592c7 feat: respect module_cache config for RBAC LRU cache yumoqing 2026-05-29 17:58:54 +08:00
  • 342fc6652a refactor: rewrite SMS login UI using pure bricks patterns yumoqing 2026-05-29 11:58:30 +08:00
  • 8528eebf10 revert: restore gen_sms_code.dspy (API used by other systems) yumoqing 2026-05-29 11:38:35 +08:00
  • e65fddbe61 revert: restore phone_login.dspy to original (API used by other systems) yumoqing 2026-05-29 11:37:39 +08:00
  • cf186a632b fix: revert uitype to 'hide' (bricks framework uses 'hide' not 'hidden') yumoqing 2026-05-29 11:36:05 +08:00
  • 567513789e feat: rewrite SMS login UI with fetch-based flow matching phone_login.dspy API yumoqing 2026-05-29 11:31:39 +08:00
  • cfd3810a0a fix: remove _webbricks_=1 from SMS code generation API call yumoqing 2026-05-28 18:39:25 +08:00
  • 969a72b528 fix: SMS verification code URL - replace undefined bricks.app.baseUrl with entire_url template yumoqing 2026-05-28 18:24:39 +08:00
  • ff03efb50a fix: Button label更新改用set_otext()支持国际化 yumoqing 2026-05-28 17:00:57 +08:00
  • f44104b8a5 fix: Button label更新使用text_w.set_text()替代options.label赋值 yumoqing 2026-05-28 16:52:26 +08:00
  • 53111aa2fd fix: Form.getValue()返回FormData对象,改用_getValue()获取普通对象 yumoqing 2026-05-28 16:27:56 +08:00
  • 92627c9c96 fix: 手机验证码tab改用VBox+独立Button,避免toolbar tool触发submit导致tab跳转 yumoqing 2026-05-28 15:03:50 +08:00
  • 7200ee43a0 fix: 手机验证码gen_code按钮用datawidget/datamethod传表单值给script yumoqing 2026-05-28 14:10:37 +08:00
  • de21b9fd38 feat: 手机验证码登录对接 + 注册tab + user_logined事件派发 yumoqing 2026-05-28 13:49:31 +08:00
  • 54b0f3d7b6 fix: dispatch user_logined event after successful login yumoqing 2026-05-28 13:42:03 +08:00
  • 9d2a94131a feat: improve logout.dspy with refresh button yumoqing 2026-05-27 17:57:42 +08:00
  • 0a5bfa4c64 feat: add load_path.py RBAC permission registration script yumoqing 2026-05-27 13:16:09 +08:00
  • 39f8eb7d94 Revert "feat: add cross-process cache invalidation via Redis Pub/Sub" yumoqing 2026-05-26 18:31:04 +08:00
  • 8fdb31a850 Revert "fix: add app parameter to start_cache_sync for aiohttp on_startup hook" yumoqing 2026-05-26 18:31:04 +08:00
  • c0bbe63845 fix: add app parameter to start_cache_sync for aiohttp on_startup hook yumoqing 2026-05-26 17:20:52 +08:00
  • 835a2ff3f7 fix: add filler css + overflowY:auto to content container feat/dataviz-users yumoqing 2026-05-26 13:57:42 +08:00
  • 8cec17c042 feat: add cross-process cache invalidation via Redis Pub/Sub yumoqing 2026-05-26 13:52:10 +08:00
  • 1b21f46336 feat: add index.ui as module entry with user management, path roles, and unauth file scan cards yumoqing 2026-05-26 12:11:32 +08:00
  • f8c8a4ce4d refactor: move RBAC tools logic to rbac/rbac_tools.py, dspy files call via request._run_ns yumoqing 2026-05-26 09:32:38 +08:00
  • 0b456486db feat: add RBAC tools — list_path_roles, find_unauth_files, and permission registration script yumoqing 2026-05-26 09:18:04 +08:00
  • c53c16d54c feat: add RBAC tools — list_path_roles and find_unauth_files yumoqing 2026-05-26 09:12:33 +08:00
  • fd9ef322c7 bugfix yumoqing 2026-05-22 17:21:00 +08:00
  • 04552941e5 bugfix yumoqing 2026-05-22 16:54:08 +08:00
  • 1b720c4b89 bugfix yumoqing 2026-05-22 15:58:59 +08:00
  • ce1521d46a feat: add json table definitions for all models (converted from xlsx) yumoqing 2026-05-21 12:46:27 +08:00
  • 0ac6c83ead bugfix yumoqing 2026-05-18 16:00:42 +08:00
  • c0ea3baef1 Merge branch 'main' of git.opencomputing.cn:yumoqing/rbac yumoqing 2026-05-18 15:57:36 +08:00
  • d168326f09 bugfix yumoqing 2026-05-18 15:31:00 +08:00
  • 3f2001378e bugfix yumoqing 2026-05-18 15:25:43 +08:00
  • 4f103000b9 feat: implement real-time cache invalidation via DB event binding yumoqing 2026-05-18 12:42:17 +08:00
  • d96444cf60 fix: replace getID() with uuid() in dspy context yumoqing 2026-05-13 11:50:24 +08:00
  • cd82b345aa fix: use dappid+userid for downapikey query/insert, matching actual table schema yumoqing 2026-05-13 11:44:34 +08:00
  • f313877f4b fix: remove non-existent kwdownapikey table, use downapikey directly for per-user apikey lookup yumoqing 2026-05-13 11:22:04 +08:00
  • fe7025ac0f fix: use kwdownapikey for per-user apikey existence check to prevent same org sharing apikey yumoqing 2026-05-12 20:12:19 +08:00
  • d57d165a08 fix: add openCustomerAccounts call and fix sync message in usersync yumoqing 2026-05-12 18:54:15 +08:00
  • 59c321d941 fix: check user existence and register user/org if missing using rbac functions yumoqing 2026-05-12 18:46:02 +08:00