Compare commits
3 Commits
e42885311e
...
c3aee398c2
Author | SHA1 | Date | |
---|---|---|---|
c3aee398c2 | |||
8e4bc14ba6 | |||
bd327a2cd4 |
@ -2,10 +2,7 @@
|
|||||||
|
|
||||||
namespace Modules\Logs\DataTables;
|
namespace Modules\Logs\DataTables;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
|
||||||
use Spatie\Activitylog\Models\Activity;
|
use Spatie\Activitylog\Models\Activity;
|
||||||
use Yajra\DataTables\EloquentDataTable;
|
|
||||||
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
|
||||||
use Yajra\DataTables\Html\Column;
|
use Yajra\DataTables\Html\Column;
|
||||||
use Yajra\DataTables\Services\DataTable;
|
use Yajra\DataTables\Services\DataTable;
|
||||||
|
|
||||||
@ -14,21 +11,19 @@
|
|||||||
/**
|
/**
|
||||||
* Build DataTable class.
|
* Build DataTable class.
|
||||||
*
|
*
|
||||||
* @param QueryBuilder $query Results from query() method.
|
* @param mixed $query Results from query() method.
|
||||||
*
|
*
|
||||||
* @return \Yajra\DataTables\DataTableAbstract
|
* @return \Yajra\DataTables\DataTableAbstract
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public function dataTable(QueryBuilder $query)
|
public function dataTable($query)
|
||||||
: EloquentDataTable
|
|
||||||
{
|
{
|
||||||
return (new EloquentDataTable($query))->rawColumns([
|
return datatables()
|
||||||
'description',
|
->eloquent($query)
|
||||||
'properties',
|
->rawColumns(['description', 'properties', 'action'])
|
||||||
'action'
|
->editColumn('id', function (Activity $model) {
|
||||||
])->editColumn('id', function (Activity $model) {
|
|
||||||
return $model->id;
|
return $model->id;
|
||||||
})->editColumn('subject_id', function (Activity $model) {
|
})
|
||||||
|
->editColumn('subject_id', function (Activity $model) {
|
||||||
if (!isset($model->subject)) {
|
if (!isset($model->subject)) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@ -38,15 +33,19 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
return "-";//$model->subject->user()->first()->name;
|
return "-";//$model->subject->user()->first()->name;
|
||||||
})->editColumn('causer_id', function (Activity $model) {
|
})
|
||||||
|
->editColumn('causer_id', function (Activity $model) {
|
||||||
return $model->causer ? $model->causer->name : __('System');
|
return $model->causer ? $model->causer->name : __('System');
|
||||||
})->editColumn('properties', function (Activity $model) {
|
})
|
||||||
|
->editColumn('properties', function (Activity $model) {
|
||||||
$content = $model->properties;
|
$content = $model->properties;
|
||||||
|
|
||||||
return view('logs::audit._details', compact('content'));
|
return view('logs::audit._details', compact('content'));
|
||||||
})->editColumn('created_at', function (Activity $model) {
|
})
|
||||||
|
->editColumn('created_at', function (Activity $model) {
|
||||||
return $model->created_at->format('d M, Y H:i:s');
|
return $model->created_at->format('d M, Y H:i:s');
|
||||||
})->addColumn('action', function (Activity $model) {
|
})
|
||||||
|
->addColumn('action', function (Activity $model) {
|
||||||
return view('logs::audit._action-menu', compact('model'));
|
return view('logs::audit._action-menu', compact('model'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -59,7 +58,6 @@
|
|||||||
* @return \Illuminate\Database\Eloquent\Builder
|
* @return \Illuminate\Database\Eloquent\Builder
|
||||||
*/
|
*/
|
||||||
public function query(Activity $model)
|
public function query(Activity $model)
|
||||||
: QueryBuilder
|
|
||||||
{
|
{
|
||||||
return $model->newQuery();
|
return $model->newQuery();
|
||||||
}
|
}
|
||||||
@ -70,7 +68,6 @@
|
|||||||
* @return \Yajra\DataTables\Html\Builder
|
* @return \Yajra\DataTables\Html\Builder
|
||||||
*/
|
*/
|
||||||
public function html()
|
public function html()
|
||||||
: HtmlBuilder
|
|
||||||
{
|
{
|
||||||
return $this->builder()
|
return $this->builder()
|
||||||
->setTableId('audit-log-table')
|
->setTableId('audit-log-table')
|
||||||
@ -93,7 +90,6 @@
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getColumns()
|
protected function getColumns()
|
||||||
: array
|
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
Column::make('id')->title('Log ID'),
|
Column::make('id')->title('Log ID'),
|
||||||
|
@ -2,15 +2,10 @@
|
|||||||
|
|
||||||
namespace Modules\Logs\DataTables;
|
namespace Modules\Logs\DataTables;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Builder as QueryBuilder;
|
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
use Jackiedo\LogReader\Exceptions\UnableToRetrieveLogFilesException;
|
use Jackiedo\LogReader\Exceptions\UnableToRetrieveLogFilesException;
|
||||||
use Jackiedo\LogReader\LogReader;
|
use Jackiedo\LogReader\LogReader;
|
||||||
use Spatie\Activitylog\Models\Activity;
|
|
||||||
use Yajra\DataTables\CollectionDataTable;
|
|
||||||
use Yajra\DataTables\EloquentDataTable;
|
|
||||||
use Yajra\DataTables\Html\Builder as HtmlBuilder;
|
|
||||||
use Yajra\DataTables\Html\Column;
|
use Yajra\DataTables\Html\Column;
|
||||||
use Yajra\DataTables\Services\DataTable;
|
use Yajra\DataTables\Services\DataTable;
|
||||||
|
|
||||||
@ -19,25 +14,28 @@
|
|||||||
/**
|
/**
|
||||||
* Build DataTable class.
|
* Build DataTable class.
|
||||||
*
|
*
|
||||||
* @param QueryBuilder $query Results from query() method.
|
* @param mixed $query Results from query() method.
|
||||||
*
|
*
|
||||||
* @return \Yajra\DataTables\DataTableAbstract
|
* @return \Yajra\DataTables\DataTableAbstract
|
||||||
*/
|
*/
|
||||||
public function dataTable(Collection $query)
|
public function dataTable($query)
|
||||||
: CollectionDataTable
|
|
||||||
{
|
{
|
||||||
return (new CollectionDataTable($query))->rawColumns([
|
return datatables()
|
||||||
'action',
|
->collection($query)
|
||||||
'level'
|
->rawColumns(['action', 'level'])
|
||||||
])->editColumn('id', function (Collection $model) {
|
->editColumn('id', function (Collection $model) {
|
||||||
return Str::limit($model->get('id'), 5, '');
|
return Str::limit($model->get('id'), 5, '');
|
||||||
})->editColumn('file_path', function (Collection $model) {
|
})
|
||||||
|
->editColumn('file_path', function (Collection $model) {
|
||||||
return Str::limit($model->get('file_path'));
|
return Str::limit($model->get('file_path'));
|
||||||
})->editColumn('message', function (Collection $model) {
|
})
|
||||||
|
->editColumn('message', function (Collection $model) {
|
||||||
return Str::limit($model->get('context')->message, 95);
|
return Str::limit($model->get('context')->message, 95);
|
||||||
})->editColumn('date', function (Collection $model) {
|
})
|
||||||
|
->editColumn('date', function (Collection $model) {
|
||||||
return $model->get('date')->format('d M, Y H:i:s');
|
return $model->get('date')->format('d M, Y H:i:s');
|
||||||
})->editColumn('level', function (Collection $model) {
|
})
|
||||||
|
->editColumn('level', function (Collection $model) {
|
||||||
$styles = [
|
$styles = [
|
||||||
'emergency' => 'danger',
|
'emergency' => 'danger',
|
||||||
'alert' => 'warning',
|
'alert' => 'warning',
|
||||||
@ -55,11 +53,13 @@
|
|||||||
$value = $model->get('level');
|
$value = $model->get('level');
|
||||||
|
|
||||||
return '<div class="badge badge-light-' . $style . ' fw-bolder">' . $value . '</div>';
|
return '<div class="badge badge-light-' . $style . ' fw-bolder">' . $value . '</div>';
|
||||||
})->editColumn('context', function (Collection $model) {
|
})
|
||||||
|
->editColumn('context', function (Collection $model) {
|
||||||
$content = $model->get('context');
|
$content = $model->get('context');
|
||||||
|
|
||||||
return view('logs::system._details', compact('content'));
|
return view('logs::system._details', compact('content'));
|
||||||
})->addColumn('action', function (Collection $model) {
|
})
|
||||||
|
->addColumn('action', function (Collection $model) {
|
||||||
return view('logs::system._action-menu', compact('model'));
|
return view('logs::system._action-menu', compact('model'));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -72,13 +72,12 @@
|
|||||||
* @return Collection
|
* @return Collection
|
||||||
*/
|
*/
|
||||||
public function query(LogReader $model)
|
public function query(LogReader $model)
|
||||||
: Collection
|
|
||||||
{
|
{
|
||||||
|
$data = collect();
|
||||||
$model->setLogPath(storage_path('logs'));
|
$model->setLogPath(storage_path('logs'));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$data = $model->get();
|
$data = $model->get()->merge($data);
|
||||||
} catch (UnableToRetrieveLogFilesException $exception) {
|
} catch (UnableToRetrieveLogFilesException $exception) {
|
||||||
echo $exception->getMessage();
|
echo $exception->getMessage();
|
||||||
exit;
|
exit;
|
||||||
@ -88,7 +87,6 @@
|
|||||||
return (collect($a))->only(['id', 'date', 'environment', 'level', 'file_path', 'context']);
|
return (collect($a))->only(['id', 'date', 'environment', 'level', 'file_path', 'context']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,7 +96,6 @@
|
|||||||
* @return \Yajra\DataTables\Html\Builder
|
* @return \Yajra\DataTables\Html\Builder
|
||||||
*/
|
*/
|
||||||
public function html()
|
public function html()
|
||||||
: HtmlBuilder
|
|
||||||
{
|
{
|
||||||
return $this->builder()
|
return $this->builder()
|
||||||
->setTableId('system-log-table')
|
->setTableId('system-log-table')
|
||||||
@ -118,7 +115,6 @@
|
|||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
protected function getColumns()
|
protected function getColumns()
|
||||||
: array
|
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
Column::make('id')->title('Log ID')->width(50),
|
Column::make('id')->title('Log ID')->width(50),
|
||||||
|
@ -3,11 +3,6 @@
|
|||||||
<!--end::Table-->
|
<!--end::Table-->
|
||||||
|
|
||||||
{{-- Inject Scripts --}}
|
{{-- Inject Scripts --}}
|
||||||
@push('scripts')
|
@section('scripts')
|
||||||
{{ $dataTable->scripts() }}
|
{{ $dataTable->scripts() }}
|
||||||
<script>
|
@endsection
|
||||||
document.getElementById('search').addEventListener('keyup', function () {
|
|
||||||
window.LaravelDataTables['audit-log-table'].search(this.value).draw();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@endpush
|
|
||||||
|
@ -1,29 +1,7 @@
|
|||||||
<x-default-layout>
|
<x-default-layout>
|
||||||
@section('title')
|
|
||||||
Audit Logs
|
|
||||||
@endsection
|
|
||||||
|
|
||||||
@section('breadcrumbs')
|
|
||||||
{{Breadcrumbs::render('logs.audit') }}
|
|
||||||
@endsection
|
|
||||||
|
|
||||||
<!--begin::Card-->
|
<!--begin::Card-->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<!--begin::Card header-->
|
|
||||||
<div class="card-header border-0 pt-6">
|
|
||||||
<!--begin::Card title-->
|
|
||||||
<div class="card-title">
|
|
||||||
<!--begin::Search-->
|
|
||||||
<div class="d-flex align-items-center position-relative my-1">
|
|
||||||
{!! getIcon('magnifier','fs-3 position-absolute ms-5') !!}
|
|
||||||
<input type="text" data-kt-user-table-filter="search" class="form-control form-control-solid w-250px ps-13" placeholder="Search Audit Logs" id="search"/>
|
|
||||||
</div>
|
|
||||||
<!--end::Search-->
|
|
||||||
</div>
|
|
||||||
<!--begin::Card title-->
|
|
||||||
</div>
|
|
||||||
<!--end::Card header-->
|
|
||||||
|
|
||||||
<!--begin::Card body-->
|
<!--begin::Card body-->
|
||||||
<div class="card-body pt-6">
|
<div class="card-body pt-6">
|
||||||
@include('logs::audit._table')
|
@include('logs::audit._table')
|
||||||
|
@ -3,11 +3,6 @@
|
|||||||
<!--end::Table-->
|
<!--end::Table-->
|
||||||
|
|
||||||
{{-- Inject Scripts --}}
|
{{-- Inject Scripts --}}
|
||||||
@push('scripts')
|
@section('scripts')
|
||||||
{{ $dataTable->scripts() }}
|
{{ $dataTable->scripts() }}
|
||||||
<script>
|
@endsection
|
||||||
document.getElementById('search').addEventListener('keyup', function () {
|
|
||||||
window.LaravelDataTables['system-log-table'].search(this.value).draw();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@endpush
|
|
||||||
|
@ -1,29 +1,7 @@
|
|||||||
<x-default-layout>
|
<x-default-layout>
|
||||||
@section('title')
|
|
||||||
System Logs
|
|
||||||
@endsection
|
|
||||||
|
|
||||||
@section('breadcrumbs')
|
|
||||||
{{ Breadcrumbs::render('logs.system') }}
|
|
||||||
@endsection
|
|
||||||
|
|
||||||
<!--begin::Card-->
|
<!--begin::Card-->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<!--begin::Card header-->
|
|
||||||
<div class="card-header border-0 pt-6">
|
|
||||||
<!--begin::Card title-->
|
|
||||||
<div class="card-title">
|
|
||||||
<!--begin::Search-->
|
|
||||||
<div class="d-flex align-items-center position-relative my-1">
|
|
||||||
{!! getIcon('magnifier','fs-3 position-absolute ms-5') !!}
|
|
||||||
<input type="text" data-kt-user-table-filter="search" class="form-control form-control-solid w-250px ps-13" placeholder="Search System Logs" id="search"/>
|
|
||||||
</div>
|
|
||||||
<!--end::Search-->
|
|
||||||
</div>
|
|
||||||
<!--begin::Card title-->
|
|
||||||
</div>
|
|
||||||
<!--end::Card header-->
|
|
||||||
|
|
||||||
<!--begin::Card body-->
|
<!--begin::Card body-->
|
||||||
<div class="card-body pt-6">
|
<div class="card-body pt-6">
|
||||||
@include('logs::system._table')
|
@include('logs::system._table')
|
||||||
|
Loading…
Reference in New Issue
Block a user