fix(782-1): 불러오기 끝내기 확인창 인자 자리 · 로직 편집 소유 선택지(현장·공용)

- 끝내기: 안 옮긴 단가산출 글을 본문 끝에 붙임 · 단추 글 자리 복구
- 소유: 서버 값(현장·공용)과 맞춤
- 시험: test_782_1_small_flaws

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-04 19:41:11 +09:00
co-authored by Claude Sonnet 5.5
parent 000e79f431
commit a3b27ef5f5
3 changed files with 26 additions and 5 deletions
@@ -206,7 +206,7 @@ function head(ctx: EditContext, set: (p: () => void) => void, rerender: () => vo
),
field(
tx("Head_Owner"),
choice(["공용", "개인"], row.소유, (v) => set(() => (row.소유 = v))),
choice(["현장", "공용"], row.소유, (v) => set(() => (row.소유 = v))),
),
field(tx("Head_Note"), note, true),
],
@@ -291,10 +291,10 @@ export function buildHopyoWizard(): HopyoWizard {
const w = sk?.count(); // 안 옮긴 단가산출(일위대가 밖 포함) — 묻기만
const ok = await showConfirmDialog(
`「${file.파일}」 불러오기를 끝냄 — 올린 파일(엑셀 결과 · 격자 · 맞춤 캐시)을 지움 · 만든 일위대가 · 단가산출(출처만 남김)과 별칭 장부는 남음 · 같은 엑셀은 필요하면 다시 올림` +
(loose ? ` · ${L("M02_LeftLoose").replace("{n}", String(loose))}` : ""),
w?.블록
? ` · ${L("M02_SkUnmoved").replace("{n}", String(w.블록)).replace("{m}", String(w.밖))}`
: "", // 780-2 막지 않음
(loose ? ` · ${L("M02_LeftLoose").replace("{n}", String(loose))}` : "") +
(w?.블록
? ` · ${L("M02_SkUnmoved").replace("{n}", String(w.블록)).replace("{m}", String(w.밖))}`
: ""), // 780-2 막지 않음
"끝내기",
);
if (!ok) return steps.set("2");
@@ -0,0 +1,21 @@
"""782-1 작은 흠 둘 — 소스 지킴: 끝내기 확인창 인자 자리 · 로직 편집 소유 선택지."""
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
def test_finish_confirm_args_in_order():
src = (ROOT / "M02_MasterTemplete/M02_MasterTemplete_Hopyo_Wizard.ts").read_text("utf-8")
at = src.index("showConfirmDialog(")
block = src[at : src.index(");", at)]
assert block.rstrip().endswith('"끝내기",') or '"끝내기"' in block.splitlines()[-1]
assert "M02_SkUnmoved" in block.split('"끝내기"')[0]
assert block.count('"끝내기"') == 1 and '""' not in block.split("// 780-2")[-1]
def test_owner_choices_match_server():
ui = (ROOT / "M01_MasterData/M01_MasterData_UI_Logic_Edit.ts").read_text("utf-8")
py = (ROOT / "M01_MasterData/M01_MasterData_Store_Make.py").read_text("utf-8")
assert 'OWNERS = ("현장", "공용")' in py
assert 'choice(["현장", "공용"]' in ui