@extends('layouts.base') @section('content') @section('breadcrumb') @endsection
@if(session('success')) @endif @if(session('error')) @endif @if ($errors->any()) @endif
@if($program->getMedia('images')->count() > 0)
{{ $program->name }}
@else
@endif

{{ $program->name }}

{{ $program->slug }}

@if($program->is_active) Actif @else Inactif @endif @if($program->creatorApplication()?->id !== $application->id) Partagé @endif
Gérer les lots @if($program->creatorApplication()?->id === $application->id) Modifier @endif Retour
Informations du programme

{{ $program->name }}

@php $address = $program->addresses->first(); @endphp @if($address)

@if($address->line_1) {{ $address->line_1 }}
@endif @if($address->line_2) {{ $address->line_2 }}
@endif @if($address->zip_code || $address->city) {{ $address->zip_code }} {{ $address->city }}
@endif @if($address->country) {{ $address->country }} @endif

@if($address->latitude && $address->longitude)

Coordonnées : {{ $address->latitude }}, {{ $address->longitude }}

@endif
@endif @if($program->contrat_type && $program->contrat_type !== \App\Enums\ContratTypeProgram::NON_DEFINI)

{{ $program->contrat_type->label() }}

{{ $program->contrat_type->description() }}
@endif @if($program->dates->count() > 0)
@php $programDates = $program->dates->keyBy('type'); @endphp @foreach(\App\Enums\DateTypeProgram::cases() as $dateType) @php $date = $programDates->get($dateType->value); @endphp @if($date && $date->value)
{{ $dateType->label() }} {{ $date->value->format('d/m/Y') }}
@endif @endforeach
@endif
Informations techniques

{{ $program->id }}

@if($program->is_active) Actif @else Inactif @endif

{{ $program->lots?->count() ?? 0 }} lot(s)

@if(isset($formEditor) && $formEditor && $formEditor->fields->count() > 0)
Champs personnalisés
Données spécifiques à cette application
Note : Ces champs ne concernent pas l'affichage sur le site de diffusion. Ils sont uniquement utilisés pour la gestion interne.
@foreach($formEditor->fields as $field) @php $fieldValue = $field->data && isset($field->data->json['value']) ? $field->data->json['value'] : null; @endphp @if($fieldValue !== null && $fieldValue !== '')
@if($field->type === \App\Enums\FieldType::TEXT || $field->type === \App\Enums\FieldType::NUMBER)

{{ $fieldValue }}

@elseif($field->type === \App\Enums\FieldType::CHECKBOX)

@if($fieldValue == '1') Activé @else Désactivé @endif

@elseif($field->type === \App\Enums\FieldType::DATE)

{{ \Carbon\Carbon::parse($fieldValue)->format('d/m/Y') }}

@else

{{ $fieldValue }}

@endif @if($field->description) {{ $field->description }} @endif
@endif @endforeach
@if($formEditor->fields->filter(fn($f) => $f->data && isset($f->data->json['value']) && $f->data->json['value'] !== '')->count() === 0)
Aucune donnée personnalisée renseignée
@endif
@endif @if($program->fiscalites->count() > 0)
Fiscalités applicables
@foreach($program->fiscalites as $fiscalite)
{{ $fiscalite->type->label() }}
{{-- Dispositif fiscal --}}
@endforeach
@endif @if($program->normeEcos->count() > 0)
Normes écologiques
@foreach($program->normeEcos as $normeEco)
{{ $normeEco->type->label() }}
@endforeach
@endif @if($program->garanties->count() > 0)
Garanties du programme
@foreach($program->garanties as $garantie) @if($garantie->type)
{{ $garantie->type->label() }}
@endif @endforeach
@endif @if($program->prestations->count() > 0)
Prestations du programme
@foreach($program->prestations as $prestation) {{ $prestation->type->label() }} @endforeach
@endif @if($program->marketingTags->count() > 0)
Mise en avant marketing
@foreach($program->marketingTags as $tag) @if($tag->type) {{ $tag->type->label() }} @endif @endforeach
Ces tags permettent de mettre en avant certaines caractéristiques du programme
@endif @php $sharedApps = $program->applications->where('id', '!=', $application->id); @endphp @if($sharedApps->count() > 0)
Programme partagé avec
@foreach($sharedApps as $app)
{{ Str::of($app->name)->substr(0,1) }}
{{ $app->name }}
{{ $app->slug }}
@endforeach
Ce programme est partagé avec {{ $sharedApps->count() }} autre(s) application(s)
@endif
Dates importantes

{{ $program->created_at->format('d/m/Y à H:i') }}

{{ $program->updated_at->format('d/m/Y à H:i') }}

@if($program->creatorApplication()?->id === $application->id)
Ajouter un argumentaire
@csrf
Utilisez l'éditeur pour mettre en forme votre texte (gras, puces, liens, etc.)
@else
Programme partagé - Seule l'application créatrice ({{ $program->creatorApplication()?->name }}) peut ajouter des argumentaires.
@endif @if($program->argumentaires->count() > 0)
Argumentaires du programme
Glissez-déposez pour réorganiser
@foreach($program->argumentaires->sortBy('order') as $argumentaire)
{{ $argumentaire->type->label() }} Ordre: {{ $argumentaire->order }}
@if($program->creatorApplication()?->id === $application->id)
@csrf @method('DELETE')
@endif
{!! $argumentaire->text !!}
@endforeach
@else
Aucun argumentaire pour le moment. Utilisez le formulaire ci-dessus pour en ajouter un.
@endif
@if($program->creatorApplication()?->id === $application->id)
Ajouter une opération commerciale
@csrf
Utilisez l'éditeur pour mettre en forme votre texte (gras, puces, liens, etc.)
Pourcentage de réduction
Prix maximum de l'avantage
Date de début de l'opération
Date de fin de l'opération
@else
Programme partagé - Seule l'application créatrice ({{ $program->creatorApplication()?->name }}) peut ajouter des opérations commerciales.
@endif @if($program->opeComs->count() > 0)
Opérations commerciales du programme
Glissez-déposez pour réorganiser
@foreach($program->opeComs->sortBy('order') as $opeCom) @php $dateStartBadge = $opeCom->dates->firstWhere('type', 'date_start'); $dateEndBadge = $opeCom->dates->firstWhere('type', 'date_end'); @endphp
{{ $opeCom->type->label() }} Ordre: {{ $opeCom->order }} @if($opeCom->ratio) {{ number_format($opeCom->ratio, 2, ',', ' ') }}% @endif @if($opeCom->prices && $opeCom->prices->first()) Max: {{ number_format($opeCom->prices->first()->value, 2, ',', ' ') }} € @endif
@if($program->creatorApplication()?->id === $application->id)
@csrf @method('DELETE')
@endif
{!! $opeCom->text !!}
@if($opeCom->ratio && $opeCom->prices && $opeCom->prices->first())
Réduction de {{ number_format($opeCom->ratio, 2, ',', ' ') }}% limitée à {{ number_format($opeCom->prices->first()->value, 2, ',', ' ') }} €
@endif @php $dateStart = $opeCom->dates->firstWhere('type', 'date_start'); $dateEnd = $opeCom->dates->firstWhere('type', 'date_end'); @endphp
@if($dateStart && $dateEnd) Du {{ $dateStart->value->format('d/m/Y') }} au {{ $dateEnd->value->format('d/m/Y') }} @elseif($dateStart) À partir du {{ $dateStart->value->format('d/m/Y') }} @elseif($dateEnd) Jusqu'au {{ $dateEnd->value->format('d/m/Y') }} @else Pas de dates définies @endif
@endforeach
@else
Aucune opération commerciale pour le moment. Utilisez le formulaire ci-dessus pour en ajouter une.
@endif
@if($program->creatorApplication()?->id !== $application->id)
Programme partagé - Seule l'application créatrice ({{ $program->creatorApplication()?->name }}) peut synchroniser les lots.
@else
Synchronisation des lots - Associez des fiscalités et opérations commerciales aux lots individuellement
@if($program->lots->count() > 0)
@foreach($program->lots as $index => $lot)

Fiscalités applicables
@if($program->fiscalites->count() > 0)
@php $lotFiscalites = $lot->fiscalites->pluck('type')->map(fn($t) => $t->value)->toArray(); @endphp @foreach($program->fiscalites as $fiscalite)
type->value, $lotFiscalites) ? 'checked' : '' }}>
@endforeach
@else
Aucune fiscalité définie pour ce programme.
@endif
Opérations commerciales applicables
@php $lotOpeComTypes = $lot->opeComs->pluck('type')->map(fn($t) => $t->value)->toArray(); @endphp @foreach($program->opeComs as $opeCom)
type->value, $lotOpeComTypes) ? 'checked' : '' }}>
@endforeach @if($program->opeComs->count() === 0)
Aucune opération commerciale disponible. Créez-en dans l'onglet "Opérations Commerciales".
@endif
@endforeach
@else
Aucun lot disponible pour ce programme. Créer un lot
@endif @endif
@include('partner.annexes.list', ['program' => $program, 'application' => $application])
@if($program->creatorApplication()?->id !== $application->id)
Programme partagé - Seule l'application créatrice ({{ $program->creatorApplication()?->name }}) peut gérer les paramètres.
@else @if(!$program->saleParameter)
Paramètres par défaut de l'application

Ce programme utilise actuellement les paramètres de vente par défaut de l'application {{ $application->name }}.

Voir les paramètres de l'application

Créer des paramètres spécifiques

Vous pouvez créer des paramètres de vente personnalisés pour ce programme qui remplaceront les paramètres par défaut de l'application.

@csrf
@else
Paramètres du programme - Configurez les options et paramètres spécifiques à ce programme
@csrf @method('PUT')
Configuration des options
saleParameter->option_jour_ouvrable ? 'checked' : '' }}>
saleParameter->auto_accept_option ?? false ? 'checked' : '' }}>
Si activé, les options posées par les clients seront automatiquement acceptées. Sinon, elles nécessiteront une validation manuelle. Ce paramètre surcharge celui de l'application.
@endif @endif
@if($program->getMedia('images')->count() > 0)
Images du programme
Glissez-déposez pour réorganiser
@endif @if($program->documents->count() > 0)
Documents PDF
Glissez-déposez pour réorganiser
@endif
@foreach($program->opeComs->sortBy('order') as $opeCom) @include('modals.update-ope-com', ['opeCom' => $opeCom, 'application' => $application, 'program' => $program]) @endforeach @include('modals.sync-all-fiscalites', ['application' => $application, 'program' => $program]) @include('modals.sync-all-opecoms', ['application' => $application, 'program' => $program]) @include('modals.detach-annexe', ['application' => $application, 'program' => $program]) @include('modals.attach-annexe', ['application' => $application, 'program' => $program]) @include('modals.cannot-detach-annexe') @include('modals.delete-sale-parameter', ['application' => $application, 'program' => $program]) @endsection