27 lines
963 B
PHP
27 lines
963 B
PHP
<?php
|
|
|
|
namespace App\Modules\Purchasing;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
|
|
final class SupplierPayableReportController extends Controller
|
|
{
|
|
private function criteria(Request $request): array
|
|
{
|
|
$data = $request->validate(['q' => 'sometimes|nullable|string|max:100', 'source' => 'sometimes|required|integer|min:1']);
|
|
abort_if(array_diff(array_keys($request->query()), array_keys($data)) !== [], 422);
|
|
return $data;
|
|
}
|
|
|
|
public function index(Request $request, SupplierPayables $service)
|
|
{
|
|
return response()->json($service->report($request->user(), $this->criteria($request)))->header('Cache-Control', 'no-store');
|
|
}
|
|
|
|
public function page(Request $request, SupplierPayables $service)
|
|
{
|
|
return response()->view('purchasing.payable-report', ['report' => $service->report($request->user(), $this->criteria($request))])->header('Cache-Control', 'no-store');
|
|
}
|
|
}
|