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/Controllers/PermohonanController.php b/app/Http/Controllers/PermohonanController.php index 1392157..ea6d5f3 100644 --- a/app/Http/Controllers/PermohonanController.php +++ b/app/Http/Controllers/PermohonanController.php @@ -66,13 +66,13 @@ { $permohonan = Permohonan::find($id); $branches = Branch::all(); - $debitures = Debiture::all(); + $debitur = Debiture::find($permohonan->debiture_id); $tujuanPenilaian = TujuanPenilaian::all(); $status = StatusPermohonan::all(); return view( 'lpj::permohonan.form', - compact('permohonan', 'branches', 'debitures', 'tujuanPenilaian', 'status'), + compact('permohonan', 'branches', 'debitur', 'tujuanPenilaian', 'status'), ); } 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/Http/Requests/JenisLegalitasJaminanRequest.php b/app/Http/Requests/JenisLegalitasJaminanRequest.php index b319443..1d5d98c 100644 --- a/app/Http/Requests/JenisLegalitasJaminanRequest.php +++ b/app/Http/Requests/JenisLegalitasJaminanRequest.php @@ -2,7 +2,9 @@ namespace Modules\Lpj\Http\Requests; + use daengdeni\LaravelIdGenerator\IdGenerator; use Illuminate\Foundation\Http\FormRequest; + use Illuminate\Support\Str; class JenisLegalitasJaminanRequest extends FormRequest { @@ -12,16 +14,11 @@ public function rules() : array { - $rules = [ + return [ + 'code' => 'required|max:6', 'name' => 'required|max:255', + 'slug' => 'required|max:255', ]; - - if ($this->method() == 'PUT') { - $rules['code'] = 'required|max:50|unique:jenis_legalitas_jaminan,code,' . $this->id; - } else { - $rules['code'] = 'required|max:50|unique:jenis_legalitas_jaminan,code'; - } - return $rules; } /** @@ -32,4 +29,20 @@ { return true; } + + public function prepareForValidation() + { + if($this->method() == 'POST' && $this->code == null) { + $this->merge([ + 'code' => IdGenerator::generate( + ['table' => 'jenis_legalitas_jaminan', 'length' => 6, 'prefix' => 'JLJ', 'field' => 'code'], + ), + 'slug' => Str::slug($this->name), + ]); + } else { + $this->merge([ + '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/app/Models/JenisLegalitasJaminan.php b/app/Models/JenisLegalitasJaminan.php index 8275104..2d7567c 100644 --- a/app/Models/JenisLegalitasJaminan.php +++ b/app/Models/JenisLegalitasJaminan.php @@ -7,5 +7,5 @@ class JenisLegalitasJaminan extends Base { protected $table = 'jenis_legalitas_jaminan'; - protected $fillable = ['code', 'name']; + protected $fillable = ['code', 'name','slug']; } diff --git a/database/migrations/2024_09_04_082053_update_jenis_legalitas_jaminan_table.php b/database/migrations/2024_09_04_082053_update_jenis_legalitas_jaminan_table.php new file mode 100644 index 0000000..f10bd3a --- /dev/null +++ b/database/migrations/2024_09_04_082053_update_jenis_legalitas_jaminan_table.php @@ -0,0 +1,28 @@ +string('slug')->nullable()->after('name'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('jenis_legalitas_jaminan', function (Blueprint $table) { + $table->dropColumn('slug'); + }); + } +}; 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/module.json b/module.json index de8b0cc..559e479 100644 --- a/module.json +++ b/module.json @@ -115,16 +115,16 @@ "roles": [] }, { - "title": "Jenis Jaminan", - "path": "basicdata.jenis-jaminan", + "title": "Jenis Legalitas Jaminan", + "path": "basicdata.jenis-legalitas-jaminan", "classes": "", "attributes": [], "permission": "", "roles": [] }, { - "title": "Jenis Legalitas Jaminan", - "path": "basicdata.jenis-legalitas-jaminan", + "title": "Jenis Jaminan", + "path": "basicdata.jenis-jaminan", "classes": "", "attributes": [], "permission": "", diff --git a/resources/views/arah_mata_angin/create.blade.php b/resources/views/arah_mata_angin/create.blade.php index 604546d..e3bc5c9 100644 --- a/resources/views/arah_mata_angin/create.blade.php +++ b/resources/views/arah_mata_angin/create.blade.php @@ -29,7 +29,7 @@ Name