From 77be1b2685b97aa47080a2b800f10c6078f6b9de Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 4 Sep 2024 20:26:00 +0700 Subject: [PATCH 1/6] Update Module Jenis Legalitas Jaminan Penambahan Slug --- .../Requests/JenisLegalitasJaminanRequest.php | 29 ++++++++++++++----- app/Models/JenisLegalitasJaminan.php | 2 +- ...3_update_jenis_legalitas_jaminan_table.php | 28 ++++++++++++++++++ module.json | 8 ++--- .../jenis_legalitas_jaminan/create.blade.php | 6 ++-- 5 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 database/migrations/2024_09_04_082053_update_jenis_legalitas_jaminan_table.php 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/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/module.json b/module.json index 40ce5bd..2dbec76 100644 --- a/module.json +++ b/module.json @@ -104,16 +104,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/jenis_legalitas_jaminan/create.blade.php b/resources/views/jenis_legalitas_jaminan/create.blade.php index 5c89c8f..5b586a9 100644 --- a/resources/views/jenis_legalitas_jaminan/create.blade.php +++ b/resources/views/jenis_legalitas_jaminan/create.blade.php @@ -24,23 +24,25 @@
+ @if(isset($jenisLegalitasJaminan->id))
- + @error('code') {{ $message }} @enderror
+ @endif
- + @error('name') {{ $message }} @enderror From 3a787fb1767b46407856539f95e7c2a763481e63 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 4 Sep 2024 20:27:13 +0700 Subject: [PATCH 2/6] Update Module Jenis Jaminan - Penambahan Slug - Penambahan Funtcion to get legalitas jaminan by id jenis jaminan --- .../Controllers/JenisJaminanController.php | 18 ++++++-- app/Http/Requests/JenisJaminanRequest.php | 16 +++++-- app/Models/JenisJaminan.php | 4 +- ...9_04_082059_update_jenis_jaminan_table.php | 28 ++++++++++++ .../views/jenis_jaminan/create.blade.php | 44 ++++++++++++++----- routes/web.php | 1 + 6 files changed, 90 insertions(+), 21 deletions(-) create mode 100644 database/migrations/2024_09_04_082059_update_jenis_jaminan_table.php 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 +
+
+ +@push('scripts') + +@endpush