commit de compras
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace App\Modules\Purchasing;
|
||||
use Tempo\Purchasing\Embedded\Models\Requisition;
|
||||
use App\Shared\Context\CompanyContext;
|
||||
|
||||
/** One native record/book; admission is an explicit binding or an audited host origin. */
|
||||
final class RequisitionAccess
|
||||
{
|
||||
public static function scope():string{$c=app(CompanyContext::class);return hash('sha256',json_encode($c->identifiers()+['unit_id'=>$c->unitId()],JSON_THROW_ON_ERROR));}
|
||||
public static function ids(array $binding){return Requisition::query()->select('requisitions.id')->where(function($q)use($binding){$q->whereIn('requisitions.id',$binding['requisition_ids']??[]);if(config('receipt_qa.requests_enabled')===true)$q->orWhereExists(fn($a)=>$a->selectRaw('1')->from('audit_logs as ra')->whereColumn('ra.tenant_id','requisitions.tenant_id')->whereColumn('ra.requisition_id','requisitions.id')->where('ra.action','sgf.request.command')->where('ra.after->request_scope',self::scope()));});}
|
||||
public static function allowed(int $id,array $binding):bool{return self::ids($binding)->where('requisitions.id',$id)->exists();}
|
||||
}
|
||||
Reference in New Issue
Block a user