• wenwen.tang's avatar
    feat(收款+权限): 收款日期同步台账最近收款月份;新增只读访客账户 · a39ca9ca
    wenwen.tang authored
    1) 收款日期 → 台账账期同步
    - set_receipt 登记/修改收款日期时,把该单据覆盖的台账行「最近收款月份」(AB)
      同步为【收款日期所在月】(口径经确认);清空收款日期则退回同步前的值
    - 批次记 receipt_sync 记录,删除批次时一并回滚「最近收款月份」
    - 批次明细快照的 last_paid 同步跟进,页面不会出现两个口径
    - 修:不能拿 service._d()(失败回落"今天")算月份,改用 rent_parser._d()
    
    2) 只读访客账户
    - auth.py 支持多账号 + 角色(admin 可读写 / viewer 只读),首次启动播种
      admin(1989@rent05) 与 guest(guest@2026);未知角色一律降级 viewer;
      主账号不可删;访客被删后不再自动复活
    - server.py 增加写闸门:除 /api/logout 外,viewer 的 POST/PUT/DELETE 一律 403
    - 新增账号管理接口 GET/POST /api/accounts、DELETE /api/accounts/{u}、
      POST /api/accounts/{u}/password(仅管理员)
    - 前端按角色隐藏写入口 + api() 兜底拦截;设置页新增「账号管理」卡片
    
    测试
    - tools/test_accounts.py(新增 34 项,含真 HTTP 写闸门实测)
    - tools/test_round5.py 补 11 项收款同步用例;全量 191 项通过
    - tools/ui_verify7.py(新增,自带沙箱数据目录 + 真浏览器)59/59 通过
    a39ca9ca
Name
Last commit
Last update
..
samples Loading commit data...
cmp2.py Loading commit data...
cmp_hist.py Loading commit data...
cmp_style.py Loading commit data...
deploy_docker.py Loading commit data...
deploy_git.py Loading commit data...
deploy_server.py Loading commit data...
dump_elec_style.py Loading commit data...
dump_hdr.py Loading commit data...
dump_style.py Loading commit data...
dump_style2.py Loading commit data...
e2e_round5.py Loading commit data...
e2e_test.py Loading commit data...
extract_media.py Loading commit data...
extract_seed.py Loading commit data...
import_park_notes.py Loading commit data...
import_property_tax.py Loading commit data...
import_rent_parking.py Loading commit data...
make_sample_upload.py Loading commit data...
migrate_next_bill.py Loading commit data...
migrate_round2.py Loading commit data...
migrate_round3.py Loading commit data...
nav_verify.py Loading commit data...
peek.py Loading commit data...
peek2.py Loading commit data...
peek3.py Loading commit data...
peek4.py Loading commit data...
peek5.py Loading commit data...
peek6.py Loading commit data...
peek_all.py Loading commit data...
peek_aug.py Loading commit data...
peek_elec.py Loading commit data...
peek_m2.py Loading commit data...
peek_m3.py Loading commit data...
peek_master.py Loading commit data...
peek_n1.py Loading commit data...
peek_n2.py Loading commit data...
peek_n3.py Loading commit data...
peek_n4.py Loading commit data...
peek_names.py Loading commit data...
peek_rent.py Loading commit data...
peek_rent2.py Loading commit data...
peek_sep.py Loading commit data...
peek_src.py Loading commit data...
peek_sum.py Loading commit data...
peek_tpl.py Loading commit data...
peek_tpl2.py Loading commit data...
rent_notice_preview.py Loading commit data...
restore_batches.py Loading commit data...
send_one.py Loading commit data...
setup_wecom_cloud.py Loading commit data...
test_accounts.py Loading commit data...
test_directory.py Loading commit data...
test_rent.py Loading commit data...
test_round5.py Loading commit data...
test_rules.py Loading commit data...
test_scheduler.py Loading commit data...
ui_verify.py Loading commit data...
ui_verify2.py Loading commit data...
ui_verify3.py Loading commit data...
ui_verify4.py Loading commit data...
ui_verify5.py Loading commit data...
ui_verify6.py Loading commit data...
ui_verify7.py Loading commit data...
verify_elec_prev.py Loading commit data...
wait_fire.py Loading commit data...