fix(permohonan): perbaikan tampilan dan logika akses pada halaman permohonan
- Menambahkan kondisi untuk menampilkan tombol "Tambah Permohonan" hanya untuk pengguna dengan peran 'administrator' dan 'pemohon-ao'. - Memperbaiki indentasi dan format HTML untuk tabel permohonan. - Mengoptimalkan logika untuk menampilkan aksi berdasarkan status permohonan dan peran pengguna. - Memperbaiki penanganan event input untuk pencarian data.
This commit is contained in:
@@ -22,7 +22,9 @@
|
|||||||
<div class="flex flex-wrap gap-2.5">
|
<div class="flex flex-wrap gap-2.5">
|
||||||
<div class="h-[24px] border border-r-gray-200"></div>
|
<div class="h-[24px] border border-r-gray-200"></div>
|
||||||
<a class="btn btn-sm btn-light" href="{{ route('permohonan.export') }}"> Export to Excel </a>
|
<a class="btn btn-sm btn-light" href="{{ route('permohonan.export') }}"> Export to Excel </a>
|
||||||
|
@if(auth()->user()->hasAnyRole(['administrator', 'pemohon-ao']))
|
||||||
<a class="btn btn-sm btn-primary" href="{{ route('permohonan.create') }}"> Tambah Permohonan </a>
|
<a class="btn btn-sm btn-primary" href="{{ route('permohonan.create') }}"> Tambah Permohonan </a>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -90,6 +92,10 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
|
<script>
|
||||||
|
const userRoles = @json(auth()->user()->roles->pluck('name'));
|
||||||
|
</script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function deleteData(data, noReg, debitur) {
|
function deleteData(data, noReg, debitur) {
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
@@ -213,6 +219,7 @@
|
|||||||
title: 'Actions',
|
title: 'Actions',
|
||||||
render: (item, data) => {
|
render: (item, data) => {
|
||||||
let actionHtml = `<div class="flex flex-nowrap justify-end gap-1.5">`;
|
let actionHtml = `<div class="flex flex-nowrap justify-end gap-1.5">`;
|
||||||
|
const hasRole = (roles) => roles.some(role => userRoles.includes(role));
|
||||||
|
|
||||||
if (data.status === 'proses-survey' || data.status == 'rejected-reschedule') {
|
if (data.status === 'proses-survey' || data.status == 'rejected-reschedule') {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
@@ -255,18 +262,17 @@ title="Approve Jadwal Kunjungan No Reg ${data.nomor_registrasi}"
|
|||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.status !== 'done' && data.status !== 'batal') {
|
if (data.status !== 'done' && data.status !== 'batal' && hasRole(['administrator', 'pemohon-ao'])) {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a class="btn btn-sm btn-outline btn-info" href="permohonan/${data.id}/edit" title="Edit Permohonan">
|
<a class="btn btn-sm btn-outline btn-info" href="permohonan/${data.id}/edit" title="Edit Permohonan">
|
||||||
<i class="ki-outline ki-notepad-edit"></i>
|
<i class="ki-outline ki-notepad-edit"></i>
|
||||||
</a>`;
|
</a>`;
|
||||||
}
|
}
|
||||||
if (data.status === 'order') {
|
if (data.status === 'order' && hasRole(['administrator', 'pemohon-ao'])) {
|
||||||
actionHtml += `
|
actionHtml += `
|
||||||
<a onclick="deleteData(${data.id}, '${data.nomor_registrasi}','${data.debiture?.name}')" class="delete btn btn-sm btn-outline btn-danger" title="Batalkan Permohonan">
|
<a onclick="deleteData(${data.id}, '${data.nomor_registrasi}','${data.debiture?.name}')" class="delete btn btn-sm btn-outline btn-danger" title="Batalkan Permohonan">
|
||||||
<i class="ki-outline ki-cross-square"></i>
|
<i class="ki-outline ki-cross-square"></i>
|
||||||
</a>`;
|
</a>`;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user