Skip to content

Commit

Permalink
Penyesuaian modul regulasi menggunakan datatable (#971)
Browse files Browse the repository at this point in the history
  • Loading branch information
arifpriadi authored Jun 14, 2024
1 parent f0c3670 commit 0b45009
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 72 deletions.
23 changes: 20 additions & 3 deletions app/Http/Controllers/Informasi/RegulasiController.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,36 @@

namespace App\Http\Controllers\Informasi;

use App\Models\Regulasi;
use App\Http\Controllers\Controller;
use App\Http\Requests\RegulasiRequest;
use App\Models\Regulasi;
use Yajra\DataTables\Facades\DataTables;

class RegulasiController extends Controller
{
public function index()
{
$page_title = 'Regulasi';
$page_description = 'Daftar Regulasi';
$regulasi = Regulasi::latest()->paginate(10); // TODO : Gunakan datatable

return view('informasi.regulasi.index', compact('page_title', 'page_description', 'regulasi'));
return view('informasi.regulasi.index', compact('page_title', 'page_description'));
}

public function getDataRegulasi()
{
return DataTables::of(Regulasi::query())
->addColumn('aksi', function ($row) {
$data['show_url'] = route('informasi.regulasi.show', $row->id);

if (! auth()->guest()) {
$data['edit_url'] = route('informasi.regulasi.edit', $row->id);
$data['delete_url'] = route('informasi.regulasi.destroy', $row->id);
}

$data['download_url'] = route('informasi.regulasi.download', $row->id);

return view('forms.aksi', $data);
})->make();
}

public function create()
Expand Down
3 changes: 2 additions & 1 deletion catatan_rilis.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ Di rilis versi v2406.1.0 di versi ini terdapat [untuk diisi] dan perbaikan lain
#### TEKNIS

1. [#845](https://github.com/OpenSID/OpenDK/issues/845) Penggunaan laravel pint.
2. [#957](https://github.com/OpenSID/OpenDK/issues/957) Penyesuaian carbon menggunakan bawaan laravel.
2. [#957](https://github.com/OpenSID/OpenDK/issues/957) Penyesuaian carbon menggunakan bawaan laravel.
3. [#968](https://github.com/OpenSID/OpenDK/issues/968) Penyesuaian modul regulasi menggunakan datatable.
128 changes: 60 additions & 68 deletions resources/views/informasi/regulasi/index.blade.php
Original file line number Diff line number Diff line change
@@ -1,78 +1,70 @@
@extends('layouts.dashboard_template')

@section('content')
<section class="content-header">
<h1>
{{ $page_title ?? 'Page Title' }}
<small>{{ $page_description ?? '' }}</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ route('dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">{!! $page_title !!}</li>
</ol>
</section>

<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
{{ $page_title ?? 'Page Title' }}
<small>{{ $page_description ?? '' }}</small>
</h1>
<ol class="breadcrumb">
<li><a href="{{ route('dashboard') }}"><i class="fa fa-dashboard"></i> Dashboard</a></li>
<li class="active">{{ $page_title }}</li>
</ol>
</section>
<section class="content container-fluid">
@include('partials.flash_message')

<section class="content container-fluid">

@include('partials.flash_message')

<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<div class="box-header with-border">
<a href="{{ route('informasi.regulasi.create') }}" class="btn btn-success btn-sm {{ auth()->guest() ? 'hidden' : '' }}" title="Tambah"><i class="fa fa-plus"></i>&ensp; Tambah</a>
</div>
@if (count($regulasi) > 0)
<div class="box-body">
<div class="table-responsive">
<table class="table table-striped">
<tr>
<th style="width: 150px">Aksi</th>
<th>Judul Regulasi</th>
</tr>

@foreach ($regulasi as $item)
<tr>

<td class="text-center text-nowrap">
@if (!auth()->guest())
<?php
// TODO : Pindahkan ke controller dan gunakan datatable
$data['show_url'] = route('informasi.regulasi.show', $item->id);
$data['edit_url'] = route('informasi.regulasi.edit', $item->id);
$data['delete_url'] = route('informasi.regulasi.destroy', $item->id);
$data['download_url'] = route('informasi.regulasi.download', $item->id);
echo view('forms.aksi', $data);
?>
@endif
</td>

<td>{{ $item->judul }}</td>

</tr>
@endforeach
</table>
</div>

<div class="box-footer clearfix">
{!! $regulasi->links() !!}
</div>
</div>
@else
<div class="box-body">
<h3>Data tidak ditemukan.</h3>
</div>
@endif
</div>
<div class="box box-primary">
<div class="box-header with-border">
<a href="{{ route('informasi.regulasi.create') }}"
class="btn btn-success btn-sm btn-social {{ auth()->guest() ? 'hidden' : '' }}" title="Tambah Data"><i
class="fa fa-plus"></i>&nbsp;Tambah</a>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" id="regulasi-table">
<thead>
<tr>
<th style="max-width: 150px;">Aksi</th>
<th>Judul </th>
</tr>
</thead>
</table>
</div>
</div>
</section>
</div>
</section>
@endsection

@include('partials.asset_datatables')

@push('scripts')
@include('forms.delete-modal')
@endpush
<script type="text/javascript">
$(document).ready(function() {
var data = $('#regulasi-table').DataTable({
processing: true,
serverSide: false,
ajax: "{!! route('informasi.regulasi.getdata') !!}",
columns: [{
data: 'aksi',
name: 'aksi',
class: 'text-center text-nowrap',
searchable: false,
orderable: false
},
{
data: 'judul',
name: 'judul',
},
],
order: [
[1, 'asc']
]
});
});
</script>
@include('forms.datatable-vertical')
@include('forms.delete-modal')
@endpush
1 change: 1 addition & 0 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@
Route::group(['prefix' => 'regulasi'], function () {
Route::get('/', ['as' => 'informasi.regulasi.index', 'uses' => 'RegulasiController@index']);
Route::get('show/{regulasi}', ['as' => 'informasi.regulasi.show', 'uses' => 'RegulasiController@show']);
Route::get('getdata', ['as' => 'informasi.regulasi.getdata', 'uses' => 'RegulasiController@getDataRegulasi']);
Route::get('create', ['as' => 'informasi.regulasi.create', 'uses' => 'RegulasiController@create']);
Route::post('store', ['as' => 'informasi.regulasi.store', 'uses' => 'RegulasiController@store']);
Route::get('edit/{regulasi}', ['as' => 'informasi.regulasi.edit', 'uses' => 'RegulasiController@edit']);
Expand Down

0 comments on commit 0b45009

Please sign in to comment.