feat(malaysia): 슈퍼관리자 재고 데이터 초기화

- 재고 현황 하단 '위험 구역' 카드(슈퍼관리자만 표시)
- POST /malaysia/reset: stock_movement + daily_stocktake(+line) 전체 삭제
  → 전체 창고 현재고/조사값 0. 마스터(창고/아이템) 보존.
- 권한: is_super_admin 아니면 403 (버튼 숨김 + 서버 이중 검사)
- 2단 확인(confirm + RESET 타이핑)
- i18n 추가, malaysia.js 캐시 버전 bump

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-12 11:32:30 +09:00
parent 84d266ea89
commit 8f882ff4cd
5 changed files with 60 additions and 1 deletions
+18
View File
@@ -174,6 +174,24 @@ async def index(request: Request) -> HTMLResponse:
return render_template(request, "malaysia/index.html", ctx)
@router.post("/reset")
async def reset_data(
request: Request, user: dict[str, Any] = Depends(_require_user)
) -> RedirectResponse:
"""전체 창고 재고 수량 데이터 초기화 — 슈퍼관리자 전용.
stock_movement + daily_stocktake(+line) 전체 삭제(현재고/조사값 0).
마스터(warehouses, malaysia_items)는 보존.
"""
if not user.get("is_super_admin"):
raise HTTPException(status_code=403, detail="재고 데이터 초기화는 슈퍼관리자만 가능합니다.")
st = _store(request)
if st is None:
raise HTTPException(status_code=503, detail="malaysia_stock_db 미설정")
st.reset_all_data()
return RedirectResponse(url="/malaysia/", status_code=303)
# ════════════════════════════════════════════════════════════
# 입고 / 출고 등록 (그리드 일괄)
# ════════════════════════════════════════════════════════════