diff --git a/app/Http/Controllers/ApprovalController.php b/app/Http/Controllers/ApprovalController.php index 21ac1a42..4b75d2be 100644 --- a/app/Http/Controllers/ApprovalController.php +++ b/app/Http/Controllers/ApprovalController.php @@ -2,6 +2,8 @@ namespace App\Http\Controllers; +use App\Models\Finance\BankAccount; +use App\Models\Finance\CorporateCard; use App\Services\ApprovalService; use Illuminate\Http\Request; use Illuminate\Http\Response; @@ -36,8 +38,9 @@ public function create(Request $request): View|Response $forms = $this->service->getApprovalForms(); $lines = $this->service->getApprovalLines(); + [$cards, $accounts] = $this->getCardAndAccountData(); - return view('approvals.create', compact('forms', 'lines')); + return view('approvals.create', compact('forms', 'lines', 'cards', 'accounts')); } /** @@ -57,8 +60,9 @@ public function edit(Request $request, int $id): View|Response $forms = $this->service->getApprovalForms(); $lines = $this->service->getApprovalLines(); + [$cards, $accounts] = $this->getCardAndAccountData(); - return view('approvals.edit', compact('approval', 'forms', 'lines')); + return view('approvals.edit', compact('approval', 'forms', 'lines', 'cards', 'accounts')); } /** @@ -110,4 +114,22 @@ public function completed(Request $request): View|Response return view('approvals.completed'); } + + private function getCardAndAccountData(): array + { + $tenantId = session('selected_tenant_id'); + + $cards = CorporateCard::forTenant($tenantId) + ->active() + ->select('id', 'card_name', 'card_company', 'card_number', 'card_holder_name') + ->get(); + + $accounts = BankAccount::where('tenant_id', $tenantId) + ->active() + ->ordered() + ->select('id', 'bank_name', 'account_number', 'account_holder', 'is_primary') + ->get(); + + return [$cards, $accounts]; + } } diff --git a/resources/views/approvals/create.blade.php b/resources/views/approvals/create.blade.php index e2e70d0c..428b58a8 100644 --- a/resources/views/approvals/create.blade.php +++ b/resources/views/approvals/create.blade.php @@ -82,7 +82,11 @@ class="w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:outline- {{-- 지출결의서 전용 폼 --}} - @include('approvals.partials._expense-form', ['initialData' => []]) + @include('approvals.partials._expense-form', [ + 'initialData' => [], + 'cards' => $cards ?? collect(), + 'accounts' => $accounts ?? collect(), + ]) {{-- 액션 버튼 --}}