fix(project): 완료 표시 후 저장하면 완료가 풀리던 버그 수정

업무 편집 모달의 "저장"은 항상 현재 stage_id를 그대로 다시 보내는데,
update_task가 stage_id가 payload에 있기만 하면(값이 그대로여도) 완료단계
여부를 재판정해 완료를 리셋했다 — "완료로 표시" 직후 저장하면 취소선이
안 보이던 원인. 실제로 stage_id가 바뀐 경우에만 완료/재오픈 판정하도록
수정.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 22:51:42 +09:00
parent 1d3f344aa3
commit 7e935f0378
+5 -1
View File
@@ -536,11 +536,15 @@ class ProjectStore:
sets.append("assignee_name = %s")
params.append(store.norm_str(fields["assignee_name"]))
# 단계 변경 → 완료단계 진입 시 completed_at 자동 세팅
# 단계 변경 → 완료단계 진입 시 completed_at 자동 세팅. 단, 실제로 단계가
# 바뀐 경우에만 판정한다 — 업무 편집 모달의 "저장"은 매번 현재 stage_id
# 를 그대로 다시 보내는데, 여기서 무조건 판정하면 방금 "완료로 표시"로
# 켠 completed_at 을(단계는 그대로인데) 다시 꺼버리는 버그가 있었다.
if "stage_id" in fields:
new_stage = fields["stage_id"]
sets.append("stage_id = %s")
params.append(new_stage)
if new_stage != prev.get("stage_id"):
done = self._stage_is_done(new_stage)
if done and not prev.get("completed_at"):
sets.append("completed_at = %s")