Skip to content

feat: #85 하루 마감 API 연결 (daily_plan_finalize) - #86

Open
wngjs8114 wants to merge 1 commit into
devfrom
feature/#85-daily-plan-finalize
Open

feat: #85 하루 마감 API 연결 (daily_plan_finalize)#86
wngjs8114 wants to merge 1 commit into
devfrom
feature/#85-daily-plan-finalize

Conversation

@wngjs8114

Copy link
Copy Markdown
Collaborator

관련 이슈

Closes #85

작업 내용

end_of_day_modal.html(FE1, #74)이 하루 종료 UI는 갖췄지만, eodSubmit 버튼은 아직 setTimeout으로 가짜 진행 애니메이션만 보여줄 뿐 실제 제출 로직이 없던 부분을 연결한다.

API 계약

POST /planner/daily-plans/finalize/
Response 성공(200): {"needs_recovery": bool, "recovery_group_id": str|null, "redirect_url": str}
Response 실패(400/404/409): {"message": str}

설계 결정 사항

  • mark_unrecorded_as_not_done=True 고정: end_of_day_modal.html이 이미 "완료하지 못한 작업이 있으면 복구 방법을 선택할 수 있는 화면으로 안내해드릴게요"라고 안내하고 있어서, 미입력 작업을 사용자 확인 없이 자동으로 못함 처리하는 게 UI 문구와 일치
  • 날짜 필터로 미래/과거 계획 접근 원천 차단: date=timezone.localdate()로 오늘 계획만 조회하므로, FutureDailyPlanFinalizeError는 View 레벨에서 발생할 일이 없음(애초에 조회 대상에서 제외) — 대신 없는 계획으로 404 처리
  • recovery_compare URL 미완성 대응: #82(복구안 비교 화면)가 아직 View 연결 전이라, redirect_url은 임시로 "#" 처리. #82 View 작업 시 reverse('planner:recovery_compare', ...)로 교체 필요
  • #73(progress_record)에서 정한 "오늘 날짜 + 활성 시험기간만" 제한 원칙 동일 적용

이번 PR 범위 밖

테스트

  • python manage.py test planner → 146개 통과 (기존 140 + 신규 6)
  • 신규 테스트: 미완료 작업 없을 때 정상 마감(복구 불필요), 미완료 작업 있을 때 복구안 생성 확인, 오늘 계획 없을 때 404, 중복 마감 시 409, 다른 사용자 계획 미노출

TODO (후속)

  • #82 View 연결 시 redirect_url 임시 처리("#")를 실제 recovery_compare URL로 교체

@wngjs8114
wngjs8114 requested a review from 6ye0m August 7, 2026 16:01
@wngjs8114 wngjs8114 self-assigned this Aug 7, 2026
@6ye0m

6ye0m commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

이 PR은 PR #80(feature/#79-daily-plan-finalize-api)이랑 완전히 같은 기능(#85 하루 마감 API 연결)을 별도 브랜치에서 독립적으로 구현하신 것 같습니다.

PR #80은 이미 리뷰 반영 후 dev에 merge됐습니다(d0c6b75). 이 브랜치(feature/#85-daily-plan-finalize)는 d585386 커밋 하나만 있고 PR #78 merge 직후 시점을 기준으로 하고 있어서, PR #80에서 있었던 리뷰 내용(예: _get_today_daily_plan 조회 순서 수정)은 반영이 안 된 상태입니다.

실제로 dev와 병합을 시도해보니 planner/views.py, planner/tests.py 양쪽에서 충돌이 발생합니다.

코드 자체는 문제없어 보입니다(오히려 시험기간을 먼저 고르지 않고 DailyPlan을 직접 조회하는 방식이라, PR #80에서 지적했던 것과 동일한 버그도 없습니다). 다만 이미 dev에 같은 기능이 들어가 있는 상태라, 이 PR은 닫으시는 걸 권장드립니다.

혹시 이 브랜치에서 PR #80에는 없는 다른 작업(예: redirect_url TODO 처리 방식 등)이 있다면, 그 부분만 따로 새 PR로 만들어서 올려주시면 확인하겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[planner] 하루 마감 API 연결 (daily_plan_finalize)

2 participants