Files
admin-erahn/app/Http/Controllers/AutoSerahanController.php
T
2025-03-02 09:03:00 +08:00

72 lines
2.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Events\AutoSerahan;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Pagination\LengthAwarePaginator;
class AutoSerahanController extends Controller
{
public function index(Request $request)
{
// Fetch paginated data from API
$response = Http::get(config('api.url') . '/api/autoserahan/list', [
'page' => request('page', 1) // Get current page from request
])->json();
// Extract pagination details
$items = $response['data'] ?? []; // Data array
$total = $response['total'] ?? 0; // Total items
$perPage = $response['per_page'] ?? 10; // Items per page
$currentPage = $response['current_page'] ?? 1; // Current page
// Create Laravel paginator
$list = new LengthAwarePaginator($items, $total, $perPage, $currentPage, [
'path' => request()->url(), // Current URL
'query' => request()->query(), // Append other query params
]);
return view('autoserahan.index', compact('list'));
}
public function approve(Request $request)
{
$response = Http::put(config('api.url') . '/api/autoserahan/approve', [
'id' => $request->id,
'kodcaw' => $request->kodcaw,
'teller' => $request->teller,
'amaun' => $request->amaun,
'sendApproval' => 'ACCEPTED',
'operasi_name' => auth()->user()->name,
])->json();
if($response['status'] == 'success'){
event(new AutoSerahan("Lulus",$request->id,$request->kodcaw,$request->teller));
return redirect()->route('autoserahan')->with('success', 'Serahan approved successfully');
}else{
event(new AutoSerahan("Error",$request->id,$request->kodcaw,$request->teller));
return redirect()->route('autoserahan')->with('error', 'Serahan approved failed');
}
}
public function reject(Request $request)
{
$response = Http::put(config('api.url') . '/api/autoserahan/approve', [
'id' => $request->id,
'kodcaw' => $request->kodcaw,
'teller' => $request->teller,
'amaun' => $request->amaun,
'sendApproval' => 'REJECTED',
'operasi_name' => auth()->user()->name,
])->json();
if($response['status'] == 'success'){
event(new AutoSerahan("Batal",$request->id,$request->kodcaw,$request->teller));
return redirect()->route('autoserahan')->with('success', 'Serahan rejected successfully');
}else{
event(new AutoSerahan("Error",$request->id,$request->kodcaw,$request->teller));
return redirect()->route('autoserahan')->with('error', 'Serahan rejected failed');
}
}
}