@extends('layouts.admin') @php $UT = \App\Helpers\TranslationHelper::getUserTranslations()['translations']; @endphp @section('page-title') Profil de {{ $user->prenom }} {{ $user->nom }} @endsection @section('page-subtitle') {{ $UT['profile']['personal_info'] ?? 'Détails et informations personnelles' }} @endsection @section('styles') @endsection @section('scripts') @endsection @section('content')
@php $statusLabels = [ 'salarie' => 'Salarié', 'micro' => 'Micro', 'mixed' => 'Salarié / Micro', 'autre' => 'Autre' ]; $languageLabels = [ 'fr' => 'Français', 'ru' => 'Russe', 'ro' => 'Roumain', 'en' => 'Anglais', 'es' => 'Espagnol', 'it' => 'Italien' ]; $preferredLanguage = $languageLabels[$user->language] ?? 'Non défini'; @endphp @php $languageFlags = [ 'fr' => '🇫🇷', 'ru' => '🇷🇺', 'ro' => '🇷🇴', 'en' => '🇬🇧', 'es' => '🇪🇸', 'it' => '🇮🇹' ]; $preferredFlag = $languageFlags[$user->language] ?? '🌐'; @endphp

Personnelles

Informations générales
@php $initials = strtoupper(substr($user->prenom ?? '', 0, 1) . substr($user->nom ?? '', 0, 1)); $profilePhoto = $user->profile_photo_path ?? null; @endphp @if($profilePhoto) Photo de profil de {{ $user->prenom }} @else {{ $initials }} @endif

{{ $user->prenom }} {{ $user->nom }}

{{ $user->is_active ? ($UT['general']['active'] ?? 'Actif') : ($UT['general']['inactive'] ?? 'Inactif') }}
  • Identifiant : #{{ $user->id }}
  • {{ $user->email }}
  • Inscription le {{ \Carbon\Carbon::parse($user->created_at)->locale('fr')->isoFormat('D MMMM YYYY') }}
  • Langue préférée : {{ $preferredFlag }} {{ $preferredLanguage }}

Professionnelles

Statut, identité et coordonnées
@php $worker = $user->worker; $companyStatusKey = $user->employment_status ?? 'micro'; $companyStatusLabel = $statusLabels[$companyStatusKey] ?? ($companyStatusKey ?: 'Micro'); $companyStatusClass = match($companyStatusKey){ 'salarie' => 'company-status-salarie', 'mixed' => 'company-status-mixed', default => 'company-status-micro' }; $cityLine = trim(implode(' ', array_filter([optional($worker)->zip_code, optional($worker)->city]))); $workerAddressLines = array_filter([ optional($worker)->address_line1, optional($worker)->address_line2, $cityLine, optional($worker)->country, ], fn ($line) => filled($line)); @endphp

{{ $UT['profile']['employment_status'] ?? "Statut dans l'entreprise" }}

  • {{ $UT['profile']['employment_status'] ?? "Statut dans l'entreprise" }} {{ $companyStatusLabel }}
  • {{ $UT['profile']['manager_mode'] ?? 'Mode manager' }} {{ $user->is_manager ? 'Activé' : 'Désactivé' }} (0/0)

Identité légale

  • SIRET {{ optional($worker)->siret ?? 'Non renseigné' }}
  • TVA applicable {{ optional($worker)->vat_applicable ? 'Oui' : 'Non' }}
  • TVA @if(optional($worker)->vat_applicable) {{ optional($worker)->vat_number ?? 'Non renseigné' }} @else Non applicable @endif
  • Code APE / NAF {{ optional($worker)->ape_naf ?? 'Non renseigné' }}

Coordonnées professionnelles

  • Adresse professionnelle @if(count($workerAddressLines) > 0) @foreach($workerAddressLines as $line) {{ $line }} @endforeach @else Non renseignée @endif

Coordonnées bancaires

  • IBAN {{ optional($worker)->iban ?? 'Non renseigné' }}
  • BIC {{ optional($worker)->bic ?? 'Non renseigné' }}
  • Banque {{ optional($worker)->bank_name ?? 'Non renseignée' }}

Spécialités

@if(count($workerSpecialties) > 0)
@foreach($workerSpecialties as $specialty) {{ $specialty->name }} @endforeach
@else

{{ $UT['interventions']['no_assigned_workers'] ?? 'Aucune spécialité attribuée' }}

@endif

{{ $UT['profile']['rates_section'] ?? 'Informations financières' }}

{{ $UT['profile']['base_daily_rate'] ?? 'Taux journalier' }}
{{ number_format($user->worker->base_daily_rate ?? 0, 2, ',', ' ') }} €
{{ $UT['profile']['extra_hour_rate'] ?? 'Taux heures supplémentaires' }}
{{ number_format($user->worker->extra_hour_rate ?? 0, 2, ',', ' ') }} €
{{ $UT['profile']['sunday_rate'] ?? 'Taux dimanche' }}
{{ number_format(($user->worker->base_daily_rate ?? 0) * 2, 2, ',', ' ') }} €
Statut du mois
{{ isset($monthValidated) && $monthValidated ? 'Validé' : 'Non validé' }}
Factures @php $statusClass = 'status-inactive'; $statusText = 'Non envoyée(s)'; if ($invoicesStatus === 'all') { $statusClass = 'status-active'; $statusText = 'Envoyée(s)'; } elseif ($invoicesStatus === 'partial') { $statusClass = 'status-warning'; $statusText = 'Partiellement envoyée(s)'; } @endphp {{ $statusText }} ({{ $sentInvoices }}/{{ $totalInvoices }})
Paiement
Statut de l'ouvrier @php $statusLabels = [ 'micro' => 'Micro', 'mixed' => 'Salarié / Micro', 'salarie' => 'Salarié', 'autre' => 'Autre' ]; $statusClasses = [ 'micro' => 'micro', 'mixed' => 'salarie-micro', 'salarie' => 'salarie', 'autre' => 'autre' ]; $currentStatus = $user->employment_status ?? 'micro'; @endphp {{ $statusLabels[$currentStatus] ?? 'Micro' }}

Horaires déclarés

0 horaires

Éléments divers

0 éléments
Date Titre Type Montant Actions
Chargement des éléments divers...
Total: 0.00 €

Résumé du mois

Montant total horaires 0,00 €
Ajouts + 0,00 €
Déductions 0,00 €
Total restant à payer 0,00 €
@php $currentDate = \Carbon\Carbon::now(); $cutoffDate = \Carbon\Carbon::parse('2025-10-01'); $showDispatchCard = $currentDate->gte($cutoffDate); @endphp @if($user->employment_status === 'mixed') {{-- Dispatch personnalisé pour les salariés/micro --}} @php // Valeurs par défaut - seront mises à jour par JavaScript $sentierPercentage = 50; $klamPercentage = 50; $sentierTotal = 0; $klamTotal = 0; @endphp

Répartition Salaire / Micro-entreprise

{{ round($sentierPercentage) }}% {{ number_format($sentierTotal, 2, ',', ' ') }} € Salaire net + Transport
{{ round($klamPercentage) }}% {{ number_format($klamTotal, 2, ',', ' ') }} € Factures Micro

@php $monthNames = [ 'January' => 'janvier', 'February' => 'février', 'March' => 'mars', 'April' => 'avril', 'May' => 'mai', 'June' => 'juin', 'July' => 'juillet', 'August' => 'août', 'September' => 'septembre', 'October' => 'octobre', 'November' => 'novembre', 'December' => 'décembre' ]; $currentMonthName = $monthNames[now()->format('F')] ?? strtolower(now()->format('F')); @endphp Cette répartition est calculée automatiquement à partir de vos données du mois d'{{ $currentMonthName }}

@elseif($user->employment_status === 'micro') {{-- Dispatch global pour les micro uniquement --}}

Dispatch global des factures Micro-entreprise

50% 0,00 €
50% 0,00 €

Modification disponible dans la section Comptabilité

Comptabilité
@endif
0h
Heures travaillées
0
Jours travaillés
0h
Moyenne par jour
0,00€
Coût total
0,00€
Total payé
0,00€
Total restant

Factures

Chargement des factures...

Paramètres

@if($user->id == 18)
is_test ? 'checked' : '' }}>
@endif
is_manager ? 'checked' : '' }}>
is_active ? 'checked' : '' }}>
{{-- ============================================================== --}} {{-- MODALES DE FILTRAGE ET SÉLECTION --}} {{-- ============================================================== --}} @php $totalSpecialties = $specialties->count(); $selectedSpecialties = $specialties->whereIn('id', $workerSpecialtyIds)->values(); @endphp {{-- Inclure les templates HTML réutilisables --}} @include('admin.workers.partials.profile-templates') @endsection