fix : complete Activity log in admin side

This commit is contained in:
2026-08-20 14:51:46 -07:00
parent 6ecb9b2704
commit 88503595d7
14 changed files with 316 additions and 223 deletions
@@ -1,3 +1,107 @@
@extends('admin.layouts.app')
@section('breadcrumb')<div><h1 class="page-title fw-medium fs-18 mb-1">لاگ تغییرات</h1><span class="text-muted fs-12">ثبت چه کسی، چه زمانی و چه تغییری روی اطلاعات پرواز و تور</span></div>@endsection
@section('content')<div class="container-fluid pt-4"><div class="card custom-card"><div class="card-body"><form method="GET"><div class="row g-2"><div class="col-md-4"><input class="form-control" name="search" value="{{ request('search') }}" placeholder="جستجو در توضیحات"></div><div class="col-md-3"><select class="form-control" name="subject_type"><option value="">همه بخش‌ها</option><option value="flight" @selected(request('subject_type')==='flight')>پرواز</option><option value="tour" @selected(request('subject_type')==='tour')>تور</option></select></div><div class="col-md-2"><button class="btn btn-light w-100">جستجو</button></div></div></form></div></div><div class="card custom-card mt-3"><div class="table-responsive"><table class="table text-nowrap"><thead><tr><th>مدیر</th><th>بخش</th><th>عملیات</th><th>شرح تغییر</th><th>تاریخ</th></tr></thead><tbody>@forelse(($logs ?? []) as $log)<tr><td>{{ $log->admin->first_name ?? '-' }} {{ $log->admin->last_name ?? '' }}</td><td>{{ $log->subject_type ?? '-' }}</td><td>{{ $log->action ?? '-' }}</td><td>{{ $log->description ?? '-' }}</td><td>{{ isset($log->created_at) ? $log->created_at->toJalali()->format('Y/m/d H:i') : '-' }}</td></tr>@empty<tr><td colspan="5" class="text-center text-muted py-5">لاگی برای نمایش وجود ندارد.</td></tr>@endforelse</tbody></table></div></div>{{ ($logs ?? collect())->links() }}</div>@endsection
@section('content')
<div class="container-fluid pt-4">
<div class="row">
<div class="col-xl-12">
<div class="card custom-card">
<div class="card-header">
<div class="card-title">
لاگ تغییرات پرواز و تور
</div>
</div>
<div class="card-body pt-0">
<div class="table-responsive">
<table class="table text-nowrap">
<thead>
<tr>
<th>کاربر</th>
<th>عملیات</th>
<th>مربوط به</th>
<th>تغییرات</th>
<th>زمان</th>
</tr>
</thead>
<tbody>
@forelse($logs as $log)
<tr>
<td>
{{ optional($log->causer)->first_name ?? 'نامشخص' }}
</td>
<td>
@switch($log->event)
@case('created')
<span class="badge bg-success-transparent">ایجاد</span>
@break
@case('updated')
<span class="badge bg-warning-transparent">ویرایش</span>
@break
@case('deleted')
<span class="badge bg-danger-transparent">حذف</span>
@break
@default
{{ $log->event }}
@endswitch
</td>
<td>
{{ $log->log_name === 'flights' ? 'پرواز' : 'تور' }}
#{{ $log->subject_id }}
</td>
<td>
@if($log->event === 'updated' && $log->changes)
<ul class="mb-0 ps-3">
@foreach($log->changes['after'] as $field => $newValue)
@if(($log->changes['before'][$field] ?? null) != $newValue)
<li>
{{ $field }}:
«{{ $log->changes['before'][$field] ?? '—' }}»
&larr;
«{{ $newValue }}»
</li>
@endif
@endforeach
</ul>
@elseif($log->event === 'created')
ایجاد رکورد جدید
@else
حذف رکورد
@endif
</td>
<td>
{{ verta($log->created_at)->format('Y/m/d H:i') }}
</td>
</tr>
@empty
<tr>
<td colspan="5" class="text-center">
لاگی ثبت نشده است
</td>
</tr>
@endforelse
</tbody>
</table>
</div>
{{ $logs->links() }}
</div>
</div>
</div>
</div>
</div>
@endsection