@php $isEditWizard = $isEdit ?? false; $initialClientStr = (string) old('client_id', $initialClient ?? ''); $initialProjectIdsArr = collect(old('selected_project_ids', $initialProjectIds ?? []))->map(fn ($id) => (string) $id)->unique()->values()->all(); $initialBriefIdsArr = collect(old('selected_briefs', $initialBriefIds ?? []))->map(fn ($id) => (string) $id)->values()->all(); $initialPricesArr = old('prices', $initialPrices ?? []); $projectsPayload = $projects->map(function ($project) { return [ 'id' => $project->id, 'name' => $project->name, 'client_id' => (int) ($project->client_id ?: $project->client?->id ?: 0), 'client' => $project->client?->name, 'briefs' => $project->briefs->map(function ($brief) { $budgetTndTotal = (float) $brief->adPlatforms->sum('budget'); $isAdvertising = $brief->isAdvertisingBrief(); $estimatedCostTnd = (float) ($brief->estimated_price ?? 0); if ($estimatedCostTnd <= 0 && $budgetTndTotal > 0) { $estimatedCostTnd = $budgetTndTotal; } $suggestedTnd = ($isAdvertising && $estimatedCostTnd > 0) ? round($estimatedCostTnd * \App\Models\Brief::ADVERTISING_SALE_HT_COST_MULTIPLIER, 3) : 0.0; return [ 'id' => $brief->id, 'title' => $brief->title, 'status' => $brief->brifStatus?->name ?? '-', 'estimated_price' => (float) ($brief->estimated_price ?? 0), 'selling_price' => (float) ($brief->selling_price ?? 0), 'is_advertising' => $isAdvertising, 'advertising_budget_tnd_total' => round($budgetTndTotal, 3), 'suggested_invoice_ht_tnd' => $suggestedTnd, 'breakdown' => $brief->getCostBreakdown(), ]; })->values()->all(), ]; })->values()->all(); $clientsPayload = $projects ->map(fn ($project) => $project->client) ->filter() ->unique('id') ->values() ->map(fn ($client) => [ 'id' => (int) $client->id, 'name' => (string) $client->name, ])->all(); $prefillClientPayload = $prefillClient ?? null; if (is_array($prefillClientPayload) && isset($prefillClientPayload['id'])) { $prefillClientId = (int) $prefillClientPayload['id']; $alreadyListed = collect($clientsPayload)->contains( fn (array $client): bool => (int) $client['id'] === $prefillClientId ); if (! $alreadyListed) { array_unshift($clientsPayload, [ 'id' => $prefillClientId, 'name' => (string) ($prefillClientPayload['name'] ?? ''), ]); } } @endphp @if (! empty($prefillFromNotification) && ! empty($prefillProjectName))
Demande prête à facturer
La demande « {{ $prefillProjectName }} », le client et tous les briefs validés sont déjà sélectionnés avec les prix suggérés. Vérifiez les montants puis cliquez sur {{ $submitLabel ?? 'Générer' }}.
Brief
| Employé | Temps passé | Taux Horaire | Sous-total |
|---|---|---|---|
| Coût Interne Total | |||