@extends('layouts.base') @section('content') @section('breadcrumb') @endsection @if(session('success')) @endif @if(session('error')) @endif @if ($errors->any()) @endif

@if(isset($program)) Modifier {{ $program->name }} @else Ajouter un programme @endif

@if(isset($program))
{{ $program->slug }} @php $address = $program->addresses?->first(); @endphp @if($address && $address->city) {{ $address->city }} @endif @if($program->fiscalites && $program->fiscalites->count() > 0) {{ $program->fiscalites->first()?->type?->label() }} @endif
@else
Renseignez les informations du nouveau programme
@endif
{{ isset($program) ? 'Retour' : 'Annuler' }}
@php $programInitialFiscaliteValues = isset($program) ? $program->fiscalites->pluck('type')->map(fn ($t) => $t->value)->values()->all() : []; @endphp
@csrf @if(isset($program)) @method('PUT') @endif
@php $isActive = (string) old('is_active', isset($program) ? ((int) ($program->is_active ?? true)) : '1') === '1'; @endphp
@if(auth()->user() && auth()->user()->isRole('ROLE_SUPPORT'))
@endif
Adresse
@php $address = isset($program) && $program->addresses->first() ? $program->addresses->first() : null; @endphp
Dates clés
@php $programDates = isset($program) ? $program->dates->keyBy('type') : collect(); @endphp @foreach(\App\Enums\DateTypeProgram::cases() as $dateType) @php $existingDate = $programDates->get($dateType->value); $dateValue = $existingDate ? $existingDate->value->format('Y-m-d') : ''; @endphp
@endforeach
Type de contrat
@php $currentContratType = old( 'contrat_type', isset($program) && $program->contrat_type ? $program->contrat_type->value : null ); @endphp
@foreach(\App\Enums\ContratTypeProgram::selectableCases() as $contratType) value ? 'checked' : '' }} > @endforeach
Fiscalités
@php $existingFiscalites = isset($program) ? $program->fiscalites->pluck('type')->map(fn($t) => $t->value)->toArray() : []; @endphp @foreach(\App\Enums\Fiscalite::selectableCases() as $fiscalite)
value, $existingFiscalites) ? 'checked' : '' }} class="fiscalite-checkbox">
@endforeach
Garanties
@php $existingGarantiesList = old( 'garanties', isset($program) ? $program->garanties->pluck('type')->filter()->map(fn($t) => $t->value)->values()->all() : [] ); $existingGarantiesList = is_array($existingGarantiesList) ? $existingGarantiesList : []; @endphp @foreach(\App\Enums\GarantieType::selectableCases() as $garantieType)
value, $existingGarantiesList) ? 'checked' : '' }} class="fiscalite-checkbox">
@endforeach
Prestations
@php $existingPrestations = isset($program) ? $program->prestations->pluck('type')->map(fn($t) => $t->value)->toArray() : []; @endphp @foreach($prestationsProgram as $prestation)
value, $existingPrestations) ? 'checked' : '' }} class="fiscalite-checkbox">
@endforeach
Normes écologiques
@php $existingNormeEco = old( 'norme_eco', isset($program) && $program->normeEcos->first() ? $program->normeEcos->first()->type->value : null ); @endphp
@foreach(\App\Enums\NormeEco::selectableCases() as $normeEco) value ? 'checked' : '' }} > @endforeach
Mise en avant marketing
@php $existingTags = old( 'marketing_tags', isset($program) ? $program->marketingTags->pluck('type')->map(fn($t) => $t->value)->toArray() : [] ); $existingTags = is_array($existingTags) ? $existingTags : []; @endphp @foreach(\App\Enums\MarketingTagType::selectableCases() as $tagType)
value, $existingTags) ? 'checked' : '' }} class="fiscalite-checkbox">
@endforeach
@if(isset($application) && $application->hasFeature(\App\Enums\FeatureSlug::CITYSCAN->value))
Carte interactive
@php $cityscanEnabled = old( 'cityscan_enabled', isset($program) ? (bool) ($program->cityscan_enabled ?? false) : false ); @endphp
@endif @php /*
Images
@if(isset($program) && $program->getMedia('images')->count() > 0)
@endif
Documents PDF
@if(isset($program) && $program->documents->count() > 0)
@endif
Vous pouvez sélectionner plusieurs fichiers à la fois
*/ @endphp @if($application->sharedApplications->count() > 0)
Partage avec les applications associées
@php $programApplicationIds = isset($program) ? $program->applications->pluck('id')->toArray() : [$application->id]; @endphp @foreach($application->sharedApplications as $sharedApp)
id, $programApplicationIds) ? 'checked' : '' }} class="fiscalite-checkbox">
@endforeach
Ce programme sera visible dans les applications sélectionnées
@endif @if(isset($formEditor) && $formEditor && $formEditor->fields->count() > 0)
Champs personnalisés
Ces champs sont 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 $fieldName = $field->name ?? 'field_' . $field->id; $fieldLabel = $field->label ?? $field->type->label(); $fieldValue = old('custom_fields.' . $fieldName); if ($fieldValue === null && $field->data && isset($field->data->json['value'])) { $fieldValue = $field->data->json['value']; } @endphp @if($field->description) {{ $field->description }} @endif @if($field->type === \App\Enums\FieldType::TEXT) @elseif($field->type === \App\Enums\FieldType::CHECKBOX)
@elseif($field->type === \App\Enums\FieldType::NUMBER) @elseif($field->type === \App\Enums\FieldType::DATE) @endif
@endforeach
@endif @if(isset($program)) @include('modals.confirm-remove-program-fiscalite') @endif @if(isset($program) && auth()->user()->canDeletePartnerProgram())
@include('modals.program-delete-modals', ['program' => $program]) @endif
@if(session('showProgramCannotDeleteModal')) @endif @endsection