Файловый менеджер - Редактировать - /home/clickysoft/public_html/assets.clickysoft.net/app/Repositories/AssetRequestsRepository.php
Назад
<?php namespace App\Repositories; use App\Models\AssetRequest; use App\Models\User; use App\Notifications\AssetRequestNotification; use DB; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; use Exception; class AssetRequestsRepository implements AssetRequestsRepositoryInterface { public function getAllAssetRequests(Request $request) { $assetRequests = AssetRequest::with(['asset', 'user']); if (auth()->user()->is_org_admin != 1) { $assetRequests = $assetRequests->where('user_id', auth()->id()); } if ($request->filled('search')) { $assetRequests = $assetRequests->where("reason", "like", "%" . $request->get("search", "") . "%"); $assetRequests = $assetRequests->orWhereHas('asset', function ($q) use ($request) { $q->where('asset_name', 'like', '%' . $request->search . '%'); })->orWhereHas('tag', function ($q) use ($request) { $q->where('tag_name', 'like', '%' . $request->search . '%') ->orWhere('code', 'like', '%' . $request->search . '%') ->orWhere('serial', 'like', '%' . $request->search . '%'); })->orWhereHas('user', function ($q) use ($request) { $q->where('first_name', 'like', '%' . $request->search . '%') ->orWhere('last_name', 'like', '%' . $request->search . '%') ->orWhere('email', 'like', '%' . $request->search . '%'); }); } return $assetRequests->orderBy("id", "desc")->paginate(50); } public function storeAssetRequest(Request $request) { $assetRequest = AssetRequest::whereUserId(auth()->id())->whereAssetId($request->asset_id)->first(); if (empty($assetRequest)) { $assetRequest = AssetRequest::create($request->all()); $assetRequest = $assetRequest->load(['asset', 'user']); $orgAdmin = User::where('organization_id', auth()->user()->organization_id)->where('is_org_admin', 1)->first(); if ($orgAdmin) { $orgAdmin->notify(new AssetRequestNotification($assetRequest)); } return ["success" => true, "assetRequest" => $assetRequest]; } else { return ["success" => false, "assetRequest" => ["message" => "Selected asset has already been requested.", "errors" => ["reason" => ["Selected asset has already been requested."]]]]; } } public function getAssetRequest(AssetRequest $asset_request) { return $asset_request->load('asset', 'tag', 'user'); } public function updateAssetRequest(AssetRequest $asset_request, Request $request) { $asset_request->update($request->all()); return $asset_request->load(['asset', 'tag', 'user']); } public function deleteAssetRequest(AssetRequest $asset_request) { $asset_request->delete(); } public function massDestroyAssetRequests($ids) { try { DB::beginTransaction(); $assetRequests = AssetRequest::whereIn("id", $ids)->get(); foreach ($assetRequests as $asset) { $asset->delete(); } DB::commit(); return response(null, Response::HTTP_NO_CONTENT); } catch (Exception $error) { DB::rollBack(); return response(["message" => "Could not delete asset requests"], Response::HTTP_INTERNAL_SERVER_ERROR); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка