fix(malaysia): 콤보 입고 차단 — 낱개 분리 입고 안내
- 콤보(MY-)는 입고 불가 구조. 입고 선택 + 콤보 수량 입력 시 차단. - 클라이언트: 제출 전 alert 안내(낱개로 분리 입고) - 서버: 동일 조건 400 (JS 우회 대비) - 세트 movement 는 항상 OUT 유지(create_set_out 원복) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
{% include "malaysia/_nav.html" %}
|
||||
|
||||
<!-- 3분할: 좌(옵션) · 중(낱개) · 우(세트), 버튼 하나 -->
|
||||
<form method="post" action="/malaysia/movements/apply">
|
||||
<form method="post" action="/malaysia/movements/apply" onsubmit="return mysCheckComboIn(this)">
|
||||
<input type="hidden" name="warehouse_code" value="{{ selected_wh }}" />
|
||||
|
||||
<div style="display:grid;grid-template-columns:280px 1fr 1fr;gap:16px;align-items:start;">
|
||||
@@ -89,6 +89,22 @@
|
||||
</form>
|
||||
|
||||
<script>
|
||||
// 콤보(MY-)는 입고 불가 — IN 선택 + 콤보 수량 입력 시 안내 후 제출 차단
|
||||
function mysCheckComboIn(form) {
|
||||
var type = form.querySelector('[name=movement_type]').value;
|
||||
if (type !== 'IN') return true;
|
||||
var keyed = [];
|
||||
form.querySelectorAll('input[name^="qty_MY-"]').forEach(function (inp) {
|
||||
var v = (inp.value || '').trim();
|
||||
if (v !== '' && v !== '0') keyed.push(inp.name.replace('qty_', ''));
|
||||
});
|
||||
if (keyed.length) {
|
||||
alert('콤보 상품은 입고할 수 없습니다.\n낱개로 분리해서 입고하세요.\n\n입고 불가 콤보: ' + keyed.join(', '));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function mysDownloadMovements(btn) {
|
||||
var form = btn.closest('form');
|
||||
var type = form.querySelector('[name=movement_type]').value;
|
||||
|
||||
Reference in New Issue
Block a user