diff --git a/app/Http/Controllers/JenisJaminanController.php b/app/Http/Controllers/JenisJaminanController.php index f9736d2..e1cbe82 100644 --- a/app/Http/Controllers/JenisJaminanController.php +++ b/app/Http/Controllers/JenisJaminanController.php @@ -9,6 +9,7 @@ use Modules\Lpj\Exports\JenisJaminanExport; use Modules\Lpj\Http\Requests\JenisJaminanRequest; use Modules\Lpj\Models\JenisJaminan; + use Modules\Lpj\Models\JenisLegalitasJaminan; class JenisJaminanController extends Controller { @@ -40,13 +41,15 @@ public function create() { - return view('lpj::jenis_jaminan.create'); + $jenisLegalitasJaminan = JenisLegalitasJaminan::all(); + return view('lpj::jenis_jaminan.create', compact('jenisLegalitasJaminan')); } public function edit($id) { - $jenisJaminan = JenisJaminan::find($id); - return view('lpj::jenis_jaminan.create', compact('jenisJaminan')); + $jenisJaminan = JenisJaminan::find($id); + $jenisLegalitasJaminan = JenisLegalitasJaminan::all(); + return view('lpj::jenis_jaminan.create', compact('jenisJaminan', 'jenisLegalitasJaminan')); } public function update(JenisJaminanRequest $request, $id) @@ -147,4 +150,13 @@ { return Excel::download(new JenisJaminanExport, 'jenis_jaminan.xlsx'); } + + public function legalitasJaminan($id) + { + $jenisJaminan = JenisJaminan::find($id); + $legalitasJaminan = $jenisJaminan->jenis_legalitas_jaminan_id; + + $legalitas = JenisLegalitasJaminan::whereIn('code', json_decode($legalitasJaminan, true))->get(); + echo json_encode($legalitas); + } } diff --git a/app/Http/Requests/JenisJaminanRequest.php b/app/Http/Requests/JenisJaminanRequest.php index 0295054..6f0325c 100644 --- a/app/Http/Requests/JenisJaminanRequest.php +++ b/app/Http/Requests/JenisJaminanRequest.php @@ -2,8 +2,9 @@ namespace Modules\Lpj\Http\Requests; - use Haruncpi\LaravelIdGenerator\IdGenerator; + use daengdeni\LaravelIdGenerator\IdGenerator; use Illuminate\Foundation\Http\FormRequest; + use Illuminate\Support\Str; class JenisJaminanRequest extends FormRequest { @@ -14,8 +15,10 @@ : array { return [ - 'code' => 'required|max:5', - 'name' => 'required|max:255', + 'code' => 'required|max:5', + 'name' => 'required|max:255', + 'slug' => 'required|max:255', + 'jenis_legalitas_jaminan_id' => 'nullable', ]; } @@ -35,8 +38,13 @@ $this->merge([ 'code' => IdGenerator::generate( ['table' => 'jenis_jaminan', 'length' => 5, 'prefix' => 'JJ', 'field' => 'code'], - ), + ) ]); } + + $this->merge([ + 'jenis_legalitas_jaminan_id' => json_encode($this->jenis_legalitas_jaminan_id), + 'slug' => Str::slug($this->name), + ]); } } diff --git a/app/Models/JenisJaminan.php b/app/Models/JenisJaminan.php index 1820e50..43ab899 100644 --- a/app/Models/JenisJaminan.php +++ b/app/Models/JenisJaminan.php @@ -2,10 +2,8 @@ namespace Modules\Lpj\Models; - use Modules\Lpj\Database\Factories\JenisJaminanFactory; - class JenisJaminan extends Base { protected $table = 'jenis_jaminan'; - protected $fillable = ['code', 'name']; + protected $fillable = ['code', 'name','slug','jenis_legalitas_jaminan_id']; } diff --git a/database/migrations/2024_09_04_082059_update_jenis_jaminan_table.php b/database/migrations/2024_09_04_082059_update_jenis_jaminan_table.php new file mode 100644 index 0000000..0f96b67 --- /dev/null +++ b/database/migrations/2024_09_04_082059_update_jenis_jaminan_table.php @@ -0,0 +1,28 @@ +string('jenis_legalitas_jaminan_id')->nullable()->after('slug'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('jenis_jaminan', function (Blueprint $table) { + $table->dropColumn('jenis_legalitas_jaminan_id'); + }); + } +}; diff --git a/resources/views/jenis_jaminan/create.blade.php b/resources/views/jenis_jaminan/create.blade.php index e627502..ed04b81 100644 --- a/resources/views/jenis_jaminan/create.blade.php +++ b/resources/views/jenis_jaminan/create.blade.php @@ -24,28 +24,50 @@
-
- -
- - @error('code') - {{ $message }} - @enderror + @if(isset($jenisJaminan->id)) +
+ +
+ + @error('code') + {{ $message }} + @enderror +
-
+ @endif
- + @error('name') {{ $message }} @enderror
+ +
+ +
+ @foreach($jenisLegalitasJaminan as $row) + + @endforeach +
+