235 lines
11 KiB
PHP
235 lines
11 KiB
PHP
@extends('layouts.layout-2')
|
||
|
||
@section('content')
|
||
<h4 class="d-flex justify-content-between align-items-center w-100 font-weight-bold py-3 mb-4">
|
||
<div>
|
||
<i class="ion ion-md-contact text-primary"></i> Newsletter-Kontakt
|
||
</div>
|
||
<div>
|
||
<a href="{{ route('newsletter.index') }}" class="btn btn-secondary btn-sm">
|
||
<i class="fa fa-arrow-left"></i> Zurück
|
||
</a>
|
||
<a href="{{ route('newsletter.edit', $contact->id) }}" class="btn btn-primary btn-sm">
|
||
<i class="fa fa-edit"></i> Bearbeiten
|
||
</a>
|
||
</div>
|
||
</h4>
|
||
|
||
@if (Session::has('alert-success'))
|
||
<div class="alert alert-success alert-dismissible fade show">
|
||
<button type="button" class="close" data-dismiss="alert">×</button>
|
||
{{ Session::get('alert-success') }}
|
||
</div>
|
||
@endif
|
||
|
||
<div class="row">
|
||
<!-- Linke Spalte -->
|
||
<div class="col-md-8">
|
||
<!-- Kontakt-Informationen -->
|
||
<div class="card mb-4">
|
||
<h6 class="card-header">Kontakt-Informationen</h6>
|
||
<div class="card-body">
|
||
<table class="table table-borderless">
|
||
<tr>
|
||
<th width="30%">E-Mail:</th>
|
||
<td><a href="mailto:{{ $contact->email }}">{{ $contact->email }}</a></td>
|
||
</tr>
|
||
<tr>
|
||
<th>Name:</th>
|
||
<td>{{ $contact->full_name ?: '-' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Vorname:</th>
|
||
<td>{{ $contact->firstname ?: '-' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Nachname:</th>
|
||
<td>{{ $contact->lastname ?: '-' }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Status:</th>
|
||
<td>{!! $contact->status_badge !!}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Gruppen:</th>
|
||
<td>
|
||
@if ($contact->group_kulturreisen)
|
||
<span class="badge badge-info">Kulturreisen</span>
|
||
@endif
|
||
@if ($contact->group_ferienwohnungen)
|
||
<span class="badge badge-primary">Ferienwohnungen</span>
|
||
@endif
|
||
@if (!$contact->group_kulturreisen && !$contact->group_ferienwohnungen)
|
||
<span class="text-muted">Keine Gruppe zugewiesen</span>
|
||
@endif
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Herkunft:</th>
|
||
<td>{{ $contact->source_label }}</td>
|
||
</tr>
|
||
@if ($contact->notes)
|
||
<tr>
|
||
<th>Notizen:</th>
|
||
<td>{{ $contact->notes }}</td>
|
||
</tr>
|
||
@endif
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Buchungsstatistiken -->
|
||
<div class="card mb-4">
|
||
<h6 class="card-header">Buchungsstatistiken</h6>
|
||
<div class="card-body">
|
||
<table class="table table-borderless">
|
||
<tr>
|
||
<th width="30%">Kulturreisen Buchungen:</th>
|
||
<td>
|
||
<span class="badge badge-secondary">{{ $contact->total_bookings_kulturreisen }}</span>
|
||
@if ($contact->customer)
|
||
<a href="{{ route('customer_detail', $contact->customer_id) }}"
|
||
class="btn btn-sm btn-link">
|
||
<i class="fa fa-external-link-alt"></i> Kunde anzeigen
|
||
</a>
|
||
@endif
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Ferienwohnungen Buchungen:</th>
|
||
<td>
|
||
<span class="badge badge-secondary">{{ $contact->total_bookings_ferienwohnungen }}</span>
|
||
@if ($contact->travel_user)
|
||
<a href="{{ route('travel_user_detail', $contact->travel_user_id) }}"
|
||
class="btn btn-sm btn-link">
|
||
<i class="fa fa-external-link-alt"></i> Kunde anzeigen
|
||
</a>
|
||
@endif
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Gesamt Buchungen:</th>
|
||
<td><span class="badge badge-primary">{{ $contact->total_bookings }}</span></td>
|
||
</tr>
|
||
<tr>
|
||
<th>Letzte Buchung:</th>
|
||
<td>{{ $contact->last_booking_at ? $contact->last_booking_at->format('d.m.Y') : '-' }}</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Aktivitäts-Log -->
|
||
<div class="card">
|
||
<h6 class="card-header">Aktivitäts-Log</h6>
|
||
<div class="card-body">
|
||
@if ($contact->logs->count() > 0)
|
||
<div class="timeline">
|
||
@foreach ($contact->logs as $log)
|
||
<div class="timeline-item mb-3">
|
||
<div class="d-flex">
|
||
<div class="mr-3">
|
||
<i
|
||
class="fa fa-circle text-{{ $log->action === 'subscribed' ? 'success' : ($log->action === 'unsubscribed' ? 'danger' : 'info') }}"></i>
|
||
</div>
|
||
<div class="flex-grow-1">
|
||
<div class="d-flex justify-content-between">
|
||
<strong>{{ $log->action_label }}</strong>
|
||
<small
|
||
class="text-muted">{{ $log->created_at->format('d.m.Y H:i') }}</small>
|
||
</div>
|
||
@if ($log->description)
|
||
<div class="text-muted">{{ $log->description }}</div>
|
||
@endif
|
||
@if ($log->user)
|
||
<small class="text-muted">Durch: {{ $log->user->fullname }}</small>
|
||
@endif
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@endforeach
|
||
</div>
|
||
@else
|
||
<p class="text-muted">Keine Aktivitäten vorhanden</p>
|
||
@endif
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Rechte Spalte -->
|
||
<div class="col-md-4">
|
||
<!-- Aktionen -->
|
||
<div class="card mb-4">
|
||
<h6 class="card-header">Aktionen</h6>
|
||
<div class="card-body">
|
||
@if ($contact->status === 'active')
|
||
<form method="POST" action="{{ route('newsletter.unsubscribe', $contact->id) }}" class="mb-2">
|
||
@csrf
|
||
<div class="form-group">
|
||
<label>Abmelde-Grund (optional)</label>
|
||
<input type="text" name="reason" class="form-control form-control-sm"
|
||
placeholder="z.B. Auf Wunsch des Kunden">
|
||
</div>
|
||
<button type="submit" class="btn btn-warning btn-block btn-sm"
|
||
onclick="return confirm('Kontakt wirklich abmelden?')">
|
||
<i class="fa fa-times"></i> Kontakt abmelden
|
||
</button>
|
||
</form>
|
||
@elseif($contact->status === 'unsubscribed')
|
||
<form method="POST" action="{{ route('newsletter.resubscribe', $contact->id) }}" class="mb-2">
|
||
@csrf
|
||
<button type="submit" class="btn btn-success btn-block btn-sm"
|
||
onclick="return confirm('Kontakt wieder aktivieren?')">
|
||
<i class="fa fa-check"></i> Wieder aktivieren
|
||
</button>
|
||
</form>
|
||
@endif
|
||
|
||
<form method="POST" action="{{ route('newsletter.delete', $contact->id) }}" class="mb-2">
|
||
@csrf
|
||
@method('DELETE')
|
||
<button type="submit" class="btn btn-danger btn-block btn-sm"
|
||
onclick="return confirm('Kontakt wirklich löschen?')">
|
||
<i class="fa fa-trash"></i> Kontakt löschen
|
||
</button>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Zeitstempel -->
|
||
<div class="card">
|
||
<h6 class="card-header">Zeitstempel</h6>
|
||
<div class="card-body">
|
||
<table class="table table-borderless table-sm">
|
||
<tr>
|
||
<th>Erstellt:</th>
|
||
<td>{{ $contact->created_at->format('d.m.Y H:i') }}</td>
|
||
</tr>
|
||
<tr>
|
||
<th>Aktualisiert:</th>
|
||
<td>{{ $contact->updated_at->format('d.m.Y H:i') }}</td>
|
||
</tr>
|
||
@if ($contact->subscribed_at)
|
||
<tr>
|
||
<th>Angemeldet:</th>
|
||
<td>{{ $contact->subscribed_at->format('d.m.Y H:i') }}</td>
|
||
</tr>
|
||
@endif
|
||
@if ($contact->unsubscribed_at)
|
||
<tr>
|
||
<th>Abgemeldet:</th>
|
||
<td>{{ $contact->unsubscribed_at->format('d.m.Y H:i') }}</td>
|
||
</tr>
|
||
@endif
|
||
@if ($contact->last_synced_at)
|
||
<tr>
|
||
<th>Letzte Sync:</th>
|
||
<td>{{ $contact->last_synced_at->format('d.m.Y H:i') }}</td>
|
||
</tr>
|
||
@endif
|
||
</table>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
@endsection
|