7 lines
2.0 KiB
PHP
7 lines
2.0 KiB
PHP
<?php
|
|
use Illuminate\Support\Facades\Auth;use App\Shared\Context\CompanyContext;
|
|
$book='8085';require __DIR__.'/sgf-single-bootstrap.php';$pins=json_decode(file_get_contents($s['root'].'/single-binding-pins.json'),true);config(['sgf_single_installation.enabled'=>true,'sgf_single_installation.schema_sha256'=>$host->table('sgf_composition_schema')->value('source_hash'),'sgf_single_installation.bindings_sha256'=>$pins['single-bindings.json'],'stock_operations.enabled'=>true,'stock_operations.profile_sha256'=>$pins['stock-operations-binding.json']]);
|
|
$user=App\Models\User::findOrFail($f['validator']);Auth::guard('web')->setUser($user);$r=Illuminate\Http\Request::create('/api/stock-operations','GET');$r->setUserResolver(fn()=>$user);$session=app('session')->driver();$session->start();$session->put('company_context',$f['scope']+['module_id'=>'stock','token'=>'rights-read-only']);$r->setLaravelSession($session);$app->instance('request',$r);app(CompanyContext::class)->selectFor($user->id,1,2,2);
|
|
$permissions=app(App\Modules\Purchasing\ReceiptRuntime::class)->run('stock.view',function($actor)use($nf){$reviewer=Tempo\Purchasing\Embedded\Models\User::where('tenant_id',$actor->tenant_id)->findOrFail($nf['head']);return ['warehouse'=>['inventory_lot_read'=>$actor->hasFunctions(['inventory_lot_read']),'inventory_lot_prepare'=>$actor->hasFunctions(['inventory_lot_prepare'])],'reviewer'=>['inventory_lot_read'=>$reviewer->hasFunctions(['inventory_lot_read']),'inventory_lot_review'=>$reviewer->hasFunctions(['inventory_lot_review'])]];});
|
|
$rights=[];foreach(['stock.transfers.receive','stock.lots.review'] as $name)$rights[$name]=$host->table('permission_grants')->where('permission',$name)->exists();$out=['passed'=>true,'native_functions'=>$permissions,'additional_host_rights_present'=>$rights,'grants_performed'=>0,'business_commands'=>0,'database_roles_created'=>0,'cache_cleared'=>false];file_put_contents($work.'/stock-rights-gap.json',json_encode($out,JSON_PRETTY_PRINT));echo json_encode($out+['proof'=>$work.'/stock-rights-gap.json']).PHP_EOL;
|