hm, lots of thinking to do

This commit is contained in:
spencerrlongg 2024-10-17 00:02:15 -05:00
parent a524c0b418
commit b2ff34260a
3 changed files with 18 additions and 8 deletions

View file

@ -13,15 +13,19 @@ use App\Notifications\RequestAssetNotification;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Lorisleiva\Actions\Concerns\AsAction; use Lorisleiva\Actions\Concerns\AsAction;
use Lorisleiva\Actions\Concerns\AsController;
use Lorisleiva\Actions\Concerns\WithAttributes;
class CreateCheckoutRequest class CreateCheckoutRequest
{ {
use AsAction; use AsAction;
use WithAttributes;
public string $status; public string $status = '';
public function handle($assetId) public function handle($assetId)
{ {
dump($assetId);
$user = auth()->user(); $user = auth()->user();
// Check if the asset exists and is requestable // Check if the asset exists and is requestable
@ -59,7 +63,7 @@ class CreateCheckoutRequest
try { try {
$settings->notify(new RequestAssetCancelation($data)); $settings->notify(new RequestAssetCancelation($data));
} catch (\Exception $e) { } catch (\Exception $e) {
Log::warning($e); \Log::warning($e);
} }
$this->status = 'cancelled'; $this->status = 'cancelled';
return true; return true;
@ -73,12 +77,19 @@ class CreateCheckoutRequest
} catch (\Exception $e) { } catch (\Exception $e) {
\Log::warning($e); \Log::warning($e);
} }
dump('handle end');
}
return true; public function asController($assetId)
{
dump('asController');
$asset = $this->handle($assetId);
//return $asset;
} }
public function jsonResponse(): JsonResponse public function jsonResponse(): JsonResponse
{ {
dump('json');
return match ($this->status) { return match ($this->status) {
'doesNotExist' => response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist_or_not_requestable'))), 'doesNotExist' => response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist_or_not_requestable'))),
'accessDenied' => response()->json(Helper::formatStandardApiResponse('error', null, trans('general.insufficient_permissions'))), 'accessDenied' => response()->json(Helper::formatStandardApiResponse('error', null, trans('general.insufficient_permissions'))),
@ -88,7 +99,9 @@ class CreateCheckoutRequest
public function htmlResponse(): RedirectResponse public function htmlResponse(): RedirectResponse
{ {
dump('redirects');
return match ($this->status) { return match ($this->status) {
dump('redirects'),
'doesNotExist' => redirect()->route('requestable-assets')->with('error', trans('admin/hardware/message.does_not_exist_or_not_requestable')), 'doesNotExist' => redirect()->route('requestable-assets')->with('error', trans('admin/hardware/message.does_not_exist_or_not_requestable')),
'accessDenied' => redirect()->route('requestable-assets')->with('error', trans('general.insufficient_permissions')), 'accessDenied' => redirect()->route('requestable-assets')->with('error', trans('general.insufficient_permissions')),
'cancelled' => redirect()->route('requestable-assets')->with('success')->with('success', trans('admin/hardware/message.requests.canceled')), 'cancelled' => redirect()->route('requestable-assets')->with('success')->with('success', trans('admin/hardware/message.requests.canceled')),

View file

@ -145,11 +145,7 @@ class ViewAssetsController extends Controller
*/ */
public function getRequestAsset($assetId = null): void public function getRequestAsset($assetId = null): void
{ {
$request = CreateCheckoutRequest::run($assetId); CreateCheckoutRequest::run($assetId);
if (!$request) {
\Log::debug('problem');
}
} }
public function getRequestedAssets() : View public function getRequestedAssets() : View

View file

@ -1,5 +1,6 @@
<?php <?php
use App\Actions\CheckoutRequests\CreateCheckoutRequest;
use App\Http\Controllers\Account; use App\Http\Controllers\Account;
use App\Http\Controllers\ActionlogController; use App\Http\Controllers\ActionlogController;
use App\Http\Controllers\CategoriesController; use App\Http\Controllers\CategoriesController;