From b79ccac8921ef19224fdf4c38f2c5fb74fe00ff3 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Sat, 22 Mar 2025 16:39:16 +0700 Subject: [PATCH] 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. --- app/Http/Controllers/DebitureController.php | 5 ++++ app/Models/Debiture.php | 2 +- .../debitur/components/debitur.blade.php | 28 +++++++++---------- resources/views/debitur/index.blade.php | 2 +- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/app/Http/Controllers/DebitureController.php b/app/Http/Controllers/DebitureController.php index f8703be..c8b6c8b 100644 --- a/app/Http/Controllers/DebitureController.php +++ b/app/Http/Controllers/DebitureController.php @@ -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'); diff --git a/app/Models/Debiture.php b/app/Models/Debiture.php index abe9e8a..9250779 100644 --- a/app/Models/Debiture.php +++ b/app/Models/Debiture.php @@ -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 diff --git a/resources/views/debitur/components/debitur.blade.php b/resources/views/debitur/components/debitur.blade.php index 7c927b3..688ac76 100644 --- a/resources/views/debitur/components/debitur.blade.php +++ b/resources/views/debitur/components/debitur.blade.php @@ -7,22 +7,22 @@
- + @if(auth()->user()->hasRole('administrator')) + + @else + + + @endif @error('branch_id') {{ $message }} @enderror diff --git a/resources/views/debitur/index.blade.php b/resources/views/debitur/index.blade.php index e0f8a77..aac8381 100644 --- a/resources/views/debitur/index.blade.php +++ b/resources/views/debitur/index.blade.php @@ -203,7 +203,7 @@ `; } - if (hasRole(['administrator']) && data.permohonan.length < 1) { + if (hasRole(['administrator', 'pemohon-ao']) && data.permohonan.length < 1) { actionHtml += `