@extends('dashboard.layouts.app') @section('content') @include('components.alert') @php $currentMonth = now()->month; $currentYear = now()->year; $monthParam = request('month'); $yearParam = request('year'); $isAllMonth = $monthParam === 'all'; $isAllYear = $yearParam === 'all'; $selectedMonth = $isAllMonth ? null : (int) ($monthParam ?: $currentMonth); $selectedYear = $isAllYear ? null : (int) ($yearParam ?: $currentYear); $selectedMonthName = $selectedMonth ? date('F', mktime(0, 0, 0, $selectedMonth, 10)) : 'All months'; $selectedYearLabel = $selectedYear ? (string) $selectedYear : 'All years'; $canCheckRun = !is_null($selectedMonth) && !is_null($selectedYear); $runExistsForSelected = $canCheckRun ? (bool) ($runExistsForSelected ?? false) : null; $isCurrentSelection = $canCheckRun && ($selectedMonth === $currentMonth && $selectedYear === $currentYear); $currentMonthName = date('F', mktime(0, 0, 0, $currentMonth, 10)); $runStatusLabel = !$canCheckRun ? "Showing {$selectedMonthName} {$selectedYearLabel}" : ($runExistsForSelected ? "Run for {$selectedMonthName} {$selectedYearLabel}" : "Not run for {$selectedMonthName} {$selectedYearLabel}"); $runStatusVariant = !$canCheckRun ? 'info' : ($runExistsForSelected ? 'success' : 'neutral'); $financeOptions = $financeOptions ?? [ 'accounts' => collect(), 'treasuries' => collect(), 'cost_centers' => collect(), 'defaults' => [], ]; $financeDefaults = $financeOptions['defaults'] ?? []; $financeAccounts = $financeOptions['accounts'] ?? collect(); $financeTreasuries = $financeOptions['treasuries'] ?? collect(); $financeCostCenters = $financeOptions['cost_centers'] ?? collect(); $selectedSalaryExpenseCode = old( 'finance_salary_expense_account_code', request('finance_salary_expense_account_code', $financeDefaults['salary_expense_account_code'] ?? null), ); $selectedCashBankCode = old( 'finance_cash_bank_account_code', request('finance_cash_bank_account_code', $financeDefaults['cash_bank_account_code'] ?? null), ); $selectedTreasuryId = old( 'finance_treasury_id', request('finance_treasury_id', $financeDefaults['treasury_id'] ?? null), ); $selectedCostCenterCode = old( 'finance_payroll_cost_center_code', request('finance_payroll_cost_center_code', $financeDefaults['cost_center_code'] ?? null), ); $financeReady = $financeAccounts->isNotEmpty() && $financeTreasuries->isNotEmpty() && $financeCostCenters->isNotEmpty(); @endphp