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:
@@ -536,11 +536,15 @@ class ProjectStore:
|
|||||||
sets.append("assignee_name = %s")
|
sets.append("assignee_name = %s")
|
||||||
params.append(store.norm_str(fields["assignee_name"]))
|
params.append(store.norm_str(fields["assignee_name"]))
|
||||||
|
|
||||||
# 단계 변경 → 완료단계 진입 시 completed_at 자동 세팅
|
# 단계 변경 → 완료단계 진입 시 completed_at 자동 세팅. 단, 실제로 단계가
|
||||||
|
# 바뀐 경우에만 판정한다 — 업무 편집 모달의 "저장"은 매번 현재 stage_id
|
||||||
|
# 를 그대로 다시 보내는데, 여기서 무조건 판정하면 방금 "완료로 표시"로
|
||||||
|
# 켠 completed_at 을(단계는 그대로인데) 다시 꺼버리는 버그가 있었다.
|
||||||
if "stage_id" in fields:
|
if "stage_id" in fields:
|
||||||
new_stage = fields["stage_id"]
|
new_stage = fields["stage_id"]
|
||||||
sets.append("stage_id = %s")
|
sets.append("stage_id = %s")
|
||||||
params.append(new_stage)
|
params.append(new_stage)
|
||||||
|
if new_stage != prev.get("stage_id"):
|
||||||
done = self._stage_is_done(new_stage)
|
done = self._stage_is_done(new_stage)
|
||||||
if done and not prev.get("completed_at"):
|
if done and not prev.get("completed_at"):
|
||||||
sets.append("completed_at = %s")
|
sets.append("completed_at = %s")
|
||||||
|
|||||||
Reference in New Issue
Block a user