feat(contracts): 台账新增「合同原件」列(AL),支持上传 / 查阅 / 移除
需求:房租车位费数据表需要支持上传合同留档并可查阅合同,增加合同原件的列。
- 新增 rentos/contracts.py:data/contracts/{id}.{ext} + index.json,
白名单 pdf/doc/docx/xls/xlsx/png/jpg/gif/webp/bmp,单份 ≤ 20MB;
save/find/path_of/list_all/remove/parse/dump/describe;clean_id 挡路径穿越
- config:加 CONTRACT_DIR 并纳入 ensure_dirs
- tables:列 AL「合同原件」type=files(排 AJ 之后、最右),一格可挂多份;
coerce 支持 list → 紧凑 JSON;新增 files_text 供导出 xlsx 输出文件名文本
- server:
POST /api/contracts(上传,仅管理员)
GET /api/contracts(列表)
GET /api/contracts/{id}(内联预览;?dl=1 下载;支持 ?token=,便于 <a href> 直接引用)
DELETE /api/contracts/{id}(仅管理员)
合同写接口不匹配任何 CAP_ELEC 规则 → 落 _write_cap 兜底 "*" = 仅管理员;
访客只读仍可查阅(这点由冒烟验证)
- 列定义以代码为准,故加列不需要数据迁移
Showing
rentos/contracts.py
0 → 100644
Please register or sign in to comment