Commit Graph

  • bfd691f9ac sub_distributors添加sub_distributorid(org_id)字段+唯一索引,对齐sub_resellers main yumoqing 2026-07-20 20:13:52 +08:00
  • 8bb688374c fix: 移除误提交的supplychain/__pycache__中间文件(.gitignore已有规则) yumoqing 2026-07-20 16:39:48 +08:00
  • a6eca85d7f 删除未使用的 _generate_sub_reseller_code 函数,清理 sub_reseller_code 残留 yumoqing 2026-07-20 15:31:32 +08:00
  • 1303b48685 fix: sub_reseller_code → sub_resellerid (存org_id,修复多层分销链遍历) yumoqing 2026-07-20 15:25:38 +08:00
  • e6d5998c15 fix: use ServerEnv().get_module_dbname('sage') instead of hardcoded 'sage' yumoqing 2026-07-15 14:02:26 +08:00
  • a42d362995 chore: untrack CRUD intermediate files (already in .gitignore) yumoqing 2026-07-14 18:03:46 +08:00
  • b3c61a6758 fix: p.name→p.product_name; remove spurious COLLATE in JOIN yumoqing 2026-07-14 16:07:25 +08:00
  • 9cd393c3b2 fix: 合同附件上传后列表不刷新、消息不显示的bug yumoqing 2026-07-14 12:54:49 +08:00
  • 14d03375b2 feat: 供销合同和分销协议补回附件管理功能 yumoqing 2026-07-14 12:06:49 +08:00
  • bc46774401 refactor: 取消内部供应商概念,统一为外部; 修复ServerEnv→request._run_ns; 修复editable嵌套 yumoqing 2026-07-13 17:06:57 +08:00
  • 44042b80dd fix: 供销协议折扣明细直接用product.providerid过滤 yumoqing 2026-07-13 14:58:50 +08:00
  • f5794c9348 fix: 供销协议折扣明细按资源供应方过滤产品 yumoqing 2026-07-13 14:34:52 +08:00
  • dbf6946b16 fix: 供销协议折扣明细通过product_supplier_mapping关联产品 yumoqing 2026-07-13 14:22:23 +08:00
  • de10fb00f3 fix: 供销协议折扣明细按供应商org过滤产品 yumoqing 2026-07-13 11:19:41 +08:00
  • e7a4535423 fix: add_sub_distributor_admin - 用orgtypeid+name查role, 补parentid+org_type yumoqing 2026-07-13 11:14:02 +08:00
  • 9afb3c279b fix: save dspys return Message widget for visual feedback yumoqing 2026-07-12 23:25:22 +08:00
  • e2811156b0 fix: add id to status widgets + return item_id from save dspys yumoqing 2026-07-12 23:23:34 +08:00
  • 5a00a42f05 fix: check product_org_auth exists before insert in save_agreement_discount yumoqing 2026-07-12 23:19:42 +08:00
  • 41ccfcb301 fix: use get_sor_context(env, dbname) — correct sqlor pattern for module Python yumoqing 2026-07-12 23:05:24 +08:00
  • 49b6cbe85b fix: use _get_sor() instead of get_module_dbname() in discount item queries yumoqing 2026-07-12 23:01:44 +08:00
  • 8fde34ee8d fix: split discount item queries across sage + supplychain DBs yumoqing 2026-07-12 22:58:46 +08:00
  • 14c8f2fbd3 fix: get_*_discount_items accept only request (Jinja2 call pattern) yumoqing 2026-07-12 22:56:06 +08:00
  • 0107eebdcb feat: discount setting UI for agreement/contract items (like discount module pattern) yumoqing 2026-07-12 10:51:18 +08:00
  • 85ae9802a2 fix: add agreement_id/contract_id to editexclouded in items CRUD yumoqing 2026-07-12 10:39:21 +08:00
  • 2f2c9c42e7 fix: remove cheight from items_list CRUD index.ui yumoqing 2026-07-12 10:36:58 +08:00
  • b69bd38b27 fix: toolbar buttons open CRUD page directly, remove ensure dspy layer yumoqing 2026-07-12 10:32:45 +08:00
  • 1e7f713725 fix: use HTML meta refresh redirect instead of DataViewer or 302 yumoqing 2026-07-12 10:28:24 +08:00
  • a930847317 fix: ensure dspy returns 302 redirect instead of DataViewer widget yumoqing 2026-07-12 10:27:27 +08:00
  • a3176e4f34 fix: use absolute /supplychain/ URLs in JSON CRUD source configs yumoqing 2026-07-12 10:19:30 +08:00
  • 7f2c265764 fix: use absolute /supplychain/ URLs in all CRUD-generated index.ui yumoqing 2026-07-12 10:18:25 +08:00
  • 3159afbede fix: get_search_prodtypeid/productid query correct DB (sage) and tables yumoqing 2026-07-12 09:37:38 +08:00
  • 0049db58e5 fix: move product_org_auth sync to distribution_agreement_items (not supply_contract_items) yumoqing 2026-07-10 15:48:27 +08:00
  • 3c98e8a991 feat: sync product_org_auth on supply_contract_items create/delete yumoqing 2026-07-10 15:38:28 +08:00
  • 49d59c3ed0 fix: auto-set managed_by to current user when creating sub_distributor yumoqing 2026-07-10 14:14:09 +08:00
  • fac526637b fix: add id to userrole insert + remove manual created_at (DB has defaults) yumoqing 2026-07-10 14:01:05 +08:00
  • fb579cbd2f fix: use sor.R for role lookup + proper datetime format yumoqing 2026-07-10 13:52:14 +08:00
  • ed4898bf90 fix: use absolute /supplychain/ paths in ensure dspy DataViewer URLs yumoqing 2026-07-10 13:51:06 +08:00
  • 916b501c67 feat: add admin + reset admin password toolbar for sub_distributors yumoqing 2026-07-10 12:15:31 +08:00
  • efe45215f0 fix: add /supplychain/ prefix to entire_url in index.ui and menu.ui yumoqing 2026-07-10 11:59:08 +08:00
  • 749047814f fix: use DataViewer instead of UrlWidget (UrlWidget ignores w/h; DataViewer works) yumoqing 2026-07-10 11:30:05 +08:00
  • e0dc9963b7 feat: sub_distributors_create now creates organization + supply relation yumoqing 2026-07-10 11:16:30 +08:00
  • 0c718cf461 fix: fix column name + ensure dspy now returns CRUD page after create yumoqing 2026-07-10 11:11:21 +08:00
  • 7fa70b9a24 fix: use urlwidget+PopupWindow instead of script/dspy for toolbar binds yumoqing 2026-07-10 11:03:56 +08:00
  • 8d9f31d7ad fix: change toolbar binds from dspy to script actiontype yumoqing 2026-07-10 10:58:22 +08:00
  • 0129866c00 fix: use existing SVG icons for toolbar buttons yumoqing 2026-07-10 10:38:43 +08:00
  • 3a36dc2400 feat: one-click ensure contract/agreement from supplier/distributor list yumoqing 2026-07-10 10:37:17 +08:00
  • ccd1a6f0e8 fix: remove cheight from all CRUD index.ui — let bricks Tabular auto-height yumoqing 2026-07-10 09:29:40 +08:00
  • 6314b98c76 fix: add missing code fields to editexclouded in CRUD index.ui yumoqing 2026-07-10 09:15:13 +08:00
  • aae4271668 fix: align create_sub_reseller with sub_distributors model — sub_dist_name, no code field yumoqing 2026-07-09 16:55:07 +08:00
  • 880e9e59c4 fix: use datetime.now instead of ServerEnv in _generate_sub_reseller_code yumoqing 2026-07-09 16:53:49 +08:00
  • 06f809fc32 fix: use request._run_ns instead of ServerEnv() in create_sub_reseller yumoqing 2026-07-09 16:39:07 +08:00
  • da5fd85984 fix: add_sub_distributors calls create_sub_reseller for org+account creation yumoqing 2026-07-09 16:29:11 +08:00
  • 160bc36fb1 fix: remove unused sub_dist_code field yumoqing 2026-07-09 16:24:48 +08:00
  • 3f46b93b65 fix: sub_dist_code auto-generated with getID() yumoqing 2026-07-09 16:18:37 +08:00
  • d7d53d2e3b fix: remove unique idx_sd_code — one distributor can have multiple sub-distributors yumoqing 2026-07-09 16:17:14 +08:00
  • e836991c23 fix: add CURRENT_TIMESTAMP defaults to created_at/updated_at yumoqing 2026-07-09 15:04:44 +08:00
  • 48658403a3 fix: add default to sub_dist_code and created_by yumoqing 2026-07-09 14:57:09 +08:00
  • 2a3eb72d2b fix: remove duplicate status code entry in suppliers model yumoqing 2026-07-09 14:38:38 +08:00
  • 6c926cf3d5 fix: add status codes to models — prevents empty code field in search_form yumoqing 2026-07-09 14:07:17 +08:00
  • 5705e674b5 feat: add orgid to sub_resellers + get_distribution_chain yumoqing 2026-07-07 12:20:39 +08:00
  • 7c0acb5245 fix: UiFile-based upload with drag-drop support, download/delete toolbar yumoqing 2026-07-03 17:57:48 +08:00
  • 07d5173d75 feat: add download and delete actions to contract attachment list yumoqing 2026-07-03 17:45:57 +08:00
  • 3017ac295b fix: bricks.app.getWidgetById → bricks.getWidgetById (app is not the root for widget lookup) yumoqing 2026-07-03 17:42:03 +08:00
  • 82579b14ad fix: override file_uploaded to return FileMgrResult — base returns None causing NoneType.status yumoqing 2026-07-03 17:37:06 +08:00
  • 0203dc1c24 fix: quota 0→1000000000 (unlimited) for contract attachments yumoqing 2026-07-03 17:33:31 +08:00
  • 587cabeb1e fix: ContractAttachMgr 覆盖 owner/quota 校验 yumoqing 2026-07-03 17:18:03 +08:00
  • b375ba5155 chore: remove vim swap file yumoqing 2026-07-03 17:05:35 +08:00
  • a914380a9b feat: ContractAttachMgr — supplychain 自有附件管理器 yumoqing 2026-07-03 17:05:24 +08:00
  • 64e240872f fix: show_error → console.error (bricks 无此方法) yumoqing 2026-07-03 16:54:26 +08:00
  • b4d66933a6 fix: get_files() -> this.value (UiFile 正确取值方式) yumoqing 2026-07-03 16:51:51 +08:00
  • 3497d946ce fix: Jinja2 转义 — upload_url 用 {% set %} 预计算 yumoqing 2026-07-03 16:48:24 +08:00
  • a63b6ce427 fix: 附件上传改用 UiFile changed + fetch FormData yumoqing 2026-07-03 16:46:14 +08:00
  • 5968b3a527 feat: 注册 contract_attach RBAC 权限 yumoqing 2026-07-03 16:40:11 +08:00
  • 1f06a23fa3 fix: 附件上传改用 Form submit_url (multipart) + UiFile multiple yumoqing 2026-07-03 16:37:26 +08:00
  • 832d0828df fix: ensure_contract_folder 去掉不存在的 ownerid 列 yumoqing 2026-07-03 16:27:01 +08:00
  • 3df4e237fc feat: 合同附件支持拖拽上传 yumoqing 2026-07-03 16:23:21 +08:00
  • fcec9422ab fix: supply_contract_items codes 表名修正 yumoqing 2026-07-03 16:21:59 +08:00
  • e44c84d14c fix: created_by should be user_id not userorgid yumoqing 2026-07-03 16:10:02 +08:00
  • 724a912bc9 fix: remove duplicate supplier_id in new_data_url; JSON config is the correct fix, not dspy workaround yumoqing 2026-07-03 16:09:30 +08:00
  • 698f0f6e29 fix: unwrap list values from bricks code lookups (supplier_id was ['x','x']) before sor.C yumoqing 2026-07-03 16:00:39 +08:00
  • fa81da2bbf fix: return plain dict (ahserver handles serialization), match CRUD pattern exactly yumoqing 2026-07-03 15:54:19 +08:00
  • 4a0b9db82a fix: follow CRUD add_llm pattern exactly — ns.copy(), sor.C, no param cleaning yumoqing 2026-07-03 15:41:58 +08:00
  • 6b6489af02 fix: back to sor.C with simple param cleaning yumoqing 2026-07-03 15:40:11 +08:00
  • 37c39a053f fix: sor.I takes 1 arg (data), not 2 yumoqing 2026-07-03 15:33:42 +08:00
  • fa5a1a3a8e feat: 供应合同和分销协议支持附件上传下载 yumoqing 2026-07-03 15:32:41 +08:00
  • 1d99375578 fix: use whitelist approach - only pass known table columns to sor.I yumoqing 2026-07-03 15:29:08 +08:00
  • 959d021537 fix: clean _text suffix fields, use sor.I instead of sor.C, json.dumps return yumoqing 2026-07-03 15:11:26 +08:00
  • da64e09090 fix: supply_contracts_create remove json.dumps yumoqing 2026-07-03 15:10:01 +08:00
  • 32070a53b1 fix: supplychain_accounting update/delete return widgettype format yumoqing 2026-07-03 15:08:21 +08:00
  • 63a1bedeba fix: clean non-table params before sor.C; return json.dumps instead of dict yumoqing 2026-07-03 15:04:34 +08:00
  • f325ad0c93 fix: CRUD endpoint return format - remove json.dumps yumoqing 2026-07-03 15:01:08 +08:00
  • 2828426f76 fix: CRUD endpoint return format - remove json.dumps, use widgettype format yumoqing 2026-07-03 14:53:31 +08:00
  • 7c214552c5 fix: 供应商合同新增时 supplier_id 自动带过来 yumoqing 2026-07-03 14:34:37 +08:00
  • 813882ff71 fix: supply_contracts_create generates contract_code automatically yumoqing 2026-07-03 14:30:35 +08:00
  • 3c742c0674 feat: 供应商管理添加「供应商合同」子表toolbar yumoqing 2026-07-03 14:23:20 +08:00
  • b146cbd628 feat: add per-module scripts/load_path.py with all RBAC paths yumoqing 2026-07-03 14:11:57 +08:00
  • e766111aa1 fix: batch fix dspy violations — remove imports/print/ServerEnv, use return json.dumps, proper widgettype format yumoqing 2026-07-03 13:57:26 +08:00
  • e79627c55f fix: sor.U()参数错误 - id放data字典内而非单独传第3参数 yumoqing 2026-07-02 18:53:04 +08:00
  • ff50eff07e fix: sync models/suppliers.json cond to use supplier_settle_cycle (was reverted by 60465fb) yumoqing 2026-07-01 16:41:12 +08:00
  • 60465fb15c fix: cond settled_cycle对齐data.json的supplier_settlement_cycle yumoqing 2026-07-01 16:40:03 +08:00