query('search', '')); return view('admin.balances.index', [ 'transactions' => $balances->adminTransactions($search !== '' ? $search : null), 'search' => $search, ]); } public function adjust( AdjustBalanceRequest $request, AzerothCoreAccountService $accounts, BalanceService $balances, ): RedirectResponse { $accountInput = trim($request->string('account')->toString()); $account = ctype_digit($accountInput) ? $accounts->findUserById((int) $accountInput) : $accounts->findUserByUsername($accountInput); if (! $account) { return back()->withInput()->withErrors(['account' => 'Игровой аккаунт не найден.']); } try { $transaction = $balances->adjustByAdmin( $account->id, $request->string('amount')->toString(), $request->string('direction')->toString(), $request->user()->id, $request->user()->username, $request->string('reason')->toString(), ); } catch (InvalidArgumentException $exception) { return back()->withInput()->withErrors(['amount' => $exception->getMessage()]); } return back()->with('status', sprintf( 'Счёт %s изменён. Теперь на нём %s Слёз Элуны.', $account->username, number_format((float) $transaction->balance_after, 2, ',', ' '), )); } }