新建地点的活动下拉可即时新增,地点行内编辑支持批量改该地点全部到访的活动
站长反馈「已有地点编辑和新建里只有类别没有活动能选」。实测澄清:新建地点卡一直有活动下拉, 只是形态与类别/照片页不一致(旁边常显一个新建框、下拉里没有「+ 新增活动…」);真正完全没有 活动字段的是地点列表行的「编辑」。 - 新建地点卡:活动下拉补「+ 新增活动…」哨兵,旁边的新建框改成选中哨兵才展开; 删掉原来那对 #activity-add/#new-activity-name 监听——三处活动下拉现在共用同一套 `visit-act-*` 委派处理器,重复监听会建出两条活动。 - 地点行内编辑:加「活动(改该地点全部到访)」下拉,默认「(不修改)」不预选当前值 (否则每次改坐标保存都会重写历史到访的类型),并标出当前类型构成;选了真实活动时 提交前 confirm 一次。 - 服务端(places 没有活动列,活动挂在到访上):editPlaceUpdate 解析 activity_id,空值=不修改, 与地点行同一事务内 UPDATE visits 的 activity_id/is_home/is_work,flash 报改了几条; 哨兵值/不存在的 id/别的数据集的活动一律拒。导出无需改动(ZVISIT.ZACTIVITY_ 本就是管理列)。 - 回归 internal/web/place_activity_test.go:批量改(含别的地点不受影响)、空值不修改、越权被拒、 模板契约、以及导出包里那批到访的 ZACTIVITY_ 必须换成新活动的 rond 编号。 - 顺手:TestMovementCleanExport 建出 ROND_CLEAN_OUT 的父目录,别再把「目录不存在」报成导出失败。
This commit is contained in:
@@ -545,6 +545,10 @@ func TestMovementCleanExport(t *testing.T) {
|
||||
t.Skip("设置 ROND_CLEAN_OUT 后导出一份纯净往返包")
|
||||
}
|
||||
f := newMovementFixture(t)
|
||||
// 目录不存在时直接 WriteFile 只会报「找不到路径」,看着像导出坏了——顺手建出来
|
||||
if err := os.MkdirAll(filepath.Dir(out), 0o755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(out, f.export(t), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user