From 41f3d0d64268872cd4e9b887e212347fdd5232f6 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 23 Dec 2024 19:03:04 +0700 Subject: [PATCH] feat : setelah create data bisa langsung print --- .../Admin/Manage/TransactionController.php | 24 ++++++++++++++++--- .../admin/manage/transaction/print.blade.php | 7 +++++- routes/web.php | 1 - 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/Manage/TransactionController.php b/app/Http/Controllers/Admin/Manage/TransactionController.php index b298d50..04db499 100644 --- a/app/Http/Controllers/Admin/Manage/TransactionController.php +++ b/app/Http/Controllers/Admin/Manage/TransactionController.php @@ -44,14 +44,18 @@ public function create(): View ]); } - public function store(TransactionRequest $request): RedirectResponse + public function store(TransactionRequest $request): View { $validatedData = $request->validated(); $findCustomer = Customer::find($validatedData['customer']); - DB::transaction(function () use ($validatedData, $findCustomer) { + + $newTransaction = null; + + DB::transaction(function () use ($validatedData, $findCustomer, &$newTransaction) { $customer = null; $userId = Auth::id(); $barbershopId = Auth::user()->barbershop_id; + if (! $findCustomer) { $customer = Customer::create([ 'user_id' => $userId, @@ -59,20 +63,33 @@ public function store(TransactionRequest $request): RedirectResponse 'name' => $validatedData['customer'], ]); } + $newTransaction = Transaction::create(array_merge($validatedData, [ 'user_id' => $validatedData['barber'], 'barbershop_id' => $barbershopId, 'service_id' => $validatedData['service'], 'customer_id' => $customer ? $customer->id : $validatedData['customer'], ])); + if (isset($validatedData['image'])) { $this->uploadAttachment($validatedData['image'], 'transactions', Transaction::class, $newTransaction->id, 'transaction'); } }); + if (! $newTransaction) { + notify()->error('Transaction could not be created', 'Error'); + + return redirect()->back(); + } + + $transactionData = $newTransaction->load(['user', 'user.biography', 'customer', 'service', 'barbershop']); + notify()->success('Data berhasil ditambahkan', 'Berhasil'); - return redirect('dashboard/manage/transactions'); + return view('pages.admin.manage.transaction.print', [ + 'transaction' => $transactionData, + 'url' => route('manage.transactions'), + ]); } public function edit(Transaction $transaction): View @@ -140,6 +157,7 @@ public function print(Transaction $transaction): View { return view('pages.admin.manage.transaction.print', [ 'transaction' => $transaction->load(['user', 'user.biography', 'customer', 'service', 'barbershop']), + 'url' => route('manage.transactions'), ]); } } diff --git a/resources/views/pages/admin/manage/transaction/print.blade.php b/resources/views/pages/admin/manage/transaction/print.blade.php index 21bb4c6..ccb69fd 100644 --- a/resources/views/pages/admin/manage/transaction/print.blade.php +++ b/resources/views/pages/admin/manage/transaction/print.blade.php @@ -196,7 +196,12 @@

Terima kasih atas kunjungan Anda!

diff --git a/routes/web.php b/routes/web.php index 912abae..9ab9aab 100644 --- a/routes/web.php +++ b/routes/web.php @@ -17,7 +17,6 @@ use App\Http\Controllers\Admin\Setting\AccountController; use App\Http\Controllers\Admin\Setting\ApplicationController; use App\Http\Controllers\Client\HomepageController; -use App\Models\Transaction; use Illuminate\Support\Facades\Route; Route::prefix('auth')->group(function () {