@extends('layouts.app') @section('title', $customer->title) @section('actions')
@can('revealSensitive', $customer) @unless ($reveal)
@csrf
@endunless @endcan @can('update', $customer) Düzenle @endcan
@endsection @section('content') @php $sensitive = fn (?string $value) => $reveal ? $value : \App\Models\Customer::mask($value); @endphp
{{-- Genel bilgi --}}
Tür
{{ $customer->type->label() }}
Vergi dairesi
{{ $customer->tax_office ?? '—' }}
Vergi no
{{ $sensitive($customer->tax_no) ?? '—' }}
@if ($customer->type === \App\Enums\CustomerType::Sahis)
T.C. kimlik no
{{ $sensitive($customer->tc_no) ?? '—' }}
@endif
Telefon
{{ $sensitive($customer->phone) ?? '—' }}
E-posta
{{ $customer->email ?? '—' }}
Web
{{ $customer->website ?? '—' }}
İl / İlçe
{{ collect([$customer->city, $customer->district])->filter()->join(' / ') ?: '—' }}
Grup
{{ $customer->group?->name ?? '—' }}
Bayi
{{ $customer->dealer?->name ?? 'Doğrudan' }}
KVKK
{{ $customer->kvkk_consent_at?->timezone(config('app.display_timezone'))->format('d.m.Y') ?? 'Kayıt yok' }}
Kaydeden
{{ $customer->creator?->name ?? '—' }}, {{ $customer->created_at->timezone(config('app.display_timezone'))->format('d.m.Y') }}
@if ($customer->address)

Adres

{{ $customer->address }}

@endif @if ($customer->tags->isNotEmpty())

Etiketler

@foreach ($customer->tags as $tag) {{ $tag->name }} @endforeach @endif @if ($customer->notes)

Notlar

{{ $customer->notes }}

@endif @if ($customer->anonymized_at)
Bu müşterinin kişisel verileri {{ $customer->anonymized_at->timezone(config('app.display_timezone'))->format('d.m.Y') }} tarihinde KVKK kapsamında anonimleştirildi.
@endif @can('delete', $customer)
@csrf @method('DELETE')
@if ($customer->anonymized_at === null)
KVKK: kişisel verileri anonimleştir
@csrf

Kişisel veriler (iletişim, yetkililer, notlar, dosyalar, görüşme içerikleri) kalıcı olarak silinir. Lisans ve ödeme kayıtları kimliksiz kalır. Geri alınamaz.

@error('current_password', 'kvkk')
{{ $message }}
@enderror
@endif
@endcan
{{-- Yetkililer --}}
@forelse ($customer->contacts as $contact) @empty @endforelse
AdGöreviTelefonE-posta
{{ $contact->name }} @if ($contact->is_primary)Birincil@endif {{ $contact->position }} {{ $sensitive($contact->phone) }} {{ $contact->email }} @can('update', $customer) Düzenle @endcan
Yetkili kişi yok.
@can('update', $customer)
@csrf

Yetkili kişi ekle

@include('customers.contacts._fields', ['contact' => new \App\Models\CustomerContact])
@endcan
{{-- Lisanslar --}}
@forelse ($customer->licenses as $license) @empty @endforelse
AnahtarÜrünTürDurumBitişAktivasyon
{{ $license->maskedKey() }} {{ $license->product->name }} {{ $license->type->label() }} {{ $license->status->label() }} {{ $license->expires_at?->timezone(config('app.display_timezone'))->format('d.m.Y') ?? 'Süresiz' }} {{ $license->active_activations_count }} / {{ $license->max_activations }}
Lisans yok.
@can('create', \App\Models\License::class) @if ($customer->anonymized_at === null) Yeni lisans @endif @endcan
{{-- Hizmetler --}}
@forelse ($customer->services as $service) @empty @endforelse
HizmetBaşlangıçBitişPeriyotFiyatDurum
{{ $service->product->name }} {{ $service->starts_at->format('d.m.Y') }} {{ $service->ends_at?->format('d.m.Y') ?? '—' }} {{ $service->period->label() }} {{ $service->currency->format($service->price) }} {{ $service->status->label() }} @can('update', $customer) Düzenle @endcan
Hizmet kaydı yok.
@can('update', $customer) @if ($serviceOptions['serviceProducts']->isEmpty())

Hizmet eklemek için önce "Hizmet" türünde bir ürün tanımlayın.

@else
@csrf

Hizmet ekle

@include('customers.services._fields', ['service' => new \App\Models\CustomerService, ...$serviceOptions])
@endif @endcan

Görüşmeler

@forelse ($customer->activities as $activity)
{{ $activity->occurred_at->timezone(config('app.display_timezone'))->format('d.m.Y H:i') }} · {{ $activity->type->label() }} · {{ $activity->user?->name ?? '—' }} @if ($activity->contact) · {{ $activity->contact->name }} @endif
{{ $activity->note }}
@if ($activity->outcome)
Sonuç: {{ $activity->outcome }}
@endif
@empty

Görüşme kaydı yok.

@endforelse @can('update', $customer)
@csrf

Görüşme ekle

@error('note', 'activity')
{{ $message }}
@enderror
@endcan

Açık görevler

    @forelse ($customer->tasks as $task)
  • {{ $task->title }}
    {{ $task->due_at?->timezone(config('app.display_timezone'))->format('d.m.Y H:i') ?? 'Tarihsiz' }} · {{ $task->assignee?->name ?? 'Atanmadı' }}
    @csrf
  • @empty
  • Açık görev yok.
  • @endforelse
@can('manage-definitions')
@csrf
@error('title', 'task')
{{ $message }}
@enderror
@endcan

Destek talepleri

    @forelse ($customer->tickets as $ticket)
  • {{ $ticket->subject }} {{ $ticket->status->label() }}
  • @empty
  • Talep yok.
  • @endforelse
@can('manage-definitions') Destek talebi aç @endcan
{{-- Tahsilat --}}
@forelse ($customer->payments as $payment) @empty @endforelse
AçıklamaVadeTutarÖdenenDurum
{{ $payment->description }} {{ $payment->due_date->format('d.m.Y') }} {{ $payment->currency->format($payment->amount) }} {{ $payment->currency->format($payment->paid_amount) }} {{ $payment->status->label() }} @if (in_array($payment->status, [\App\Enums\PaymentStatus::Bekliyor, \App\Enums\PaymentStatus::Kismi], true)) @can('update', $customer)
@csrf
@endcan @endif
Tahsilat kaydı yok.
@error('amount', 'pay')
{{ $message }}
@enderror @can('update', $customer)
@csrf

Borç / tahsilat kaydı ekle

@error('description', 'payment')
{{ $message }}
@enderror
@error('amount', 'payment')
{{ $message }}
@enderror
@endcan
{{-- Dosyalar --}}
@forelse ($customer->files as $file) @empty @endforelse
DosyaBoyutYükleyenTarih
{{ $file->original_name }} {{ \Illuminate\Support\Number::fileSize($file->size, 1) }} {{ $file->uploader?->name }} {{ $file->created_at->timezone(config('app.display_timezone'))->format('d.m.Y H:i') }} @can('update', $customer)
@csrf @method('DELETE')
@endcan
Dosya yok.
@can('update', $customer)
@csrf
İzin verilenler: {{ implode(', ', config('security.uploads.mimes')) }} · en fazla {{ (int) (config('security.uploads.max_kb') / 1024) }} MB @error('file')
{{ $message }}
@enderror
@endcan
{{-- Log --}}
@forelse ($auditLogs as $log) @empty @endforelse
ZamanKullanıcıİşlemKayıtDeğişen alanlar
{{ $log->created_at->timezone(config('app.display_timezone'))->format('d.m.Y H:i') }} {{ $log->user?->name ?? 'Sistem' }} {{ $log->event }} {{ class_basename($log->auditable_type) }} #{{ $log->auditable_id }} {{ implode(', ', array_keys($log->new_values ?? [])) }}
Kayıt yok.
@endsection