Compare commits
3 Commits
c3aee398c2
...
00b785dbae
Author | SHA1 | Date | |
---|---|---|---|
00b785dbae | |||
69d8be9b5f | |||
7228b68367 |
@ -58,10 +58,10 @@
|
|||||||
$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) {
|
|
||||||
return view('logs::system._action-menu', compact('model'));
|
|
||||||
});
|
});
|
||||||
|
// ->addColumn('action', function (Collection $model) {
|
||||||
|
// return view('logs::system._action-menu', compact('model'));
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -121,11 +121,11 @@
|
|||||||
Column::make('message'),
|
Column::make('message'),
|
||||||
Column::make('level'),
|
Column::make('level'),
|
||||||
Column::make('date')->width(130),
|
Column::make('date')->width(130),
|
||||||
Column::computed('action')
|
// Column::computed('action')
|
||||||
->exportable(false)
|
// ->exportable(false)
|
||||||
->printable(false)
|
// ->printable(false)
|
||||||
->addClass('text-center')
|
// ->addClass('text-center')
|
||||||
->responsivePriority(-1),
|
// ->responsivePriority(-1),
|
||||||
Column::make('environment')->addClass('none'),
|
Column::make('environment')->addClass('none'),
|
||||||
Column::make('file_path')->title(__('Log Path'))->addClass('none'),
|
Column::make('file_path')->title(__('Log Path'))->addClass('none'),
|
||||||
Column::make('context')->addClass('none'),
|
Column::make('context')->addClass('none'),
|
||||||
|
@ -5,9 +5,20 @@
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Modules\Logs\DataTables\AuditLogsDataTable;
|
use Modules\Logs\DataTables\AuditLogsDataTable;
|
||||||
use Spatie\Activitylog\Models\Activity;
|
use Spatie\Activitylog\Models\Activity;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
|
||||||
class AuditLogsController extends Controller
|
class AuditLogsController extends Controller
|
||||||
{
|
{
|
||||||
|
public $user;
|
||||||
|
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->middleware(function ($request, $next) {
|
||||||
|
$this->user = Auth::guard('web')->user();
|
||||||
|
return $next($request);
|
||||||
|
});
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Display a listing of the resource.
|
* Display a listing of the resource.
|
||||||
*
|
*
|
||||||
@ -27,9 +38,15 @@
|
|||||||
*/
|
*/
|
||||||
public function destroy($id)
|
public function destroy($id)
|
||||||
{
|
{
|
||||||
|
if (is_null($this->user) || !$this->user->can('logs.delete')) {
|
||||||
|
abort(403, 'Sorry !! You are Unauthorized to delete any data !');
|
||||||
|
}
|
||||||
|
|
||||||
$activity = Activity::find($id);
|
$activity = Activity::find($id);
|
||||||
|
|
||||||
// Delete from db
|
// Delete from db
|
||||||
$activity->delete();
|
$activity->delete();
|
||||||
|
|
||||||
|
echo json_encode(['status' => 'success', 'message' => 'Data deleted successfully.']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,21 @@
|
|||||||
|
@php
|
||||||
|
$route = explode('.', Route::currentRouteName());
|
||||||
|
@endphp
|
||||||
<!--begin::Action--->
|
<!--begin::Action--->
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<button data-destroy="{{ route('logs.audit.destroy', $model->id) }}" class="btn btn-sm btn-light btn-active-light-primary">
|
<!-- <button data-destroy="{{ route('logs.audit.destroy', $model->id) }}" class="btn btn-sm btn-light btn-active-light-primary">
|
||||||
Delete
|
Delete
|
||||||
</button>
|
</button> -->
|
||||||
|
|
||||||
|
@can('logs.delete')
|
||||||
|
{!! Form::open(['method' => 'DELETE','route' => [$route[0].'.audit.destroy', $model->id],'class'=>'']) !!}
|
||||||
|
{{ Form::button(
|
||||||
|
getIcon("trash", "fs-1 text-danger","duotune"),
|
||||||
|
[ 'type' => 'submit',
|
||||||
|
'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm']
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
{!! Form::close() !!}
|
||||||
|
@endcan
|
||||||
</td>
|
</td>
|
||||||
<!--end::Action--->
|
<!--end::Action--->
|
||||||
|
@ -6,3 +6,102 @@
|
|||||||
@section('scripts')
|
@section('scripts')
|
||||||
{{ $dataTable->scripts() }}
|
{{ $dataTable->scripts() }}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@push('customscript')
|
||||||
|
@php
|
||||||
|
$route = explode('.', Route::currentRouteName());
|
||||||
|
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#searchbox").on("keyup search input paste cut", function () {
|
||||||
|
LaravelDataTables["audit-log-table"].search(this.value).draw();
|
||||||
|
});
|
||||||
|
|
||||||
|
const documentTitle = 'Log Audit Report';
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["audit-log-table"], {
|
||||||
|
buttons: [
|
||||||
|
// {
|
||||||
|
// extend: 'copyHtml5',
|
||||||
|
// title: documentTitle
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
extend: 'excelHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'csvHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'pdfHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'print',
|
||||||
|
title: documentTitle
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}).container().appendTo($('#kt_datatable_example_buttons'));
|
||||||
|
|
||||||
|
// Hook dropdown menu click event to datatable export buttons
|
||||||
|
const exportButtons = document.querySelectorAll('#kt_datatable_example_export_menu [data-kt-export]');
|
||||||
|
exportButtons.forEach(exportButton => {
|
||||||
|
exportButton.addEventListener('click', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
console.log(e.target.getAttribute('data-kt-export'));
|
||||||
|
// Get clicked export value
|
||||||
|
const exportValue = e.target.getAttribute('data-kt-export');
|
||||||
|
const target = document.querySelector('.dt-buttons .buttons-' + exportValue);
|
||||||
|
|
||||||
|
// Trigger click event on hidden datatable export buttons
|
||||||
|
target.click();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// delete
|
||||||
|
LaravelDataTables["audit-log-table"].on('click', '.delete', function (event) {
|
||||||
|
var form = $(this).closest("form");
|
||||||
|
event.preventDefault();
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Are you sure?',
|
||||||
|
text: "You won't be able to revert this!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes, delete it!'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: form.attr('action'),
|
||||||
|
data: form.serialize(), // serializes the form's elements.
|
||||||
|
success: function (response) {
|
||||||
|
const obj = JSON.parse(response);
|
||||||
|
|
||||||
|
toastr.success(obj.message, 'Success!', {timeOut: 5000});
|
||||||
|
LaravelDataTables["audit-log-table"].ajax.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
// delete
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@section('styles')
|
||||||
|
<style>
|
||||||
|
.dataTables_filter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@endsection
|
@ -2,6 +2,83 @@
|
|||||||
|
|
||||||
<!--begin::Card-->
|
<!--begin::Card-->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header border-0 pt-5">
|
||||||
|
<div class="card-title align-items-start flex-column">
|
||||||
|
<div class="d-flex align-items-center position-relative my-1">
|
||||||
|
<!--begin::Svg Icon | path: icons/duotune/general/gen021.svg-->
|
||||||
|
<span class="svg-icon svg-icon-1 position-absolute ms-6">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||||
|
<rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1" transform="rotate(45 17.0365 15.1223)" fill="currentColor"></rect>
|
||||||
|
<path d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z" fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<!--end::Svg Icon-->
|
||||||
|
<input type="text" id="searchbox"
|
||||||
|
class="form-control form-control-solid border border-gray-300 w-250px ps-15"
|
||||||
|
placeholder="Search">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--begin::Export buttons-->
|
||||||
|
<div id="kt_datatable_example_1_export" class="d-none"></div>
|
||||||
|
<!--end::Export buttons-->
|
||||||
|
|
||||||
|
<div class="card-toolbar">
|
||||||
|
|
||||||
|
<!--begin::Export dropdown-->
|
||||||
|
<button type="button" class="btn btn-light-primary" data-kt-menu-trigger="click"
|
||||||
|
data-kt-menu-placement="bottom-end">
|
||||||
|
<i class="ki-duotone ki-exit-down fs-2"><span class="path1"></span><span class="path2"></span></i>
|
||||||
|
Export Report
|
||||||
|
</button>
|
||||||
|
<!--begin::Menu-->
|
||||||
|
<div id="kt_datatable_example_export_menu"
|
||||||
|
class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-semibold fs-7 w-200px py-4"
|
||||||
|
data-kt-menu="true">
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="copy">
|
||||||
|
Copy to clipboard
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="excel">
|
||||||
|
Export as Excel
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="csv">
|
||||||
|
Export as CSV
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="pdf">
|
||||||
|
Export as PDF
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="print">
|
||||||
|
Print
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--begin::Hide default export buttons-->
|
||||||
|
<div id="kt_datatable_example_buttons" class="d-none"></div>
|
||||||
|
<!--end::Hide default export buttons-->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--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')
|
||||||
|
@ -1,7 +1,26 @@
|
|||||||
|
@php
|
||||||
|
$route = explode('.', Route::currentRouteName());
|
||||||
|
@endphp
|
||||||
|
|
||||||
<!--begin::Action--->
|
<!--begin::Action--->
|
||||||
<td class="text-end">
|
<td class="text-end">
|
||||||
<button data-destroy="{{ route('logs.system.destroy', $model->get('id')) }}" class="btn btn-sm btn-light btn-active-light-primary">
|
<!-- <form method="POST" action="{{ route('logs.system.destroy', $model->get('id')) }}" accept-charset="UTF-8" class="">
|
||||||
Delete
|
<input name="_method" type="hidden" value="DELETE">
|
||||||
|
<input name="_token" type="hidden" value="bUDm5yZ7X0r06W784dAAJO9iT5spemL1vW7vRcFK">
|
||||||
|
<button type="submit" class="delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm">
|
||||||
|
<span class="ki-duotone ki-trash fs-1 text-danger"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span><span class="path5"></span></span>
|
||||||
</button>
|
</button>
|
||||||
|
</form> -->
|
||||||
|
|
||||||
|
@can('logs.delete')
|
||||||
|
{!! Form::open(['method' => 'DELETE','route' => [$route[0].'.system.destroy', $model->get('id')],'class'=>'']) !!}
|
||||||
|
{{ Form::button(
|
||||||
|
getIcon("trash", "fs-1 text-danger","duotune"),
|
||||||
|
[ 'type' => 'submit',
|
||||||
|
'class' => 'delete btn btn-icon btn-bg-light btn-active-light-danger btn-sm']
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
{!! Form::close() !!}
|
||||||
|
@endcan
|
||||||
</td>
|
</td>
|
||||||
<!--end::Action--->
|
<!--end::Action--->
|
||||||
|
@ -6,3 +6,102 @@
|
|||||||
@section('scripts')
|
@section('scripts')
|
||||||
{{ $dataTable->scripts() }}
|
{{ $dataTable->scripts() }}
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@push('customscript')
|
||||||
|
@php
|
||||||
|
$route = explode('.', Route::currentRouteName());
|
||||||
|
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#searchbox").on("keyup search input paste cut", function () {
|
||||||
|
LaravelDataTables["system-log-table"].search(this.value).draw();
|
||||||
|
});
|
||||||
|
|
||||||
|
const documentTitle = 'Log System Report';
|
||||||
|
|
||||||
|
$(function () {
|
||||||
|
var buttons = new $.fn.dataTable.Buttons(LaravelDataTables["system-log-table"], {
|
||||||
|
buttons: [
|
||||||
|
// {
|
||||||
|
// extend: 'copyHtml5',
|
||||||
|
// title: documentTitle
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
extend: 'excelHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'csvHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'pdfHtml5',
|
||||||
|
title: documentTitle
|
||||||
|
},
|
||||||
|
{
|
||||||
|
extend: 'print',
|
||||||
|
title: documentTitle
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}).container().appendTo($('#kt_datatable_example_buttons'));
|
||||||
|
|
||||||
|
// Hook dropdown menu click event to datatable export buttons
|
||||||
|
const exportButtons = document.querySelectorAll('#kt_datatable_example_export_menu [data-kt-export]');
|
||||||
|
exportButtons.forEach(exportButton => {
|
||||||
|
exportButton.addEventListener('click', e => {
|
||||||
|
e.preventDefault();
|
||||||
|
console.log(e.target.getAttribute('data-kt-export'));
|
||||||
|
// Get clicked export value
|
||||||
|
const exportValue = e.target.getAttribute('data-kt-export');
|
||||||
|
const target = document.querySelector('.dt-buttons .buttons-' + exportValue);
|
||||||
|
|
||||||
|
// Trigger click event on hidden datatable export buttons
|
||||||
|
target.click();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// delete
|
||||||
|
LaravelDataTables["system-log-table"].on('click', '.delete', function (event) {
|
||||||
|
var form = $(this).closest("form");
|
||||||
|
event.preventDefault();
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Are you sure?',
|
||||||
|
text: "You won't be able to revert this!",
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: '#3085d6',
|
||||||
|
cancelButtonColor: '#d33',
|
||||||
|
confirmButtonText: 'Yes, delete it!'
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: form.attr('action'),
|
||||||
|
data: form.serialize(), // serializes the form's elements.
|
||||||
|
success: function (response) {
|
||||||
|
const obj = JSON.parse(response);
|
||||||
|
|
||||||
|
toastr.success(obj.message, 'Success!', {timeOut: 5000});
|
||||||
|
LaravelDataTables["system-log-table"].ajax.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
// delete
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@section('styles')
|
||||||
|
<style>
|
||||||
|
.dataTables_filter {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
@endsection
|
@ -2,6 +2,84 @@
|
|||||||
|
|
||||||
<!--begin::Card-->
|
<!--begin::Card-->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
|
<div class="card-header border-0 pt-5">
|
||||||
|
<div class="card-title align-items-start flex-column">
|
||||||
|
<div class="d-flex align-items-center position-relative my-1">
|
||||||
|
<!--begin::Svg Icon | path: icons/duotune/general/gen021.svg-->
|
||||||
|
<span class="svg-icon svg-icon-1 position-absolute ms-6">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
|
||||||
|
<rect opacity="0.5" x="17.0365" y="15.1223" width="8.15546" height="2" rx="1" transform="rotate(45 17.0365 15.1223)" fill="currentColor"></rect>
|
||||||
|
<path d="M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z" fill="currentColor"></path>
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
<!--end::Svg Icon-->
|
||||||
|
<input type="text" id="searchbox"
|
||||||
|
class="form-control form-control-solid border border-gray-300 w-250px ps-15"
|
||||||
|
placeholder="Search">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--begin::Export buttons-->
|
||||||
|
<div id="kt_datatable_example_1_export" class="d-none"></div>
|
||||||
|
<!--end::Export buttons-->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card-toolbar">
|
||||||
|
|
||||||
|
<!--begin::Export dropdown-->
|
||||||
|
<button type="button" class="btn btn-light-primary" data-kt-menu-trigger="click"
|
||||||
|
data-kt-menu-placement="bottom-end">
|
||||||
|
<i class="ki-duotone ki-exit-down fs-2"><span class="path1"></span><span class="path2"></span></i>
|
||||||
|
Export Report
|
||||||
|
</button>
|
||||||
|
<!--begin::Menu-->
|
||||||
|
<div id="kt_datatable_example_export_menu"
|
||||||
|
class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-600 menu-state-bg-light-primary fw-semibold fs-7 w-200px py-4"
|
||||||
|
data-kt-menu="true">
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="copy">
|
||||||
|
Copy to clipboard
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="excel">
|
||||||
|
Export as Excel
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="csv">
|
||||||
|
Export as CSV
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="pdf">
|
||||||
|
Export as PDF
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
<!--begin::Menu item-->
|
||||||
|
<div class="menu-item px-3">
|
||||||
|
<a href="#" class="menu-link px-3" data-kt-export="print">
|
||||||
|
Print
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<!--end::Menu item-->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--begin::Hide default export buttons-->
|
||||||
|
<div id="kt_datatable_example_buttons" class="d-none"></div>
|
||||||
|
<!--end::Hide default export buttons-->
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--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')
|
||||||
|
@ -18,5 +18,6 @@
|
|||||||
Route::prefix('logs')->name('logs.')->group(function () {
|
Route::prefix('logs')->name('logs.')->group(function () {
|
||||||
Route::resource('system', SystemLogsController::class)->only(['index', 'destroy']);
|
Route::resource('system', SystemLogsController::class)->only(['index', 'destroy']);
|
||||||
Route::resource('audit', AuditLogsController::class)->only(['index', 'destroy']);
|
Route::resource('audit', AuditLogsController::class)->only(['index', 'destroy']);
|
||||||
|
// Route::delete('/tipedokumen/{tipedokumen}', 'destroy')->name('tipedokumen.destroy');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user