From 77be1b2685b97aa47080a2b800f10c6078f6b9de Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Wed, 4 Sep 2024 20:26:00 +0700 Subject: [PATCH] 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