553 Commits

Author SHA1 Message Date
cf88984a09 fix: skip comment lines in load_path.py paths parsing
Lines starting with # were parsed as path+role, causing
'#'.split() = ['#','sage_datamart'], where 'sage_datamart'
isn't 'any'/'logined'/'anonymous' and has no '.',
crashing add_roles_perm at role.split('.')
2026-07-27 10:55:20 +08:00
3290fd959e feat: sage_datamart 全量路径添加 load_path 权限
47个 UI/API/cron 路径注册,menu.ui=any,其余=logined
2026-07-25 18:02:23 +08:00
d88f09b3c4 feat: llmage上线检查子页面添加load_path权限
check_model_record, check_date_status, check_upapp, check_uapi,
check_uapiio, check_llm_api_map, check_pricing_program,
check_pricing_data
2026-07-24 23:46:45 +08:00
2d0816f3ff fix Sortable.min.js path to tenant dir (bypass RBAC 401) 2026-07-23 16:03:02 +08:00
9ca9e007e7 load Sortable.min.js in index_carousel for drag-drop widgets 2026-07-23 15:58:52 +08:00
275585abda tokentest static landing: modular top/center/bottom + carousel + flip cards + zh/en/jp/ko + login redirect 2026-07-23 15:02:28 +08:00
6046f40af4 merge_i18n: also search pkgs/ for module i18n dirs 2026-07-22 14:26:53 +08:00
36c714ebc1 fix: restore second 'for m in' line accidentally deleted in 44d2a8c6 2026-07-22 13:32:04 +08:00
7bb2f9b4b5 api_doc.ui: request.args.get('lang') -> params_kw._lang 2026-07-21 14:55:14 +08:00
2f715296a2 bugfix 2026-07-21 14:30:22 +08:00
fcf4bee7ef bugfix 2026-07-21 14:27:46 +08:00
b3827e7bed bugfix 2026-07-21 14:01:15 +08:00
d2282c22c8 bugfix 2026-07-21 14:00:38 +08:00
7d50586964 docs: 迁移API文档从dashboard_for_sage到docs/,支持多语言(api_doc_{lang}.md) 2026-07-21 13:39:27 +08:00
4e903c0f1b 菜单: 仪表盘从dashboard_for_sage切换为sage_datamart(客户+分销商) 2026-07-21 13:13:50 +08:00
73ee108cab feat: add tenant landing page with multi-tenant support
- Add /tenant/index.ui using bricks framework (no inline styles)
- Use Image widget for all images (logo, hero, case studies)
- Register /tenant and /tenant/index.ui routes as 'any' permission
- Include responsive CSS with tenant- prefix to avoid conflicts
- Login button redirects to /rbac/user/login.ui
- Support multi-tenant customization via ?tenant=xxx parameter
2026-07-20 14:41:17 +08:00
a53e211c1d feat: add sage_datamart ETL crontab entries (sync/aggregate/provider_cost) 2026-07-20 10:49:28 +08:00
76fca12d67 feat(unipay): register transfer_info.ui in load_path 2026-07-15 18:17:03 +08:00
7d294204c4 fix: 客户菜单移除租户管理入口 2026-07-15 16:02:34 +08:00
a87942fb34 bugfix 2026-07-14 15:01:18 +08:00
db43d5aca3 bugfix 2026-07-14 15:00:37 +08:00
2635d22cc9 fix: monkey-patch get_business_date to use initialized db, not empty DBPools() 2026-07-14 14:31:13 +08:00
0f25f5d7de fix: backend_accounting monkey-patch _get_db to use initialized DBPools instance 2026-07-14 14:26:09 +08:00
6142ce8630 rbac: /download/** → logined (需登录下载) 2026-07-14 13:28:50 +08:00
bc9794b770 build.sh: add daily forex rate fetch cron (8:00) 2026-07-14 12:09:13 +08:00
ac2f691e1b menu: add 自由客户分配 + 客户再分配 to global_menu 2026-07-14 10:33:28 +08:00
963953ae15 bugfix 2026-07-13 15:48:05 +08:00
6ce352b687 bugfix 2026-07-13 15:46:30 +08:00
1e745b79d0 rbac: register get_search_roleid.dspy 2026-07-13 11:30:53 +08:00
850ede92ac fix: add /appbase/get_icon.dspy to RBAC logined 2026-07-12 23:03:35 +08:00
42548faec2 fix: add RBAC for discount setting UI paths 2026-07-12 10:51:29 +08:00
1cde9f9534 fix: add RBAC for sub_distributor admin dspy endpoints 2026-07-10 12:15:47 +08:00
a46ca8e5da feat: add globe, setting, userrole SVG icons for menu 2026-07-10 12:02:12 +08:00
564e57d063 fix: add missing SVG icons (globe, setting, userrole) to RBAC any 2026-07-10 12:01:04 +08:00
67934c6767 fix: restructure menu permissions by role
- 用户管理: *.admin roles (any role with .admin suffix)
- 租户管理: reseller.operator or owner.superuser
- 系统权限管理: owner.superuser only
- 基础配置: owner.superuser only
2026-07-10 11:53:27 +08:00
04dbc7abcd fix: add ensure_* dspy paths + supply_contracts.svg to RBAC 2026-07-10 10:37:27 +08:00
6b2a787102 fix: add supplychain SVG image paths to load_path.py (any role) 2026-07-10 10:27:49 +08:00
ae6e017199 fix: 基础配置移除编码值管理(编码管理已含kv) 2026-07-09 17:17:34 +08:00
8d641affad feat: 基础配置菜单(superuser)+会计RBAC路径 2026-07-09 17:16:02 +08:00
44d2a8c6c8 chore: remove platformbiz module — replaced by product_management + supplychain 2026-07-09 13:59:50 +08:00
5dce6dd42c refactor: providerid codes → supplychain.suppliers 2026-07-09 13:39:11 +08:00
963201bf10 feat: add load_tenant to Sage init 2026-07-09 12:27:00 +08:00
a3fd6cf194 feat: 租户品牌名改用brand_name字段,不从orgname取 2026-07-09 12:23:33 +08:00
81ed08ebe7 fix: tenant_brand_data.dspy加return result 2026-07-09 12:08:17 +08:00
0dd7414d06 fix: index.ui用JS动态获取租户品牌数据,替代Jinja DB查询 2026-07-09 12:05:30 +08:00
ec51ff30da feat: 租户品牌设置页面(tenant_brand.ui) + 保存端点 2026-07-09 12:03:31 +08:00
09bf64378f fix: index.ui用db.sqlorContext()替代request._run_ns 2026-07-09 12:02:54 +08:00
33aa4a63bb fix: 混元video合并为单模型hy-video-1.5+async双端点 2026-07-09 12:02:12 +08:00
876d9ff59e feat: 租户自定义左上角图标和系统名称,读取organization.iconid+orgname 2026-07-09 12:02:12 +08:00
4a1535563b feat: add 租户管理 to Sage global menu 2026-07-09 11:57:20 +08:00