114 lines
3.0 KiB
PHP
114 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace Modules\Internal\Http\Controllers\Api;
|
|
|
|
use App\Helpers\Helper;
|
|
use App\Models\ClaimRequest;
|
|
use App\Models\Member;
|
|
use Exception;
|
|
use Illuminate\Contracts\Support\Renderable;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller;
|
|
use Knp\Snappy\Pdf;
|
|
use Modules\Internal\Transformers\ClaimRequestResource;
|
|
|
|
class ClaimRequestController extends Controller
|
|
{
|
|
/**
|
|
* Display a listing of the resource.
|
|
* @return Renderable
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
$claimRequests = ClaimRequest::query()
|
|
->when($request->search, function ($q, $search) {
|
|
$q->where('code', 'LIKE', "%".$search."%");
|
|
})
|
|
->when($request->orderBy, function ($q, $orderBy) use ($request) {
|
|
if (in_array($orderBy, ['submission_date', 'code'])) {
|
|
$q->orderBy($orderBy, $request->order);
|
|
}
|
|
})
|
|
->when(empty($request->orderBy), function ($q) {
|
|
$q->orderBy('created_at', 'desc');
|
|
})
|
|
->when($request->status, function($q, $status) {
|
|
$q->where('status', $status);
|
|
})
|
|
->with(['member', 'files'])
|
|
->paginate();
|
|
|
|
return Helper::paginateResources(ClaimRequestResource::collection($claimRequests));
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
* @return Renderable
|
|
*/
|
|
public function create()
|
|
{
|
|
return view('internal::create');
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
* @param Request $request
|
|
* @return Renderable
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the specified resource.
|
|
* @param int $id
|
|
* @return Renderable
|
|
*/
|
|
public function show($id)
|
|
{
|
|
return view('internal::show');
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
* @param int $id
|
|
* @return Renderable
|
|
*/
|
|
public function edit($id)
|
|
{
|
|
return view('internal::edit');
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
* @param Request $request
|
|
* @param int $id
|
|
* @return Renderable
|
|
*/
|
|
public function update(Request $request, $id)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
* @param int $id
|
|
* @return Renderable
|
|
*/
|
|
public function destroy($id)
|
|
{
|
|
//
|
|
}
|
|
|
|
public function approve($id)
|
|
{
|
|
$claimRequest = ClaimRequest::findOrFail($id);
|
|
|
|
$claimRequest->status = 'approved';
|
|
$claimRequest->save();
|
|
|
|
return $claimRequest;
|
|
}
|
|
}
|