commit de compras

This commit is contained in:
2026-11-04 09:37:20 +02:00
parent fcf31e8d48
commit 0b05a1192c
741 changed files with 114127 additions and 116 deletions
+12
View File
@@ -0,0 +1,12 @@
<?php
$s=json_decode(file_get_contents(getenv('RECEIPT_COMPOSITION_STATE')),true,64,JSON_THROW_ON_ERROR);
if(is_file($s['app'].'/public'.parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH))&&preg_match('~^/(purchasing-exit\.mjs|purchasing-board\.mjs|purchasing-presenter\.mjs|stock-receipt-focus\.mjs|obligation-evidence\.mjs|invoice-matching\.mjs|request-history\.mjs|purchasing-focus\.mjs|receipt-workspace\.mjs|order-workspace\.mjs|sourcing-workspace\.mjs|supplier-workspace\.mjs|supplier-documents\.mjs|supplier-picker-model\.mjs|purchasing-dossier\.mjs|request-workspace\.mjs|geography-workspace\.mjs|supplier-obligation-workspace\.mjs|supplier-invoice-workspace\.mjs|sgf-module-context\.js|build/assets/[A-Za-z0-9_.-]+)$~',parse_url($_SERVER['REQUEST_URI'],PHP_URL_PATH)))return false;
require $s['app'].'/vendor/autoload.php';$app=require $s['app'].'/bootstrap/app.php';$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();$f=json_decode(file_get_contents($s['root'].'/fixture.json'),true,64,JSON_THROW_ON_ERROR);
Illuminate\Support\Facades\Route::middleware('web')->get('/qa/enter/{role}',function(Illuminate\Http\Request $r,string $role)use($f,$s){abort_unless(in_array($role,['actor','validator','issuer',...(($s['invoices']??false)?['reviewer','auditor']:[]),...(($s['requests']??false)?['requester','approver']:[])],true),404);$user=App\Models\User::findOrFail($f[$role]);auth()->login($user);$r->session()->put('auth_version',$user->auth_version);$token=bin2hex(random_bytes(20));$scope=$f['scope'];if($r->query('foreign'))$scope['unit_id']=$f['foreign_unit'];$r->session()->put('company_context',$scope+['token'=>$token,'module_id'=>$r->query('module','purchasing')]);if($r->boolean('open')&&($s['stockComposition']??false)&&$r->query('module')==='stock')return redirect('/');if($r->boolean('open')&&($s['integrated']??false)&&!$r->has('geography')&&!$r->has('obligations'))return redirect('/purchasing/workspace');if($r->boolean('open')&&($s['geography']??false)&&in_array($r->query('geography'),['company','unit','client'],true))return redirect('/geography/'.$r->query('geography').'/'.($r->query('geography')==='company'?$f['company']:($r->query('geography')==='unit'?$f['unit']:$f['client'])));if($r->boolean('open')&&($s['obligations']??false)&&$r->boolean('obligations'))return redirect('/purchasing/obligations');if($r->boolean('open')&&($s['invoices']??false)&&in_array($role,['issuer','reviewer','auditor'],true))return redirect('/purchasing/invoices');if($r->boolean('open'))return redirect(($s['requests']??false)&&in_array($role,['requester','approver'],true)?'/purchasing/requests':(($s['suppliers']??false)&&$role!=='validator'?'/purchasing/suppliers':(($s['sourcing']??false)&&$role!=='validator'?'/purchasing/sourcing':(($s['orders']??false)&&$role!=='validator'?'/purchasing/orders':'/purchasing/receipts'))));return response()->json(['csrf'=>csrf_token(),'context'=>$token]);});
if(($s['singleInstallation']??false)===true){
App\Modules\Purchasing\BudgetAdapter::guard();
config(['purchasing_workspace.id'=>$s['tag'],'purchasing_workspace.single_installation'=>true,'purchasing_workspace.scope'=>$f['scope'],'purchasing_workspace.profiles'=>App\Modules\Purchasing\PurchasingEntry::profiles($f)]);
Illuminate\Support\Facades\Route::middleware('web')->get('/compras',[App\Modules\Purchasing\PurchasingEntry::class,'screen']);
Illuminate\Support\Facades\Route::middleware('web')->post('/compras/entrar',[App\Modules\Purchasing\PurchasingEntry::class,'enter']);
}
$app->handleRequest(Illuminate\Http\Request::capture());