feat: 기본코드 bag 목록과 관리자 CRUD 분리

- /bag/code-kinds, /bag/code-details/{ck_idx} 조회 (LoginAuthFilter, Roles::canManageCodeMaster)
- admin에서는 종류·세부 목록 제거, 등록·수정·삭제만 유지 후 bag으로 리다이렉트
- 사이트 메뉴·기본코드 링크 SQL, CSV 동기화 스크립트·README 보강
- 관리자 대시보드: 발주·판매 테이블 미존재 시 통계 비활성화
- 회원 로그인 잠금(mb_login_fail_count, mb_locked_until) 및 관리자 잠금 해제

Made-with: Cursor
This commit is contained in:
taekyoungc
2026-03-30 15:07:09 +09:00
parent de8f631ca8
commit ab40a90f69
32 changed files with 1026 additions and 704 deletions

View File

@@ -10,7 +10,14 @@ test.describe('사이트 메뉴 (/bag/*) 페이지 접근', () => {
test('기본정보관리', async ({ page }) => {
await page.goto('/bag/basic-info');
await expect(page).toHaveURL(/\/bag\/basic-info/);
await expect(page.locator('text=기본코드 종류')).toBeVisible();
await expect(page.locator('text=봉투 단가')).toBeVisible();
await expect(page.locator('a[href*="bag/code-kinds"]')).toBeVisible();
});
test('기본코드관리 (/bag/code-kinds)', async ({ page }) => {
await page.goto('/bag/code-kinds');
await expect(page).toHaveURL(/\/bag\/code-kinds/);
await expect(page.locator('h3:has-text("기본코드 종류")')).toBeVisible();
});
test('발주 입고 관리', async ({ page }) => {