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

{{ $user->fullName() }}

{{ $user->email }}

@else

Nouvel utilisateur

Création d'un nouveau compte

@endif
@if($user) Retour @else Retour @endif
@csrf @if($user) @method('PUT') @endif
Informations personnelles
@error('firstname')
{{ $message }}
@enderror
@error('lastname')
{{ $message }}
@enderror
@error('email')
{{ $message }}
@enderror
{{-- Pour la création, le mot de passe est généré automatiquement côté contrôleur. Aucun champ mot de passe n'est affiché ici. --}} @if(!$user || Auth::id() !== $user->id)
is_active ?? true)) checked @endif>
@endif
receive_option_alert_emails ?? false)) checked @endif>
@if($showDoubleAuthField ?? true)
double_auth ?? 1)) checked @endif>
Sécurisez le compte avec une authentification à deux facteurs
@endif @if($user)
Génère un nouveau mot de passe temporaire et l'envoie par email à l'utilisateur
@endif
Permissions et accès
@php $isSelf = $user && Auth::id() === $user->id; // Déterminer un rôle principal actuel pour l'utilisateur connecté $rawRoles = $user->roles ?? []; $roleNames = is_string($rawRoles) ? json_decode($rawRoles, true) : $rawRoles; $roleNames = is_array($roleNames) ? $roleNames : []; $currentMainRole = $roleNames[0] ?? \App\Enums\Role::ROLE_PROMOTEUR->name; @endphp @if($isSelf) {{-- Conserver le rôle principal actuel pour l'utilisateur connecté --}} @endif @error('main_role')
{{ $message }}
@enderror @if($isSelf) Vous ne pouvez pas modifier votre propre rôle. @else Sélectionnez un rôle principal pour cet utilisateur. @endif
isRole('ROLE_COMMERCIALISATEUR')) checked @endif> isRole('ROLE_DPO')) checked @endif> isRole('ROLE_PROMOTEUR') || $user->isRole('ROLE_USER')) checked @endif>
@if(false) {{-- afficher les permissions (non utilisés pour le moment) --}}
* Produits = Programmes, Lots et Annexes
@php $modules = \App\Enums\Role::moduleMetadata(); $actions = ['SHOW', 'EDIT', 'DELETE']; @endphp @foreach($modules as $moduleKey => $moduleData) @foreach($actions as $action) @php $roleName = 'ROLE_' . $moduleKey . '_' . $action; $roleEnum = \App\Enums\Role::tryByName($roleName); @endphp @endforeach @endforeach
Module Consulter Modifier Supprimer
{{ $moduleData['label'] }} @if($roleEnum)
isRole($roleName)) checked @endif>
@else - @endif
@error('roles')
{{ $message }}
@enderror
@endif @if($application->subscription_manager && $subscriptions && $subscriptions->count() > 0)
@php // Récupérer l'abonnement actuel depuis la relation pivot $currentSubscription = null; $currentSubscriptionId = null; $currentSubscriptionCreatedAt = null; $currentSubscriptionExpiresAt = null; if ($user && $user->subscriptions) { $currentSubscription = $user->subscriptions->firstWhere('pivot.application_id', $application->id); if ($currentSubscription && $currentSubscription->pivot) { $currentSubscriptionId = $currentSubscription->id; $currentSubscriptionCreatedAt = $currentSubscription->pivot->subscription_created_at ? \Carbon\Carbon::parse($currentSubscription->pivot->subscription_created_at)->format('Y-m-d') : ''; $currentSubscriptionExpiresAt = $currentSubscription->pivot->subscription_expires_at ? \Carbon\Carbon::parse($currentSubscription->pivot->subscription_expires_at)->format('Y-m-d') : ''; } } @endphp @error('subscription_id')
{{ $message }}
@enderror Sélectionnez un abonnement pour cet utilisateur
@error('subscription_created_at')
{{ $message }}
@enderror
@error('subscription_expires_at')
{{ $message }}
@enderror
@endif
@if($user && !$user->isRole(\App\Enums\Role::ROLE_PROMOTEUR->name) && !$user->isRole(\App\Enums\Role::ROLE_DPO->name)) @endif
Annuler
@if($user && !$user->isRole(\App\Enums\Role::ROLE_PROMOTEUR->name) && !$user->isRole(\App\Enums\Role::ROLE_DPO->name)) @endif @include('front.modal') @if($user) @include('modals.send-temporary-password') @endif @endsection