fix(debitur): perbaikan logika akses dan tampilan pada halaman debitur
- Menambahkan logika untuk membatasi akses data berdasarkan cabang pengguna. - Mengubah relasi pada model Debiture dari hasOne menjadi hasMany untuk permohonan. - Memperbarui tampilan untuk menampilkan dropdown cabang hanya untuk pengguna dengan peran administrator. - Menambahkan input tersembunyi untuk cabang pengguna yang bukan administrator. - Memperbarui logika di halaman index untuk memeriksa peran pengguna.
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
use Modules\Lpj\Models\JenisJaminan;
|
||||
use Modules\Lpj\Models\JenisLegalitasJaminan;
|
||||
use Modules\Lpj\Models\PemilikJaminan;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class DebitureController extends Controller
|
||||
{
|
||||
@@ -128,6 +129,10 @@
|
||||
// Retrieve data from the database
|
||||
$query = Debiture::query();
|
||||
|
||||
if (!Auth::user()->hasAnyRole(['administrator'])) {
|
||||
$query = $query->where('branch_id', Auth::user()->branch_id);
|
||||
}
|
||||
|
||||
// Apply search filter if provided
|
||||
if ($request->has('search') && !empty($request->get('search'))) {
|
||||
$search = $request->get('search');
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
}
|
||||
|
||||
public function permohonan(){
|
||||
return $this->hasOne(Permohonan::class, 'debiture_id', 'id' );
|
||||
return $this->hasMany(Permohonan::class, 'debiture_id', 'id' );
|
||||
}
|
||||
|
||||
public function laporanAdminKredit(): HasMany
|
||||
|
||||
@@ -7,22 +7,22 @@
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
<label class="form-label max-w-56 gap-1">
|
||||
Cabang
|
||||
<span class="text-danger">
|
||||
*
|
||||
</span>
|
||||
<span class="text-danger">*</span>
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<select class="input tomselect w-full @error('branch_id') border-danger bg-danger-light @enderror" name="branch_id" id="branch_id">
|
||||
<option value="">Pilih Cabang</option>
|
||||
@foreach($branches as $branch)
|
||||
@if(isset($debitur))
|
||||
<option value="{{ $branch->id }}" {{ $branch->id == $debitur->branch_id ? 'selected' : '' }}>{{ $branch->name }}</option>
|
||||
@else
|
||||
<option value="{{ $branch->id }}">{{ $branch->name }}</option>
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
</select>
|
||||
@if(auth()->user()->hasRole('administrator'))
|
||||
<select class="input tomselect w-full @error('branch_id') border-danger bg-danger-light @enderror" name="branch_id" id="branch_id">
|
||||
<option value="">Pilih Cabang</option>
|
||||
@foreach($branches as $branch)
|
||||
<option value="{{ $branch->id }}" {{ (isset($debitur) && $branch->id == $debitur->branch_id) || (old('branch_id') == $branch->id) ? 'selected' : '' }}>
|
||||
{{ $branch->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
@else
|
||||
<input type="hidden" name="branch_id" value="{{ auth()->user()->branch_id }}">
|
||||
<input type="text" class="input w-full" value="{{ auth()->user()->branch->name }}" readonly>
|
||||
@endif
|
||||
@error('branch_id')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
</a>`;
|
||||
}
|
||||
|
||||
if (hasRole(['administrator']) && data.permohonan.length < 1) {
|
||||
if (hasRole(['administrator', 'pemohon-ao']) && data.permohonan.length < 1) {
|
||||
actionHtml += `
|
||||
<a onclick="deleteData(${data.id})" class="delete btn btn-sm btn-icon btn-clear btn-danger">
|
||||
<i class="ki-outline ki-trash"></i>
|
||||
|
||||
Reference in New Issue
Block a user