14 lines
847 B
PHP
14 lines
847 B
PHP
<?php
|
|
namespace App\Modules\Accounting;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Http\Request;
|
|
final class CostLedgerController extends Controller
|
|
{
|
|
public function index(Request $r,GeneralLedger $ledger)
|
|
{
|
|
$d=$r->validate(['order_id'=>'sometimes|required|integer|min:1','page'=>'sometimes|integer|min:1|max:100000']);abort_if(array_diff(array_keys($r->query()),array_keys($d))!==[],422);
|
|
try{$data=$ledger->costs($r->user(),isset($d['order_id'])?(int)$d['order_id']:null,(int)($d['page']??1));}catch(\DomainException $e){abort(403,$e->getMessage());}catch(\InvalidArgumentException $e){abort(422,$e->getMessage());}
|
|
return $r->is('api/*')?response()->json($data)->header('Cache-Control','no-store'):response()->view('accounting.cost-ledger',['data'=>$data])->header('Cache-Control','no-store');
|
|
}
|
|
}
|