resolucao dos inputs das provincias, distritos, localidades
tests / ci (push) Waiting to run

This commit is contained in:
2026-09-30 12:59:28 +02:00
parent 3dc7c5c649
commit 3395424d82
13 changed files with 355 additions and 92 deletions
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\Models\EducationInvestmentProposal;
use App\Models\LabourDemand;
use App\Models\Opportunity;
use App\Services\InvestmentGeography;
use App\Services\PortalAudit;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
@@ -27,6 +28,10 @@ class EducationInvestmentController extends Controller
'risks' => ['required', 'string', 'min:10', 'max:5000'],
'source' => ['required', 'string', 'min:10', 'max:5000'],
'currency' => ['required', Rule::in(['MZN', 'USD', 'EUR', 'ZAR'])],
'province_id' => ['required', 'uuid'],
'district_id' => ['nullable', 'uuid'],
'admin_post_id' => ['nullable', 'uuid'],
'locality_id' => ['nullable', 'uuid'],
]);
DB::transaction(function () use ($request, $id, $data): void {
@@ -38,6 +43,10 @@ class EducationInvestmentController extends Controller
if (EducationInvestmentProposal::withTrashed()->where('labour_demand_id', $id)->exists()) {
return;
}
$territory = app(InvestmentGeography::class)->selection($data, true);
$province = $territory[0];
$district = $territory[1] ?? null;
$primaryTerritory = $territory[array_key_last($territory)];
$reference = 'EDU-'.Str::uuid();
$opportunity = new Opportunity;
PortalAudit::save($opportunity, [
@@ -45,6 +54,8 @@ class EducationInvestmentController extends Controller
'slug' => strtolower($reference), 'title' => $data['title'],
'summary' => 'Proposta educativa em preparação. Lacuna e viabilidade pendentes de validação institucional.',
'description' => $data['intervention'], 'estimated_investment_currency' => $data['currency'],
'province' => $province->name, 'district' => $district?->name,
'primary_territory_id' => $primaryTerritory->id, 'territory_version' => 1,
'status' => 'draft', 'is_featured' => false,
], $request->user()->id);
PortalAudit::save(new EducationInvestmentProposal, [