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:
@@ -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)
|
||||
|
||||
|
||||
# ════════════════════════════════════════════════════════════
|
||||
# 입고 / 출고 등록 (그리드 일괄)
|
||||
# ════════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user