Update Module Jenis Legalitas Jaminan

Penambahan Slug
This commit is contained in:
Daeng Deni Mardaeni 2024-09-04 20:26:00 +07:00
parent 22e2ff51f0
commit 77be1b2685
5 changed files with 58 additions and 15 deletions

View File

@ -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),
]);
}
}
}

View File

@ -7,5 +7,5 @@
class JenisLegalitasJaminan extends Base
{
protected $table = 'jenis_legalitas_jaminan';
protected $fillable = ['code', 'name'];
protected $fillable = ['code', 'name','slug'];
}

View File

@ -0,0 +1,28 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('jenis_legalitas_jaminan', function (Blueprint $table) {
$table->string('slug')->nullable()->after('name');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('jenis_legalitas_jaminan', function (Blueprint $table) {
$table->dropColumn('slug');
});
}
};

View File

@ -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": "",

View File

@ -24,23 +24,25 @@
</div>
</div>
<div class="card-body grid gap-5">
@if(isset($jenisLegalitasJaminan->id))
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Code
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('code') border-danger @enderror" type="text" name="code" value="{{ $jenisLegalitasJaminan->code ?? '' }}">
<input readonly class="input border-warning bg-warning-light @error('code') border-danger bg-danger-light @enderror" type="text" name="code" value="{{ $jenisLegalitasJaminan->code ?? '' }}">
@error('code')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
</div>
@endif
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">
Name
</label>
<div class="flex flex-wrap items-baseline w-full">
<input class="input @error('name') border-danger @enderror" type="text" name="name" value="{{ $jenisLegalitasJaminan->name ?? '' }}">
<input class="input @error('name') border-danger bg-danger-light @enderror" type="text" name="name" value="{{ $jenisLegalitasJaminan->name ?? '' }}">
@error('name')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror