From 1ee4a0095ce45e251770aba3eb114dc1f76d05c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Tue, 17 Mar 2026 13:07:07 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[finance]=20=EC=9D=BC=EB=B0=98=EC=A0=84?= =?UTF-8?q?=ED=91=9C=20=EB=AA=A9=EB=A1=9D=EC=97=90=EC=84=9C=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=EC=9E=90=20=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 목록 행에 삭제 아이콘 추가 (수정 아이콘 옆, 관리자에게만 표시) - 컨트롤러 destroy()에 관리자 권한 검증 추가 - 은행거래/수동전표 모두 삭제 가능 --- .../Finance/JournalEntryController.php | 10 +++- .../views/finance/journal-entries.blade.php | 57 ++++++++++++++++--- 2 files changed, 58 insertions(+), 9 deletions(-) diff --git a/app/Http/Controllers/Finance/JournalEntryController.php b/app/Http/Controllers/Finance/JournalEntryController.php index c8cb9d2c..3da24b19 100644 --- a/app/Http/Controllers/Finance/JournalEntryController.php +++ b/app/Http/Controllers/Finance/JournalEntryController.php @@ -333,10 +333,18 @@ public function update(Request $request, int $id): JsonResponse } /** - * 전표 삭제 (soft delete) + * 전표 삭제 (soft delete) — 관리자 이상만 가능 */ public function destroy(int $id): JsonResponse { + $user = auth()->user(); + if (! $user || ! $user->isAdmin()) { + return response()->json([ + 'success' => false, + 'message' => '전표 삭제는 관리자만 가능합니다.', + ], 403); + } + $tenantId = session('selected_tenant_id', 1); $entry = JournalEntry::forTenant($tenantId)->findOrFail($id); $entry->delete(); diff --git a/resources/views/finance/journal-entries.blade.php b/resources/views/finance/journal-entries.blade.php index 353f8d02..6812b5ab 100644 --- a/resources/views/finance/journal-entries.blade.php +++ b/resources/views/finance/journal-entries.blade.php @@ -16,6 +16,9 @@ @push('scripts') @include('partials.react-cdn') + @verbatim